Πάντα ρει και
ουδεν μενει
— Ηρακλειτος
Arquitectura Software
de Comunicaciones para
Sistemas Distribuidos Críticos con
Requisitos de Tiempo Real Estrictos
Autor:...
Contenidos
 Antecedentes
 Motivaciones
 Soluciones propuestas
 Meta-enlazador
 AR-TP
 Ravenscar distribuido
 Valida...
Contenidos
 Antecedentes
 Motivaciones
 Soluciones propuestas
 Meta-enlazador
 AR-TP
 Ravenscar distribuido
 Valida...
Antecedentes
 Grupo de investigación STRAST
 Proyecto ASSERT
 Liderado por la ESA
 6º Programa Marco UE
 2004-2008
Software para satélites
de próxima generación
Certificación
Software de alta integridad
Validación y Verificación
Niveles de integridad
Aviónica Modular
Integrada (IMA)
Certificación independiente:
aislamiento temporal y espacial
Perfil de Ravenscar
 IRTAW 1997
 Industria
 Universidad
 Organismos reguladores
 Certificable
 Basado en análisis pl...
Perfil de Ravenscar
 Programación concurrente
 Altas prestaciones
 No interbloqueos
 Open Ravenscar Kernel (ORK)
Todo fluye, nada es
— Heráclito
Contenidos
 Antecedentes
 Motivaciones
 Soluciones propuestas
 Meta-enlazador
 AR-TP
 Ravenscar distribuido
 Valida...
Máquina Virtual de
ASSERT
 Núcleo de tiempo real
 Aviónica Modular Integrada
(IMA)
 Middleware de alta integridad
Máquina Virtual de
ASSERT
 Plataformas de pruebas:
 PC-104 / Ethernet
 LEON2 / SpaceWire
CPU resistentes a la
radiación
 CPU lentas (e.g. 20 Mhz)
 Poca memoria (e.g. 2 MB RAM)
Objetivos de la tesis
 ORK particionado
 Ravenscar distribuido
Middleware de alta
integridad
 Comunicación de tiempo real
estricto sobre redes no
deterministas
 Ravenscar distribuido
Aviónica Modular
Integrada (IMA)
 Aislamiento temporal
 Aislamiento espacial
LEON2 Radiation-Hardened CPU
Restricted
Run-Time System
Communications layer
Low-Level driver Open Ravenscar Kernel
Ravens...
Restricted Middleware
LEON2 Radiation-Hardened CPU
Restricted
Run-Time System
AR-TP
Low-Level driver Open Ravenscar Kernel...
Plataforma de
ejecución
 Núcleo de separación
 Middleware restringido
 Ravenscar distribuido
 AR-TP
Contenidos
 Antecedentes
 Motivaciones
 Soluciones propuestas
 Meta-enlazador
 AR-TP
 Ravenscar distribuido
 Valida...
Restricted Middleware
LEON2 Radiation-Hardened CPU
Restricted
Run-Time System
AR-TP
Low-Level driver Open Ravenscar Kernel...
Restricted Middleware
LEON2 Radiation-Hardened CPU
Restricted
Run-Time System
AR-TP
Low-Level driver Open Ravenscar Kernel...
Aviónica Modular
Integrada (IMA)
Certificación independiente:
aislamiento temporal y espacial
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 dire...
Cadena de compilación
actual
source code object codecompiler linker
kernel
executable
*.adb *.c *.exe*.o
*.a
Script de compilación
a medida
source code object codecompiler linker
ASIS tool
kernel
executable
*.adb *.c *.exe*.o
*.a
c...
Meta-enlazador
source code
partition 1
object code
partition 1
compiler linker
binary
partition 1
meta-linker
kernel
execu...
Meta-enlazador
 Protección de memoria hardware
 Menos sobrecarga de CPU:
 RTOS sencillo (e.g. sin cargador)
 No traduc...
Certificación
independiente
 El binario de cada partición es
independiente
 Meta-enlazador: herramienta
cualificada
 Có...
Código independiente de
la posición (PIC)
 Analísis huella en memoria
 Prototipo de meta-enlazador
 Mediciones tiempo d...
Restricted Middleware
LEON2 Radiation-Hardened CPU
Restricted
Run-Time System
AR-TP
Low-Level driver Open Ravenscar Kernel...
Platforma distribuida
de pruebas
 Demonstradores de ASSERT
 Sistemas distribuidos
 Half-duplex Ethernet
Ethernet de
tiempo real
 Control de acceso al medio no
determinista
 Modificación protocolo MAC
 Switched Ethernet
 Mo...
