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 |