Simulador para la evaluación de tiempos de respuesta en transacciones distribuidas y para el estudio de recuperación de errores - Miaton, Ivana Carla (2001)
Un sistema distribuido de tiempo real debe interactuar con el mundo real, en puntos físicamente distantes, en períodos de tiempo que vienen determinados por el contexto o las restricciones de la especificación (en muchos casos a partir de una activación asincrónica). La evolución tecnológica en el tratamiento de señales (locales y remotas) y en los sistemas de comunicaciones ha impulsado enormemente esta área temática, sobre todo en los aspectos de planificación, desarrollo y verificación de software para Sistemas Distribuidos de Tiempo Real. Algunas de las dificultades principales del desarrollo de software para sistemas de tiempo real son: • Procesar mensajes que arriban en forma asincrónica, con diferentes velocidades y diferentes prioridades • Detectar y controlar condiciones de falla. Prever diferentes grados de recuperación del sistema. • Modelizar condiciones de concurrencia en un conjunto apropiado de procesos. • Manejar las comunicaciones inter-procesos e inter-procesadores. • Proteger datos compartidos por procesos concurrentes. • Organizar (schedule) y despachar la atención de procesos. • Manejar las restricciones de tiempo y performance. • Relacionarse con uno o múltiples relojes de tiempo real. • Testear y poner a punto un sistema que normalmente está distribuido en diferentes procesadores. • Elaborar herramientas de software que permitan simular o emular dispositivos o eventos de hardware no disponibles en el desarrollo. • Reducir y estructurar los requerimientos. • Seleccionar la estructura de hardware adecuada. En este contexto de estudio de SDTR y en particular de transacciones con restricciones de respuesta en tiempo, interesa modelar e implementar un ambiente de simulación para el mantenimiento y recuperación de datos en un sistema de BDD, donde se puedan estudiar, monitorear, medir y comparar tiempos de respuesta al ejecutar transacciones distribuidas (concurrentes o no) considerando la posibilidad de fallos de cualquiera de las localidades involucradas en la misma. Otro aspecto importante dentro del objetivo, es generar de manera parametrizable diferentes trazas de ejecución de transacciones, representando cada una de ellas entornos diferentes de distribución de información.