J. García Martín 15/06/2016 – 35 GUÍA PARA EL USO DE ADA
Selección … – Estructuras Dinámicas
J. García Martín 15/06/2016 – 36 GUÍA PARA EL USO DE ADA
Selección … Excepciones
J. García Martín 15/06/2016 – 37 PERFIL DE RAVENSCAR
Introducción
Para Ada95 Los Sistemas de Alta Integridad no utilizaban concurrencia del lenguaje Define un subconjunto de facilidades de Ada95 (Lenguaje Completo => Muy extenso) Motivos para definir un modelo restringido: Incrementa eficiencia, disminuye sobrecarga Reduce falta de determinismo Simplifica el run time Elimina facilidades que impiden análisis temporal
J. García Martín 15/06/2016 – 38 PERFIL DE RAVENSCAR
Introducción
Adecuado a: Aplicaciones Safety-Critical que requieren certificación Sistemas Alta Integridad que requieren determinismo funcional STR concurrentes que requieren determinismo temporal STR con restricciones de t. Ejecución que requieren altas prestaciones STR con restricciones de memoria que requieren utilización de memoria determinista
J. García Martín 15/06/2016 – 39
Definición del perfil (1) Tareas a nivel de librerías
No tareas ni objetos protegidos dinámicos
Objetos Protegidos a nivel de librería: Sin entradas (datos compartidos con exclusión mútua) Con una sola entrada (para enviar señales de activación) Barreras consisten en una variable simple (no hay efectos laterales) Sólo puedeestar 1 tarea en una entrada (fácil verificación)
Tarea = bucle infinito con un punto de activación (delay o entry)
No permite reencolado (fácil análisis funcional y temporal)
No Abort ni ATC (sobrecarga el run-time)
PERFIL DE RAVENSCAR
J. García Martín 15/06/2016 – 40
Definición del perfil (2)
No instrucción Select (reduce determinismo funcional)
No entradas a tareas (difícil análisis funcional y temporal)
Delay until (No delay)
Paquete Real_Time (No Calendar)
No prioridades dinámicas
Incluye FIFO Within Priority + Ceiling Locking
Contempla planificación cooperativa PERFIL DE RAVENSCAR
J. García Martín 15/06/2016 – 41
Implementación
Debe soportar planificación expulsora y no expulsora
Run-time sencillo y con baja sobrecarga
Los algoritmos del run-time deben: tener un WCET determinista tiempo medio de ejecución lo mas corto posible minimizar uso de memoria global no adquirir memoria dinámica ser conformes a estándares de seguridad ser conformes al propio perfil Ravenscar
Comprobaciones en tiempo de compilación
PERFIL DE RAVENSCAR
J. García Martín 15/06/2016 – 42
Herramientas adicionales
AdaCover Detecta que se ha ejecutado todo el código (aplicación + run time) Sigue el estándar DO-178B
PerfoRMAx Análisis de planificacbilidad El usr puede elegir entre varias teorías de planificabilidad Visión gráfica de la carga del procesador PERFIL DE RAVENSCAR
Página anterior | Volver al principio del trabajo | Página siguiente |