RAFTSys: Resilience Analysis for Fault Tolerant Systems | Análisis de Resiliencia para Sistemas Tolerantes a Fallas

Los sistemas de computación son cada vez más ubicuos. La mayoría de éstos están integrados en sistemas físicos con comportamientos de altísima complejidad. Los podemos encontrar en electrónica de consumo, controladores en sistemas industriales, en maquinarias agrícolas, en equipos médicos, en aviónica y satélites, a bordo de automóviles y otros sistemas de transportes, controladores de la red eléctrica, etc. Hoy en día también se busca que estos sistemas computacionales sean eficientes en el consumo de energía dado que se espera gran autonomía (por ejemplo en redes de sensores inalámbricas o en dispositivos computacionales móviles para auxilio de personas en situación de discapacidad o ancianos). Por consiguiente dependemos fuertemente del funcionamiento apropiado de estos sistemas. Necesitamos que estos dispositivos brinden servicios correctos, confiables, seguros, y que estén continuamente disponibles.
No solamente eso, sino que muchos de estos sistemas están sujetos a la ocurrencia de fallas inevitables, más allá de los posibles “bugs” del software. Por ejemplo, los satélites están expuestos a radiaciones electromagnéticas que pueden alterar señales eléctricas haciendo que dichas sen ̃ales invierta el bit que se pretendía representar. Ejemplos más cotidianos incluyen los ruidos electromagnéticos en las comunicaciones, ya sea cableada o inalámbrica, la rotura de dispositivos (ej. un disco, una fuente eléctrica) en clusters de computadoras, o la ruptura de dispositivos electromecánicos en plantas industriales. Todos estos sistemas (el satélite, la red de comunicación, el cluster, o la planta industrial) deberían poder continuar brindando el servicio esperado aún en presencia de las fallas. Un sistema se dice resiliente si tiene la habilidad de proveer y mantener un nivel de servicio aceptable aún bajo la presencia de fallas y otros inconvenientes que puedan surgir y presentar un desafío al funcionamiento normal del sistema.
Dado que la mayoría de estos sistemas se integran con un entorno físico complejo, su modelado requiere de herramientas matemáticas mucho más poderosas y expresivas que las lógicas bivaluadas y los modelos discretos habituales. Dada la presencia de parámetros de tiempo real y requerimientos continuos como voltajes, intensidad de corriente, temperaturas, presión, etc., que necesitan ser cuantificados de diversas maneras, inclusive estocásticamente, los modelos matemáticos y las lógicas para la descripción de sistemas son inherentemente intratables. Por consiguiente, la verificación y análisis directo de estos tipos de modelos y lógicas es inviable, por lo que se requieren técnicas de abstracción, aproximación o simulación.
Dos ingredientes son esenciales para el modelado de estos sistemas: (a) el no-determinismo, que representa de manera abstracta tanto la concurrencia entre procesos paralelos o distribuidos como las decisiones locales en una componente, y (b) la probabilidad, que permite cuantificar localmente la ocurrencia de eventos tales como el tiempo de arribo o la probabilidad de la ocurrencia de una falla. Además, ambos deben poder modelar el dominio continuo.

El objetivo de este proyecto es contribuir con las herramientas necesarias para la verificación y análisis de eficiencia y confiabilidad en general de modelos de sistemas que necesitan ser resilientes. Se pretende contribuir en los tres aspectos de este área: fundamentos matemáticos, algoritmos, y la construcción de herramientas de verificación y análisis.

Grupo responsable
Pedro R. D'Argenio (Director)
Germán Regis
Pedro Sánchez Terraf
Otros Investigadores
Ramiro Demasi
Pablo Castro
Carlos E. Budde
Raúl E. Monti

Arnd Hartmanns
Matías D. Lee
Nicolás Wolovick
Damián Barsotti