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.