Reconfiguración Dinámica de Arquitecturas Software Aplicada a la Tolerancia a Fallos 3 rd Workshop on Autonomic and SELF-adaptive Systems (WASELF’10) September 7 th 2010 – Valencia (Spain) Cristóbal Costa-Soria 1 , Jennifer Pérez 2 , Jose A. Carsí 1 Diego Alonso 3 , Francisco Ortiz 3 , Juan A. Pastor 3 1 Universidad Politécnica de Valencia (UPV) 2 Universidad Politécnica de Madrid (UPM) 3 Universidad Politécnica de Cartagena (UPCT)
29
Embed
Reconfiguracion Dinamica de Arquitecturas Software aplicada a la Tolerancia a Fallos
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Reconfiguración Dinámica de Arquitecturas Software Aplicada a la Tolerancia a Fallos
3rd Workshop on Autonomic and SELF-adaptive Systems (WASELF’10)September 7th 2010 – Valencia (Spain)
Cristóbal Costa-Soria1, Jennifer Pérez2, Jose A. Carsí1
Diego Alonso3, Francisco Ortiz3, Juan A. Pastor3
1 Universidad Politécnica de Valencia (UPV)2 Universidad Politécnica de Madrid (UPM)3 Universidad Politécnica de Cartagena (UPCT)
Introducción
Reconfiguración para la tolerancia a fallos
Dynamic PRISMA
Conclusiones
Indice
Introducción
Importancia creciente del software– Automoción, aviónica, telecomunicaciones, control de
infraestructuras, etc.
Necesidad de funcionamiento correcto y garantía de servicio, sobre todo en sistemas críticos– Fault-avoidance (programación estructurada,
reutilización del software, métodos formales)– Fault-removal (testeado, verificación y validación)
NO SON SUFICIENTES
Necesidad de introducir tolerancia a fallos– El sistema debe seguir cumpliendo su función a pesar
de eventuales fallos (garantía de funcionamiento)
3/22
Tolerancia a fallos
Muchas de las técnicas y estrategias se basan en el uso de redundancia– Replicado de elementos hardware evita fallos debidos
al desgaste o a la actuación de agentes externos– Versionado de elementos software evita fallos
debidos a bugs, bloqueos, etc.
Ejecución concurrente elementos redundantes– Enmascaramiento de fallos– Uso de elementos de sincronización y votación
• Más recursos• Más complejidad
– Enfoque estático • La estrategia debe definirse en tiempo de diseño
4/22
Agrobot: robot agrícola para la supervisión deplagas y falta de agua
Sistema de visión Elemento crítico para garantizar funcionalidad– Inspección de plantas– Movimiento (evitar obstáculos y selección objetivos)
Tolerancia a fallos Sistema Visión– Compuesto por elementos redundantes – Duplicado y con posibilidad de reasignación dinámica de
tareas
Caso de estudio
5/22
Tolerancia a fallos con redundancia estática
Redundancia en Sistema de Visión:– Detección de fallos irrecuperables (e.g. vídeo)– Enmascaramiento de fallos a través de sistemas de
votación (e.g. procesamiento imágenes)
Inconvenientes– Sincronización entre elementos: + complejidad– Redundancia: + recursos computacionales
6/22
VisionSystem
ImgOutputPort
VisionStatusPort
VideoCaptureCard
ImageProcSoftw-v1VideoIn ImageOut
Fault Detected
ImageProcCard
VideoIn ImageOut
ImageProcSoftw-v2VideoIn ImageOut
ImageProcSoftw-v3VideoIn ImageOut
Voting Connect.Video
Forwarder
FaultDetected
Introducción
Reconfiguración para la tolerancia a fallos
Dynamic PRISMA
Conclusiones
Indice
Tolerancia a fallos: Reconfiguración
¿Por qué no usar técnicas de reconfiguración para recuperarse ante un fallo?
Detección fallo Reconfiguración– El sistema cambia su estructura para que el resto de
componentes puedan ofrecer un servicio aceptable
8/22
Opciones para recuperarse de un fallo– Renuncia de tareas
Se degrada la funcionalidad– Reasignación de tareas entre otros componentes
Se degrada el rendimiento– Introducción de repuestos
2. Ejecución transaccional del proceso de reconfiguración
1. Acciones a tomar frente a fallos
Reconfiguración dinámica con Dynamic PRISMA
20/22
VisionSystemImgOutput
Port
VisionStatusPort
VideoCaptureCard
IPC-ConnImageProcCard
VideoIn ImageOut
VisionWatchdog
Unrecoverable Fault
ImageProcSoftware
0..*
VideoIn ImageOut
VCC-Conn
VisionSystemEvolver
InternalEventsPort
ExternalEventsPort
Faulty Output
Reconfig.Coord.
Reconfig.Analysis
MonitoringReconfig.Effector
0. Detección de fallos
2. Ejecución transaccional del proceso de reconfiguración
1. Acciones a tomar frente a fallos
3. Realización cambios + transferencia estado
Reconfiguración dinámica con Dynamic PRISMA
21/22
VisionSystemImgOutput
Port
VisionStatusPort
VideoCaptureCard
IPC-ConnImageProcCard
VideoIn ImageOut
VisionWatchdog
Unrecoverable Fault
ImageProcSoftware
0..*
VideoIn ImageOut
VCC-Conn
VisionSystemEvolver
InternalEventsPort
ExternalEventsPort
Faulty Output
Reconfig.Coord.
Reconfig.Analysis
MonitoringReconfig.Effector
0. Detección de fallos
2. Ejecución transaccional del proceso de reconfiguración
1. Acciones a tomar frente a fallos
3. Realización cambios + transferencia estado
ImageProcSoftware
VideoIn ImageOut
Reconfiguración dinámica con Dynamic PRISMA
22/22
VisionSystemImgOutput
Port
VisionStatusPort
VideoCaptureCard
IPC-ConnImageProcCard
VideoIn ImageOut
VisionWatchdog
Unrecoverable Fault
VCC-Conn
VisionSystemEvolver
InternalEventsPort
ExternalEventsPort
Faulty Output
Reconfig.Coord.
Reconfig.Analysis
MonitoringReconfig.Effector
0. Detección de fallos
2. Ejecución transaccional del proceso de reconfiguración
1. Acciones a tomar frente a fallos
3. Realización cambios + transferencia estado
ImageProcSoftware
VideoIn ImageOut
Reconfiguración dinámica con Dynamic PRISMA
23/22
VisionSystemImgOutput
Port
VisionStatusPort
VideoCaptureCard
IPC-ConnImageProcCard
VideoIn ImageOut
VisionWatchdog
Unrecoverable Fault
VCC-Conn
VisionSystemEvolver
InternalEventsPort
ExternalEventsPort
Faulty Output
Reconfig.Coord.
Reconfig.Analysis
MonitoringReconfig.Effector
0. Detección de fallos
2. Ejecución transaccional del proceso de reconfiguración
1. Acciones a tomar frente a fallos
3. Realización cambios + transferencia estado
ImageProcSoftware
VideoIn ImageOut
4. Información estado final (verificación corrección)
Reconfiguración dinámica con Dynamic PRISMA
24/22
VisionSystemImgOutput
Port
VisionStatusPort
VideoCaptureCard
IPC-ConnImageProcCard
VideoIn ImageOut
VisionWatchdog
Unrecoverable Fault
VCC-Conn
VisionSystemEvolver
InternalEventsPort
ExternalEventsPort
Faulty Output
Reconfig.Coord.
Reconfig.Analysis
MonitoringReconfig.Effector
0. Detección de fallos
2. Ejecución transaccional del proceso de reconfiguración
1. Acciones a tomar frente a fallos
3. Realización cambios + transferencia estado
ImageProcSoftware
VideoIn ImageOut
4. Información estado final (verificación corrección)
Reconfiguración dinámica con Dynamic PRISMA
25/22
VisionSystemImgOutput
Port
VisionStatusPort
VideoCaptureCard
IPC-Conn
VisionWatchdog
Unrecoverable Fault
VCC-Conn
VisionSystemEvolver
InternalEventsPort
ExternalEventsPort
Faulty Output
Reconfig.Coord.
Reconfig.Analysis
MonitoringReconfig.Effector
0. Detección de fallos
2. Ejecución transaccional del proceso de reconfiguración
1. Acciones a tomar frente a fallos
3. Realización cambios + transferencia estado
ImageProcSoftware
VideoIn ImageOut
4. Información estado final (verificación corrección)
Introducción
Reconfiguración para la tolerancia a fallos
Dynamic PRISMA
Conclusiones
Indice
Conclusiones
Propuesta para incorporar técnicas de reconfiguración dinámica al diseño de sistemas tolerantes a fallos– Mayor flexibilidad para adaptarse en tiempo ejecución– Menor consumo de recursos
Dynamic PRISMA– Soporte a la reconfiguración dinámica de arquitecturas– Énfasis en la separación de concerns
facilita mantenimiento código• Separando el código de reconfiguración del código
funcional• Separando las políticas de reconfiguración (cambios de
alto nivel) de los mecanismos de reconfiguración (cambios de bajo nivel)
– Políticas de reconfiguración definidas a un alto nivel de abstracción (en PRISMA AO-ADL)
Trabajos futuros
Trabajos futuros– Estudio de la tolerancia a fallos del subsistema de
reconfiguración: Comportamiento transaccional Redundancia del subsistema
– Estudio del tiempo de respuesta necesario para reaccionar
Cristóbal Costa-Soria
Information Systems and Software Engineering Research GroupDepartment of Information Systems and ComputationUniversidad Politécnica de ValenciaSpain