1 Objetivos Presentar el estado del arte en el desarrollo de técnicas y métodos de tolerancia a fallas aplicables a sistemas de tiempo real. Comprobar en forma práctica, los alcances de técnicas sobre tolerancia a fallas usando replicación. Probar a RT-Minix como base confiable para desarrollos reales, mediante extensiones y aplicaciones.
2 Contenido Conceptos sobre Sistemas de Tiempo Real Conceptos sobre Tolerancia a Fallas Estado del Arte de la Tolerancia a Fallas en Sistemas de Tiempo Real Replicación de Sensores en un Modelo Real Conclusiones y Trabajo Futuro
3 Sistemas de Tiempo Real Definiciones Aquellos sistemas que no sólo tienen que producir resultados correctos, sino que tienen que realizarlos en un momento determinado. Consecuencias catastróficas si no se cumplen los restricciones temporales impuestas.
4 Sistemas de Tiempo Real (cont.) Clasificación Duros (Hard) Restricciones de tiempo estrictas Consecuencias catastróficas si se pierden metas Ejemplo: control de un reactor nuclear Blandos (Soft) Restricciones de tiempo menos rigurosas El cálculo pierde valor si se pierden metas Ejemplo: reservas de pasajes en línea
5 Sistemas de Tiempo Real (cont.) Esquema General
6 Sistemas de Tiempo Real (cont.) Acciones básicas Monitoreo Control Actuación Componentes clásicos Sensores Entorno Actuadores
7 Tolerancia a Fallas Un sistema falla cuando deja de proveer el servicio que debe prestar.
Un sistema es tolerante a fallas si continua proveyendo los servicios especificados aún en presencia de fallas de hardware o errores de software.
8 Definiciones Falla Defecto dentro de un componente de hardware o software Error Manifestación de una falla
Avería No realización de alguna acción esperada Tolerancia a Fallas (cont.)
9 Tolerancia a Fallas (cont.) Clases de Fallas Permanentes Falla total de un componente Transitorias Mal funcionamiento temporario Intermitentes Mal funcionamiento temporario que se repite con frecuencia
10 Tolerancia a Fallas (cont.) Ocurrencias Las fallas transitorias son órdenes de magnitud más comunes que las fallas permanentes Ejemplo: La nave Voyager sufrió 42 fallas transitorias (SEU – single event upset) y ninguna falla permanente en la intensa radiación alrededor de Júpiter. Elasticidad: habilidad para tolerar una segunda falla tras recuperar de una primera
11 Tolerancia a Fallas (cont.) Redundancia de Información replicación de datos, códigos de correción de errores. de Recursos se agrega equipo adicional para tolerar la pérdida o mal funcionamiento de ciertos componentes de Tiempo se realiza una acción, y de ser necesario, se vuelve a realizar
12 Estado del Arte Revisión de Avances en: Técnicas de Especificación y Diseño Algoritmos de Planificación Uso de Sensores y Actuadores
13 Estado del Arte (cont.) Especificación y Diseño Lógica Temporal Evaluación de la Latencia de Tolerancia a Fallas Especificación y Verificación Formal para Sistemas Digitales de Control de Vuelo
14 Estado del Arte (cont.) Algoritmos de Planificación Garantía de Tolerancia a Fallas mediante Planificación Tasa Monotónica Tolerante a Fallas (FT-RMS) Integración de Planificación y Tolerancia a Fallas Planificación y Tolerancia a fallas el ejemplo de Marte
15 Estado del Arte (cont.) Uso de Sensores y Actuadores Tolerancia a Fallas en HANNIBAL Tolerando Fallas de Sensores Continuamente Valuados Tolerancia a Fallas en un Entorno Multisensor Algoritmos de Sensado Robusto y Distribuido
16 Estado del Arte (cont.) Algoritmos de Sensado Robusto Acuerdo Aproximado Convergencia Rápida Región Optima Brooks-Iyengar Híbrido
17 Experiencias con un Modelo Real Trabajos realizados Extensión de RT-MINIX con nuevos servicios (driver de joystick, colas unidas) Aplicación de RT-MINIX como soporte para desarrollar sistemas de tiempo real Implementación y prueba de algoritmos de integración de sensores replicados
18 Experiencias con un Modelo Real (cont.) RT-MINIX Driver de joystick Capacidad de conectar sensores analógicos y digitales Colas Unificadas Procesos MM y FS se unieron con procesos de usuario Nueva Distribución basada en Minix 2.0.0 Integración de los servicios existentes y nuevos en última versión del SO. Paquete instalable.
19 Experiencias con un Modelo Real (cont.) Replicación de sensores
20 Experiencias con un Modelo Real (cont.) Algoritmos de sensado robusto Implementación Programas de Usuario ? Servicio del SO Pruebas Estática y Dinámica Datos codificados en los programas Datos variables a través de sensores replicados Comparación de Algoritmos
21 Conclusiones Extensión del concepto de sistema de tiempo real: aquel que debe proveer el servicio esperado en el momento preciso, aún ante la presencia de fallas
22 Conclusiones (cont.) El área de incumbencia de la tolerancia a fallas ya abarca a los sistemas de tiempo real. Paquete distribuible de RT-MINIX, adecuado como SOTR para futuros proyectos de tiempo real. Comprobación de la validez y exactitud de algoritmos de sensado robusto, mediante valores estáticos y dinámicos.
23 Conclusiones (cont.) Se cuenta con herramientas para que el ciclo completo de desarrollo e implementación de un sistema de tiempo real incluya capacidades de tolerancia a fallas: Lenguajes de especificación y diseño Algoritmos de planificación Profusión de sensores y actuadores Algoritmos de sensado robusto
24 Trabajo Futuro Incorporar en RT-MINIX nuevos servicios de tiempo real: planificación tolerante a fallas, herencia de prioridades, interface gráfica. Probar RT-MINIX con sistemas de tiempo real que impongan una alta carga de trabajo: prototipo línea embotelladora. Proponer y estudiar nuevos algoritmos de sensado robusto: multidimensionales.