AR-TP
 Arbitrated Real-Time Protocol
 Basado en RT-EP
(Universidad de Cantabria)
 Paso de testigo
RT-EP
Token [p]
ER-TP
 Análisis del tiempo de respuesta
 Ancho de banda reducido
 No protección a congestiones
AR-TP
 Múltiples mensajes por ciclo
 Reducción mensajes de
arbitraje
 Prioridad dual
 Caducidad mensajes
AR-TP
AR-TP
 Análisis del tiempo de respuesta
 Mayor ancho de banda
 Control de congestión
Restricted Middleware
LEON2 Radiation-Hardened CPU
Restricted
Run-Time System
AR-TP
Low-Level driver Open Ravenscar Kernel...
Encuesta a ingenieros
aeroespaciales
 Comunicación de tiempo real
estricto y flexible
 10 preguntas
 Características de...
Ravenscar distribuido
 Anexo de Sistemas Distribuidos
(DSA)
 Extensión de Ravenscar
 Restricciones obligatorias
 Restr...
Restricciones
obligatorias del
Middleware
 Número de nodos estático
 No conexiones dinámicas
 Inicialización coordinada...
Restricciones
obligatorias del
Middleware
 No objetos protegidos compartidos
 No punteros a memoria compartida
 No punt...
Restricciones
opcionales del
Middleware
 No tipos acceso remotos
 No llamadas remotas anidadas
 No llamadas síncronas
...
Perfil de Ravenscar
distribuido
 Middleware certificable
 Basado en tiempo de respuesta
holístico
 No interbloqueos dis...
Ravenscar distribuido
 Análisis tiempo respuesta
aplicaciones
 Análisis estático aplicaciones
 Middleware simplificado
Restricted Middleware
LEON2 Radiation-Hardened CPU
Restricted
Run-Time System
AR-TP
Low-Level driver Open Ravenscar Kernel...
Contenidos
 Antecedentes
 Motivaciones
 Soluciones propuestas
 Meta-enlazador
 AR-TP
 Ravenscar distribuido
 Valida...
Validación
 Prototipo de meta-enlazador
 Huella en memoria
 Tiempo de ejecución
Validación
Validación
 Thales Alenia Space y Astrium
 Demostradores:
 HRI: satélites de larga duración
 MPC: flotas de satélites
...
Contenidos
 Antecedentes
 Motivaciones
 Soluciones propuestas
 AR-TP
 Ravenscar distribuido
 Meta-enlazador
 Valida...
Meta-enlazador
 Particionamiento memoria seguro
y eficiente sistemas empotrados
 Análisis PIC en SPARC
 Nueva FDPIC ABI
AR-TP
 Evolución RT-EP
 Mejora de prestaciones
 Control de congestiones
Ravenscar distribuido
 Middleware certificable
 Análisis de tiempo de respuesta
aplicaciones
 Paradigmas de comunicació...
Contribuciones
Aportaciones teóricas
 Análisis Ravenscar y DSA
 Modelado AR-TP
Contribuciones
Aportaciones metodológicas
 Diseño de un DSA de tiempo real
 Restricciones middleware
Contribuciones
Aportaciones prácticas
 Implementación capa de
comunicaciones certificable
 Prototipo de meta-enlazador
Publicaciones
 “A restricted middleware profile for high-integrity distributed
real-time systems” (2009)
 “Communication...
