Date post: | 24-Jan-2016 |
Category: |
Documents |
Upload: | santiago-de-la-cruz-montes |
View: | 221 times |
Download: | 0 times |
J. García Martín 04/21/23 - 1
SISTEMAS DE TIEMPO REAL
Diseño de Sistemas de Tiempo Real. HRT-HOOD
J. García Martín 04/21/23 - 2
INDICE
• INTRODUCCIÓN
• VISIÓN GENERAL DE HRT-HOOD
• DISEÑO DE LA ARQUITECTURA LÓGICA
• DISEÑO DE LA ARQUITECTURA FÍSICA
• TRADUCCIÓN A LENGUAJE ADA
J. García Martín 04/21/23 - 3
INTRODUCCIÓN
¿Qué es HRT-HOOD?HOOD
Hierarchical Object Oriented Design Soportado por ESA (European Space Agency)
HRT-HOOD Hard Real Time HOOD Diseñado como parte de un proyecto ESA (European Space Agency)
El sistema se diseña como un conjunto de objetos abstractos
Descomposición jerárquica de los objetos
Se asocia una serie de atributos de tiempo real a cada objeto
Introduce restricciones en la descomposición para permitir un análisis temporal al final del diseño (prioridades fijas o EDS)
J. García Martín 04/21/23 - 4
INTRODUCCIÓN
Diseño Orientado a Objetos
Abstracción, ocultación de información y encapsulado
Un objeto se define por los servicios que ofrece
Se ocultan los detalles internos
Descomposición Jerárquica
Un objeto “padre” se puede descomponer en objetos “hijo”
Estructura el Control
Las operaciones en los objetos se activan mediante flujos de control (threads)
Puede haber varios threads operando simultáneamente en un objeto
J. García Martín 04/21/23 - 5
VISIÓN GENERAL DE HRT-HOOD
Características que debe tener el método
Reconocer los tipos de actividades/objetos propios de los STR
(actividades cíclicas, esporádicas etc.)
Integración de paradigmas de planificación con el proceso de diseño
Definición de requisitos temporales de los objetos
Definición de los requisitos de fiabilidad de cada objeto
Definición de la importancia relativa de cada objeto en el sistema
Soporte a diferentes modos de operación
Definición de objetos para el control de recursos
Descomposición que facilite la ubicación en procesadores
Descomposición que facilite el análisis de planificabilidad
J. García Martín 04/21/23 - 6
Ciclo de vida “clásico” para desarrollo software
Etapas en secuencia
Cada etapa comienza al terminar la anterior
Pruebas al final de realización
Detección de errores tardía
(ojo errores de requisitos temporales)
Vuelta atrás costosa
VISIÓN GENERAL DE HRT-HOOD
t
DiseñoArquitectónico
ImplementaciónCódigo
PruebasIndividuales
DiseñoDetallado
DefiniciónRequisitos
PruebasIntegración
PruebasSistema
J. García Martín 04/21/23 - 7
Obligaciones, compromisos y restricciones
Obligaciones
Propiedades que se desarrollarán en próximos niveles de diseño
Compromisos
Propiedades que no se podrán cambiar en próximos
niveles de diseño
Restricciones
Recursos: Velocidad CPU, Ancho de Banda etc.
Mecanismos: Prioridad interrupciones, política planificación etc.
Proceso de refinamiento del diseño
Va transformando obligaciones en compromisos
VISIÓN GENERAL DE HRT-HOOD
Obligaciones(Obligations)
Restricciones(Constraints)
Compromisos(Commitments)
Requisitos(Requeriments)
Entorno deEjecución
J. García Martín 04/21/23 - 8
VISIÓN GENERAL DE HRT-HOOD
Ciclo de vida de un STR
Diseño Arquitectura Lógica
Implementación Código(Estimación de tiempos)
Pruebas(Medidas de tiempos)
Diseño Detallado
Definición Requisitos
Diseño Arquitectura Físca(Análisis Planificabilidad)
Restricciones del Entornode Ejecución
Restricciones del Entornode Ejecución
J. García Martín 04/21/23 - 9
DISEÑO DE LA ARQUITECTURA LÓGICA
Representación de un objeto
T Nombre_del_Objeto
Operacion-1Operacion-2
Objeto-Tio
T Hijo-1
Operacion
Datos-1
T Hijo-2
Operacion
Datos-2
J. García Martín 04/21/23 - 10
DISEÑO DE LA ARQUITECTURA LÓGICA
Tipos de objetos Pasivos
Objetos que no tienen control cuando se invocan sus operaciones
No invocan operaciones de otros objetos espontáneamente
Protegidos
Pueden tener control cuando invocan una de sus operaciones (exclusión mutua)
No invocan operaciones de otros objetos espontáneamente
Influyen en el tiempo de bloqueo de los procesos que le invocan
Activos
Pueden tener control cuando invocan una de sus operaciones
Pueden invocar espontáneamente operaciones de otros objetos
Objetos de tipo general que no tiene restricciones
Siempre se descompone en objetos “hijos”
J. García Martín 04/21/23 - 11
DISEÑO DE LA ARQUITECTURA LÓGICA
Tipos de objetos
Cíclicos
Representan actividades periódicas
Pueden invocar espontáneamente operaciones de otros objetos
Solo ofrecen operaciones que requieran una atención inmediata (ATC)
Esporádicos
Representan actividades esporádicas
Pueden invocar espontáneamente operaciones de otros objetos
Solo ofrecen una operación para ser invocada por otros objetos (Start)
y una o mas operaciones que requieran atención inmediata (ATC)
J. García Martín 04/21/23 - 12
DISEÑO DE LA ARQUITECTURA LÓGICA
Proceso de refinamiento de diseño
Comienzo
Uno o varios objetos Activos y algún Pasivo
Proceso de descomposición
Aparecen más objetos Activos y Pasivos
Aparecen objetos Cíclicos, Esporádicos y Protegidos
Nivel terminal de refinamiento
Solo contiene: Pasivos; Protegidos; Cíclicos; Esporádicos
J. García Martín 04/21/23 - 13
DISEÑO DE LA ARQUITECTURA LÓGICA
Proceso de refinamiento de diseño
A Sistema
A Subsistema-1
Operación-11
Datos-1
A Subsistema-2
Operación-21Operación-22
C Tarea-1
Pa Objeto-1
Operación-O11Operación-O12
Datos-3
Datos-2
Dispositovo2
Dispositovo3
Dispositovo1
J. García Martín 04/21/23 - 14
DISEÑO DE LA ARQUITECTURA LÓGICA
Proceso de refinamiento de diseño
A Subsistema-2
S Tarea-2
Start
C Tarea-3
Pr Objeto-2
Operación-O21Operación-O22
Datos-21
Operación-21Operación-22
Datos-22Subsistema-1
Datos-1
J. García Martín 04/21/23 - 15
DISEÑO DE LA ARQUITECTURA LÓGICA
Proceso de refinamiento de diseño
Un objeto Cíclico o Esporádico terminal contiene un solo thread (tarea) que se planifica en tiempo de ejecución
Un objeto Protegido proporciona datos compartidos por tareas cíclicas y/o esporádicas, ofreciendo exclusión mutua
Un objeto Pasivo es un objeto accedido por un solo thread (tarea), o bien, por varios sin que puedan existir problemas de accesos concurrentes indebidos
J. García Martín 04/21/23 - 16
DISEÑO DE LA ARQUITECTURA LÓGICA
Reglas de descomposición jerárquica
HijosPadre
Activo Cíclico Esporádico Protegido Pasivo
Activo
Cíclico
Esporádico
Protegido
Pasivo
J. García Martín 04/21/23 - 17
DISEÑO DE LA ARQUITECTURA LÓGICA
Reglas de uso
UsadoUtilizador
Activo Cíclico Esporádico Protegido Pasivo
Activo
Cíclico SóloASER
Esporádico SóloASER
Protegido SóloASER
SóloATC
SóloATC/Start
Pasivo
ASER = Asynchronous Execution Request
J. García Martín 04/21/23 - 18
DISEÑO DE LA ARQUITECTURA FÍSICA
Objetivos
Trasladar el diseño lógico a los recursos físicos del entorno de ejecución Asegurar cumplimiento de requisitos no funcionales
Necesitamos Diseño que facilite el análisis Medio para predecir el comportamiento del diseño en la plataforma (hw,
kernel)
Ejemplo
Compatibilidad del diseño HRT-HOOD con el análisis de prioridades estáticas y políticas expulsoras
J. García Martín 04/21/23 - 19
DISEÑO DE LA ARQUITECTURA FÍSICA
Actividades
Asignación de objetos a procesadores Por ejemplo, ubicar los objetos que controlan dispositivos en los nodos
donde residan los controladores de dichos dispositivos
Planificación de las comunicaciones Planificar la red de comunicaciones para limitar los retardos de los
mensajes
Planificación de procesadores Determinar la planificación que asegura el cumplimiento de plazos de los
objetos
Estudio de fiabilidad Decidir si se utiliza tolerancia a fallos hardware, réplica de objetos
J. García Martín 04/21/23 - 20
DISEÑO DE LA ARQUITECTURA FÍSICA
Atributos de tiempo real de los objetosDeadline
Cada objeto cíclico o esporádico puede tener definido un plazo para su ejecución
Operation_WCET
Cualquier operación visible desde otro objeto debe tener definido su tiempo de ejecución para el caso peor
Operation_Budget
Cualquier operación visible desde otro objeto puede tener definido un límite de ejecución. Si se sobrepasa dicho límite se ejecuta un tratamiento de error definido en el objeto. (WCET = Tiempo límite + tratamiento de errores)
Thread_WCET (Peor caso de tiempo de ejecución de tareas C y S)
Thread_Budget (Límite de ejecución de tareas C y S)
J. García Martín 04/21/23 - 21
DISEÑO DE LA ARQUITECTURA FÍSICA
Atributos de tiempo real de los objetos
Period
Cada objeto cíclico tiene definido su periodo de ejecución
Offset
Tiempo que un thread cíclico debe esperar antes de empezar su operación
Minimun_Arrival_Time
Cada tarea esporádica debe tener definido su tiempo mínimo entre llegadas
Precedence_Constraints
Un thread puede tener restricciones de precedencia asociadas a su ejecución
J. García Martín 04/21/23 - 22
DISEÑO DE LA ARQUITECTURA FÍSICA
Atributos de tiempo real de los objetos
Priority
Cada tarea cíclica y esporádica puede tener definida su prioridad de acuerdo con la teoría de planificación que se sigue
Execution_Transformation
Un objeto cíclico o esporádico puede necesitar ser transformado en tiempo de ejecución para incorporar retardos extras. Por ejemplo, para modificar su periodo
Importance
Los objetos cíclicos y esporádicos pueden tener definida la importancia de sus threads dentro del sistema(por ejemplo, hard o soft)
J. García Martín 04/21/23 - 23
DISEÑO DE LA ARQUITECTURA FÍSICA
Resultados
Cada objeto tiene definidos sus atributos
Análisis del sistema
J. García Martín 04/21/23 - 24
TRADUCCIÓN A LENGUAJE ADA
Cada objeto HRT-HOOD se transforma en un paquete ADA95
with Otro;Package Objeto is ... Procedure Op1; Procedure Op2; ...end Objeto;
with Otro;Package body Objeto is ... Procedure Op1 is
... Procedure Op2 is
... ...end Objeto;
T Objeto
Op1Op2
Otro
Datos-1
J. García Martín 04/21/23 - 25
TRADUCCIÓN A LENGUAJE ADA
Objeto Activo Paquete con paquetes hijos
with Otro;Package Padre is -- ACTIVO ... Procedure Op1; Procedure Op2; ...end Padre;
private Package Padre.Hijo_A is
... Procedure OP_A1(...);end Padre.Hijo_A;
private Package Padre.Hijo_B is
... Procedure OP_B1(...); Procedure OP_B2(...);end Padre.Hijo_B;
with Padre.Hijo_A; Padre.Hijo_B;
Package body Padre is -- ACTIVO
... Procedure Op1 renames
Hijo_A.Op_A1; Procedure Op2 renames
Hijo_B.Op_B1; ...end Padre;
A Padre
A Hijo_A
Op_A1
Datos-1
A Hijo_B
Op_B1Op_B2
Op1Op2
J. García Martín 04/21/23 - 26
Objeto Cíclico Paquete con Tarea Periódica
Package Objeto_C_1 is -- CICLICO
...end Objeto_C_1;
with B;Package body Objeto_C_1
is -- CICLICO ...
task Periodica ispragma_priority
(Prioridad); end periodica; ...
task body Periodica is begin loop ...
Sgte := Sgte + Periodo;
delay until Sgte;
end loop; end Periodica; ...
end Objeto_C_1;
TRADUCCIÓN A LENGUAJE ADA
C Objeto_C_1
Datos-1
B
J. García Martín 04/21/23 - 27
TRADUCCIÓN A LENGUAJE ADA
Objeto Esporádico Paquete con Tarea Esporádica y Rut_Interrup.
Package Objeto_S_1 is -- ESPORADICO ...
protected Interrup is pragma priority (Prioridad)
procedure Rut_Tratamto; entry Esperar; private ...
end Interrup; ...
end Objeto_2 ;
with C;Package body Objeto_S_1 is --
ESPORADICO protected body Interrup is
... end Interrup;
... task body Thread is
begin loop Interrup.Esperar; ...
end loop; end Thread; ...
end Objeto_S_1 ;
S Objeto_S_1
Datos-1
C
J. García Martín 04/21/23 - 28
TRADUCCIÓN A LENGUAJE ADA
Objeto Protegido Paquete con Objeto Protegido
Package Objeto_Pr is -- PROTEGIDO ...
protected Nombre_Obj is pragma priority (Techo_Prioridad); procedure Operacion_O21; procedure Operacion_O22;
private ...
Dato: Tipo_Dato := Valor_Inicial;
procedure Proc_Privado(...); end Nombre_Obj;
... end Objeto_Pr ; Package Objeto_Pr is -- PROTEGIDO
... protected body Nombre_Obj is
... end Nombre_Obj; ...
end Objeto_Pr ;
Pr Objeto-Pr
Operacion-O21Operacion-O22