thesis-suruena

124 visualizaciones

Publicado el

0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
124
En SlideShare
0
De insertados
0
Número de insertados
3
Acciones
Compartido
0
Descargas
1
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

thesis-suruena

  1. 1. Πάντα ρει και ουδεν μενει — Ηρακλειτος
  2. 2. Arquitectura Software de Comunicaciones para Sistemas Distribuidos Críticos con Requisitos de Tiempo Real Estrictos Autor: Santiago Urueña Pascual Director: Juan Zamorano Flores Universidad Politécnica de Madrid (UPM) Tesis doctoral 2011-04-06
  3. 3. Contenidos  Antecedentes  Motivaciones  Soluciones propuestas  Meta-enlazador  AR-TP  Ravenscar distribuido  Validación resultados  Conclusiones
  4. 4. Contenidos  Antecedentes  Motivaciones  Soluciones propuestas  Meta-enlazador  AR-TP  Ravenscar distribuido  Validación resultados  Conclusiones
  5. 5. Antecedentes  Grupo de investigación STRAST  Proyecto ASSERT  Liderado por la ESA  6º Programa Marco UE  2004-2008
  6. 6. Software para satélites de próxima generación
  7. 7. Certificación Software de alta integridad Validación y Verificación Niveles de integridad
  8. 8. Aviónica Modular Integrada (IMA) Certificación independiente: aislamiento temporal y espacial
  9. 9. Perfil de Ravenscar  IRTAW 1997  Industria  Universidad  Organismos reguladores  Certificable  Basado en análisis planificación
  10. 10. Perfil de Ravenscar  Programación concurrente  Altas prestaciones  No interbloqueos  Open Ravenscar Kernel (ORK)
  11. 11. Todo fluye, nada es — Heráclito
  12. 12. Contenidos  Antecedentes  Motivaciones  Soluciones propuestas  Meta-enlazador  AR-TP  Ravenscar distribuido  Validación resultados  Conclusiones
  13. 13. Máquina Virtual de ASSERT  Núcleo de tiempo real  Aviónica Modular Integrada (IMA)  Middleware de alta integridad
  14. 14. Máquina Virtual de ASSERT  Plataformas de pruebas:  PC-104 / Ethernet  LEON2 / SpaceWire
  15. 15. CPU resistentes a la radiación  CPU lentas (e.g. 20 Mhz)  Poca memoria (e.g. 2 MB RAM)
  16. 16. Objetivos de la tesis  ORK particionado  Ravenscar distribuido
  17. 17. Middleware de alta integridad  Comunicación de tiempo real estricto sobre redes no deterministas  Ravenscar distribuido
  18. 18. Aviónica Modular Integrada (IMA)  Aislamiento temporal  Aislamiento espacial
  19. 19. LEON2 Radiation-Hardened CPU Restricted Run-Time System Communications layer Low-Level driver Open Ravenscar Kernel Ravenscar-Compliant Application
  20. 20. Restricted Middleware LEON2 Radiation-Hardened CPU Restricted Run-Time System AR-TP Low-Level driver Open Ravenscar Kernel+ Ravenscar-Compliant Application
  21. 21. Plataforma de ejecución  Núcleo de separación  Middleware restringido  Ravenscar distribuido  AR-TP
  22. 22. Contenidos  Antecedentes  Motivaciones  Soluciones propuestas  Meta-enlazador  AR-TP  Ravenscar distribuido  Validación resultados  Conclusiones
  23. 23. Restricted Middleware LEON2 Radiation-Hardened CPU Restricted Run-Time System AR-TP Low-Level driver Open Ravenscar Kernel Ravenscar-Compliant Application
  24. 24. Restricted Middleware LEON2 Radiation-Hardened CPU Restricted Run-Time System AR-TP Low-Level driver Open Ravenscar Kernel Ravenscar-Compliant Application
  25. 25. Aviónica Modular Integrada (IMA) Certificación independiente: aislamiento temporal y espacial
  26. 26. CPU resistentes a la radiación  CPU lentas (e.g. 20 Mhz)  Poca memoria (e.g. 2 MB RAM)  Sin MMU  No traducción de direcciones hardware
  27. 27. Cadena de compilación actual source code object codecompiler linker kernel executable *.adb *.c *.exe*.o *.a
  28. 28. Script de compilación a medida source code object codecompiler linker ASIS tool kernel executable *.adb *.c *.exe*.o *.a custom linking script *.ld
  29. 29. Meta-enlazador source code partition 1 object code partition 1 compiler linker binary partition 1 meta-linker kernel executable source code partition N object code partition N compiler linker . . . . . . *.adb *.c *.exe *.o *.a *.o
  30. 30. Meta-enlazador  Protección de memoria hardware  Menos sobrecarga de CPU:  RTOS sencillo (e.g. sin cargador)  No traducción de direcciones hw  Menos requisitos de energía  Determinismo: sin MMU / TLB
  31. 31. Certificación independiente  El binario de cada partición es independiente  Meta-enlazador: herramienta cualificada  Código independiente de la posición
  32. 32. Código independiente de la posición (PIC)  Analísis huella en memoria  Prototipo de meta-enlazador  Mediciones tiempo de cómputo  Diseño FDPIC ABI para SPARC
  33. 33. Restricted Middleware LEON2 Radiation-Hardened CPU Restricted Run-Time System AR-TP Low-Level driver Open Ravenscar Kernel Ravenscar-Compliant Application
  34. 34. Platforma distribuida de pruebas  Demonstradores de ASSERT  Sistemas distribuidos  Half-duplex Ethernet
  35. 35. Ethernet de tiempo real  Control de acceso al medio no determinista  Modificación protocolo MAC  Switched Ethernet  Modelado de tráfico  Control de transmisión
  36. 36. AR-TP  Arbitrated Real-Time Protocol  Basado en RT-EP (Universidad de Cantabria)  Paso de testigo
  37. 37. RT-EP Token [p]
  38. 38. ER-TP  Análisis del tiempo de respuesta  Ancho de banda reducido  No protección a congestiones
  39. 39. AR-TP  Múltiples mensajes por ciclo  Reducción mensajes de arbitraje  Prioridad dual  Caducidad mensajes
  40. 40. AR-TP
  41. 41. AR-TP  Análisis del tiempo de respuesta  Mayor ancho de banda  Control de congestión
  42. 42. Restricted Middleware LEON2 Radiation-Hardened CPU Restricted Run-Time System AR-TP Low-Level driver Open Ravenscar Kernel Ravenscar-Compliant Application
  43. 43. Encuesta a ingenieros aeroespaciales  Comunicación de tiempo real estricto y flexible  10 preguntas  Características deseables
  44. 44. Ravenscar distribuido  Anexo de Sistemas Distribuidos (DSA)  Extensión de Ravenscar  Restricciones obligatorias  Restricciones opcionales
  45. 45. Restricciones obligatorias del Middleware  Número de nodos estático  No conexiones dinámicas  Inicialización coordinada  No comunicación implícita
  46. 46. Restricciones obligatorias del Middleware  No objetos protegidos compartidos  No punteros a memoria compartida  No punteros remotos a clase  No llamadas concurrentes a la misma operación remota
  47. 47. Restricciones opcionales del Middleware  No tipos acceso remotos  No llamadas remotas anidadas  No llamadas síncronas  Parámetros remotos acotados
  48. 48. Perfil de Ravenscar distribuido  Middleware certificable  Basado en tiempo de respuesta holístico  No interbloqueos distribuidos, pocos recursos…  Estancia en AdaCore NY
  49. 49. Ravenscar distribuido  Análisis tiempo respuesta aplicaciones  Análisis estático aplicaciones  Middleware simplificado
  50. 50. Restricted Middleware LEON2 Radiation-Hardened CPU Restricted Run-Time System AR-TP Low-Level driver Open Ravenscar Kernel Ravenscar-Compliant Application
  51. 51. Contenidos  Antecedentes  Motivaciones  Soluciones propuestas  Meta-enlazador  AR-TP  Ravenscar distribuido  Validación de resultados  Conclusiones
  52. 52. Validación  Prototipo de meta-enlazador  Huella en memoria  Tiempo de ejecución
  53. 53. Validación
  54. 54. Validación  Thales Alenia Space y Astrium  Demostradores:  HRI: satélites de larga duración  MPC: flotas de satélites  MA3S: naves no tripuladas
  55. 55. Contenidos  Antecedentes  Motivaciones  Soluciones propuestas  AR-TP  Ravenscar distribuido  Meta-enlazador  Validación resultados  Conclusiones
  56. 56. Meta-enlazador  Particionamiento memoria seguro y eficiente sistemas empotrados  Análisis PIC en SPARC  Nueva FDPIC ABI
  57. 57. AR-TP  Evolución RT-EP  Mejora de prestaciones  Control de congestiones
  58. 58. Ravenscar distribuido  Middleware certificable  Análisis de tiempo de respuesta aplicaciones  Paradigmas de comunicación adecuados
  59. 59. Contribuciones Aportaciones teóricas  Análisis Ravenscar y DSA  Modelado AR-TP
  60. 60. Contribuciones Aportaciones metodológicas  Diseño de un DSA de tiempo real  Restricciones middleware
  61. 61. Contribuciones Aportaciones prácticas  Implementación capa de comunicaciones certificable  Prototipo de meta-enlazador
  62. 62. Publicaciones  “A restricted middleware profile for high-integrity distributed real-time systems” (2009)  “Communication paradigms for high-integrity distributed systems with hard real-time requirements” (2008)  “The ASSERT Virtual Machine: A predictable platform for real-time systems” (2008)  “A new approach to memory partitioning in on-board spacecraft software” (2008)  “Building high-integrity distributed systems with Ravenscar restrictions” (2007)  “Implementing the new Ada 2005 real-time features on a bare board kernel” (2007)  “Schedulability analysis of AR-TP, a Ravenscar compliant communication protocol for high-integrity distributed systems” (2006)  “The arbitrated real-time protocol (AR-TP): A Ravenscar compliant communication protocol for high-integrity distributed systems” (2006)  “Adding new features to the Open Ravenscar Kernel” (2005)
  63. 63. gracias merci спасибо grazie thanks
  64. 64. The important thing is not to stop questioning — Albert Einstein
  65. 65. Restricted Middleware LEON2 Radiation-Hardened CPU Restricted Run-Time System AR-TP Low-Level driver Open Ravenscar Kernel Ravenscar-Compliant Application
  66. 66. Proyecto ASSERT Desarrollo basado en modelos [Sistemas embarcados en satélites] Generación automática de código [HRT-UML, AADL] Separación de problemas [Aspectos funcionales frente a no funcionales]
  67. 67. Proyecto ASSERT Composición y preservación de propiedades [Metamodelo RCM] Transformación automática [Patrones de código] Máquina Virtual ASSERT [RT-Kernel + middleware restringido]
  68. 68. Bonus section
  69. 69. Aislamiento temporal  Manejo de violaciones del WCET  Monitorización de los plazos  Forzar tiempo entre llegadas
  70. 70. Publicaciones  Urueña, S., Zamorano, J., de la Puente, J. A. (2009). “A restricted middleware profile for high-integrity distributed real-time systems”. Ada-Europe 2009  Urueña, S., Zamorano, J., Pulido, J. A., de la Puente, J. A. (2008). “Communication paradigms for high-integrity distributed systems with hard real-time requirements” (DIPES 2008)  de la Puente, J. A., Zamorano, J., Pulido, J. A., Urueña, S. (2008). “The ASSERT Virtual Machine: A predictable platform for real-time systems”. IFAC 2008  Urueña, S., Pulido, J. A., López, J., Zamorano, J., de la Puente, J. A. (2008). “A new approach to memory partitioning in on-board spacecraft software”. Ada-Europe 2008  Urueña, S. Zamorano, J. (2007). “Building high-integrity distributed systems with ravensca restrictions”. Ada Letters, XXVII(2)  Sánchez, V. (2007). Desarrollo de un protocolo de comunicación determinista para sistemas de tiempo real críticos. Proyecto fin de carrera, ETSIT-UPM. Tutor: Santiago Urueña Pascual  Urueña, S., Pulido, J. A., Redondo, J., Zamorano, J. (2007). “Implementing the new Ada 2005 real-time features on a bare board kernel”. Ada Letters, XXVII(2)  Urueña, S., Zamorano, J., Berjón, D., Pulido, J. A., de la Puente, J. A. (2006). “Schedulability analysis of AR-TP, a Ravenscar compliant communication protocol for high-integrity distributed systems.” IPDPS06  Urueña, S., Zamorano, J., Berjón, D., Pulido, J. A., de la Puente, J. A. (2006). “The arbitrated real-time protocol (AR-TP): A Ravenscar compliant communication protocol for high- integrity distributed systems”. Ada-Europe 2006  Urueña, S., Pulido, J. A., Zamorano, J., de la Puente, J. A. (2005). “Adding new features to the Open Ravenscar Kernel”. OSPERT 2005.
  71. 71. Cyclic executives  Minimal code to certify  Correct by construction  Easy error detection
  72. 72. Cyclic executives  No sporadic tasks  Scalability: NP hard problem  Hard to implement & maintain
  73. 73. ¿Paradigmas de comunicación adecuados?  Paso de mensajes  Memoria compartida distribuida  Llamada a procedimiento remoto  Invocación de método remoto  Publicar/Suscribir     
  74. 74. Ravenscar profile pragma Restrictions ( No_Abort_Statements, No_Task_Allocators, No_Task_Hierarchy, Simple_Barriers, Max_Entry_Queue_Length => 1, Max_Protected_Entries => 1, ...);
  75. 75. Beyond TTA  Time Triggered Architecture  Robustness · global clock  Fault tolerance · specific hw
  76. 76. Beyond TTA  Distributed “cyclic executive”  No sporadic messages  Hard to develop & maintain
  77. 77. Ravenscar & multicores?  Defined for monoprocessors  SMP sched policies: indeterminism  Memory consistency models  sequential consistency  relaxed consistency  transactional memory
  78. 78. Ravenscar & multicores?  A Ravenscar partition per core  Special-purpose DSA  No locks in protected objects  Interrupt affinity to fixed CPU
  79. 79. “A Safety-Critical system has to be based  on technology that supports predictability in the time domain, and  the development process has to provide tools for verifying the correctness of the timing.” — Alan Burns & Peter Puschner
  80. 80. Myth #1: Software is easy to change
  81. 81. Real-time systems Timeliness computation
  82. 82. Myth #2: real-time computing means fast hardware
  83. 83. Real-time systems  Periodic tasks (time triggered)  Sporadic tasks (event triggered)
  84. 84. Real-time requirements  Hard real-time  Soft real-time  ...
  85. 85. Hard real-time
  86. 86. Soft real-time
  87. 87. Myth #3: Hard real-time means safety-critical
  88. 88. (Summary…)  High-Integrity = Certification  Real-Time: software issue  Periodic / Sporadic tasks  Hard Real-Time ≠ Safety-critical
  89. 89. Aislamiento espacial  Particiones virtuales  Protección de memoria Hardware  Unidad de gestión de memoria (MMU)
  90. 90. Everything flows, nothing stands still — Heraclitus
  91. 91. Real-time theory  Response time analysis  Tasks & shared resources  Several RT schedulability policies  Schedulability analysis  Worst case
  92. 92. Espectro de RTOS QNX RT Linux VxWorks 653 LynxOS 178 ORK RTEMS Complejidad SSOO
  93. 93. Strong methods  Ravenscar Computational Model  Specification languages: Z, B…  Static analysis: pragma Restrictions  RapiTime, gnatstack, gnatcheck, gnatsync, Spark examiner…
  94. 94. Traditional vs. Strong methods  Restricted functionality  simplified code  Static analysis  not just testing!
  95. 95. Myth #4: strong methods are more expensive than traditional methods
  96. 96. Supply and demand Offre et demande Oferta y demanda Domanda e offerta Закон спроса и предложения
  97. 97. ASSERT: Automated proof-based System and Software Engineering for Real-Time Systems
  98. 98. (Summary…)  High-Integrity = Certification  Real-Time: software issue  Hard Real-Time ≠ Safety-critical  Strong methods: cost effective  Ravenscar = certification
  99. 99. Everything flows, nothing stands still — Heraclitus
  100. 100. Temporal isolation
  101. 101. Temporal isolation  Ada 2005 timing services  CPU clocks  CPU timers  Timing events (Ravenscar violation!)
  102. 102. WCET_Timer : Ada.Execution_Time.Timers.Timer(…); task body Periodic_Task is Next_Activation : Ada.Real_Time.Time := Epoch; begin loop WCET_Timer.Set_Handler (In_Time => My_WCET_Budget, Handler => My_Monitor.Overrun_Handler'Access); delay until Next_Activation; Do_Actual_Work; Next_Activation := Next_Activation + My_Period; end loop; end Periodic_Task;
  103. 103. Adding it to Ada?  pragma WCET  pragma Interarrival  Ada.Dispatching .Delay_Until (…)
  104. 104. task body Periodic_Task is Next_Activation : Ada.Real_Time.Time := Epoch; pragma Relative_Deadline (My_Deadline); pragma WCET (My_WCET_Budget); begin loop Ada.Dispatching.Delay_Until (Next_Activation); Do_Actual_Work; Next_Activation := Next_Activation + My_Period; end loop; end Periodic_Task;
  105. 105. Spatial isolation
  106. 106. Everything flows, nothing stands still — Heraclitus
  107. 107. Myth #5: increasing software reliability means increasing system safety
  108. 108. RMI problems  References to distributed objects can change  Dynamic connections  No one server thread per object  Priority inversion
  109. 109. DSM problems  Transparency to the programmer…  …so modelization problems  RTA is not straighforward
  110. 110. Simplified run-time system  Blocking time minimization  High-performance  Low footprint
  111. 111. Other approaches to memory isolation  Static analysis  Spark integrity annotations  Run-time checks  New Ada checks (access dereference)  Hardware memory protection  Fence registers
  112. 112. Current compilation toolchain source code object codecompiler linker kernel executable *.adb *.c *.exe*.o *.a
  113. 113. Meta-linker source code partition 1 object code partition 1 compiler linker binary partition 1 meta-linker kernel executable source code partition N object code partition N compiler linker . . . . . . *.adb *.c *.exe *.o *.a *.o
  114. 114. Future work  No CPU-mode changes  Systems High criticality apps only:  Supervisor mode (kernel & apps)  Between criticality levels:  Spark + Integrity annotations
  115. 115. Protection summary  Systems High+Low criticality apps:  Supervisor (kernel) + user mode  Between partitions:  Fence registers + PIC  Distributed Systems Annex  Inside partitions:  Spark, Ravenscar  Run-time checks
  116. 116. Πάντα ῥεῖ καὶ οὐδὲν μένει — Ηρακλειτος

×