gracias
merci
спасибо
grazie
thanks
The important thing is
not to stop questioning
— Albert Einstein
Restricted Middleware
LEON2 Radiation-Hardened CPU
Restricted
Run-Time System
AR-TP
Low-Level driver Open Ravenscar Kernel...
Proyecto ASSERT
Desarrollo basado en modelos
[Sistemas embarcados en satélites]
Generación automática de código
[HRT-UML, ...
Proyecto ASSERT
Composición y preservación de
propiedades
[Metamodelo RCM]
Transformación automática
[Patrones de código]
...
Bonus section
Aislamiento temporal
 Manejo de violaciones del WCET
 Monitorización de los plazos
 Forzar tiempo entre llegadas
Publicaciones
 Urueña, S., Zamorano, J., de la Puente, J. A. (2009). “A restricted middleware profile for
high-integrity ...
Cyclic executives
 Minimal code to certify
 Correct by construction
 Easy error detection
Cyclic executives
 No sporadic tasks
 Scalability: NP hard problem
 Hard to implement & maintain
¿Paradigmas de
comunicación
adecuados?
 Paso de mensajes
 Memoria compartida distribuida
 Llamada a procedimiento remot...
Ravenscar profile
pragma Restrictions (
No_Abort_Statements,
No_Task_Allocators,
No_Task_Hierarchy,
Simple_Barriers,
Max_E...
Beyond TTA
 Time Triggered Architecture
 Robustness · global clock
 Fault tolerance · specific hw
Beyond TTA
 Distributed “cyclic executive”
 No sporadic messages
 Hard to develop & maintain
Ravenscar
& multicores?
 Defined for monoprocessors
 SMP sched policies: indeterminism
 Memory consistency models
 seq...
Ravenscar
& multicores?
 A Ravenscar partition per core
 Special-purpose DSA
 No locks in protected objects
 Interrupt...
“A Safety-Critical system has to be based
 on technology that supports predictability in
the time domain, and
 the devel...
Myth #1:
Software is easy
to change
Real-time systems
Timeliness computation
Myth #2:
real-time computing
means fast hardware
Real-time systems
 Periodic tasks (time triggered)
 Sporadic tasks (event triggered)
Real-time
requirements
 Hard real-time
 Soft real-time
 ...
Hard real-time
Soft real-time
Myth #3:
Hard real-time
means safety-critical
(Summary…)
 High-Integrity = Certification
 Real-Time: software issue
 Periodic / Sporadic tasks
 Hard Real-Time ≠ Saf...
Aislamiento espacial
 Particiones virtuales
 Protección de memoria
Hardware
 Unidad de gestión de memoria
(MMU)
Everything flows,
nothing stands still
— Heraclitus
Real-time theory
 Response time analysis
 Tasks & shared resources
 Several RT schedulability policies
 Schedulability...
Espectro de RTOS
QNX
RT Linux
VxWorks 653
LynxOS 178
ORK
RTEMS
Complejidad SSOO
Strong methods
 Ravenscar Computational Model
 Specification languages: Z, B…
 Static analysis: pragma Restrictions
 R...
Traditional vs. Strong
methods
 Restricted functionality
 simplified code
 Static analysis
 not just testing!
Myth #4:
strong methods are
more expensive than
traditional methods
Supply and demand
Offre et demande
Oferta y demanda
Domanda e offerta
Закон спроса и предложения
ASSERT:
Automated proof-based
System and Software
Engineering for
Real-Time Systems
(Summary…)
 High-Integrity = Certification
 Real-Time: software issue
 Hard Real-Time ≠ Safety-critical
 Strong method...
Everything flows,
nothing stands still
— Heraclitus
Temporal
isolation
Temporal isolation
 Ada 2005 timing services
 CPU clocks
 CPU timers
 Timing events
(Ravenscar violation!)
WCET_Timer : Ada.Execution_Time.Timers.Timer(…);
task body Periodic_Task is
Next_Activation : Ada.Real_Time.Time := Epoch;...
Adding it to Ada?
 pragma WCET
 pragma Interarrival
 Ada.Dispatching
.Delay_Until (…)
task body Periodic_Task is
Next_Activation : Ada.Real_Time.Time := Epoch;
pragma Relative_Deadline (My_Deadline);
pragma W...
Spatial isolation
Everything flows,
nothing stands still
— Heraclitus
Myth #5:
increasing software
reliability means
increasing system safety
RMI problems
 References to distributed
objects can change
 Dynamic connections
 No one server thread per object
 Prio...
DSM problems
 Transparency to the
programmer…
 …so modelization problems
 RTA is not straighforward
Simplified
run-time system
 Blocking time minimization
 High-performance
 Low footprint
Other approaches to
memory isolation
 Static analysis
 Spark integrity annotations
 Run-time checks
 New Ada checks (a...
Current
compilation toolchain
source code object codecompiler linker
kernel
executable
*.adb *.c *.exe*.o
*.a
Meta-linker
source code
partition 1
object code
partition 1
compiler linker
binary
partition 1
meta-linker
kernel
executab...
Future work
 No CPU-mode changes
 Systems High criticality apps
only:
 Supervisor mode (kernel & apps)
 Between critic...
Protection summary
 Systems High+Low criticality
apps:
 Supervisor (kernel) + user mode
 Between partitions:
 Fence re...
Πάντα ῥεῖ καὶ
οὐδὲν μένει
— Ηρακλειτος
thesis-suruena
thesis-suruena
thesis-suruena
thesis-suruena
thesis-suruena
thesis-suruena
thesis-suruena
Próxima SlideShare
Cargando en…5
×

thesis-suruena

140 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
140
En SlideShare
0
De insertados
0
Número de insertados
6
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. Πάντα ῥεῖ καὶ οὐδὲν μένει — Ηρακλειτος

×