SISTEMAS DE TIEMPO REAL
Diseño de Sistemas de Tiempo Real. HRT-HOOD
J. García Martín
07/10/2015
-1
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
07/10/2015
-2
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
07/10/2015
-3
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
07/10/2015
-4
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
07/10/2015
-5
VISIÓN GENERAL DE HRT-HOOD
Ciclo de vida “clásico” para desarrollo software

Etapas en secuencia
Cada etapa comienza al terminar la anterior
Definición
Requisitos
Pruebas
Sistema
Diseño
Arquitectónico

Pruebas al final de realización
Detección de errores tardía
(ojo errores de requisitos temporales)
Vuelta atrás costosa
Diseño
Detallado
Pruebas
Integración
Pruebas
Individuales
Implementación
Código
t
J. García Martín
07/10/2015
-6
VISIÓN GENERAL DE HRT-HOOD
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
Requisitos
(Requeriments)
Obligaciones
(Obligations)
Compromisos
(Commitments)

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
J. García Martín
07/10/2015
Restricciones
(Constraints)
Entorno de
Ejecución
-7
VISIÓN GENERAL DE HRT-HOOD
Ciclo de vida de un STR
Definición Requisitos
Diseño Arquitectura Lógica
Diseño Arquitectura Físca
(Análisis Planificabilidad)
Restricciones del Entorno
de Ejecución
Diseño Detallado
Implementación Código
(Estimación de tiempos)
Restricciones del Entorno
de Ejecución
Pruebas
(Medidas de tiempos)
J. García Martín
07/10/2015
-8
DISEÑO DE LA ARQUITECTURA LÓGICA
Representación de un objeto
T
Nombre_del_Objeto
T
Hijo-1
Datos-2
Operacion
Datos-1
Operacion-1
Operacion-2
T
Objeto-Tio
Hijo-2
Operacion
J. García Martín
07/10/2015
-9
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
07/10/2015
- 10
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
07/10/2015
- 11
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
07/10/2015
- 12
DISEÑO DE LA ARQUITECTURA LÓGICA
Proceso de refinamiento de diseño
A
Sistema
A
C
Subsistema-1
Tarea-1
Dispositovo2
Operación-11
Datos-1
A
Dispositovo1
J. García Martín
Subsistema-2
Operación-21
Operación-22
07/10/2015
Datos-3
Datos-2
Pa
Objeto-1
Dispositovo3
Operación-O11
Operación-O12
- 13
DISEÑO DE LA ARQUITECTURA LÓGICA
Proceso de refinamiento de diseño
A
Subsistema-2
S
C
Tarea-2
Tarea-3
Start
Datos-1
Datos-21
Datos-22
Pr
Operación-21
Operación-22
Subsistema-1
Objeto-2
Operación-O21
Operación-O22
J. García Martín
07/10/2015
- 14
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
07/10/2015
- 15
DISEÑO DE LA ARQUITECTURA LÓGICA
Reglas de descomposición jerárquica
Hijos
Activo
Cíclico





Cíclico




Esporádico






Padre
Activo
Protegido
Pasivo
J. García Martín
07/10/2015
Esporádico Protegido
Pasivo

- 16
DISEÑO DE LA ARQUITECTURA LÓGICA
Reglas de uso
Usado
Utilizador
Activo
Activo
Cíclico
Esporádico
Protegido
Pasivo





Cíclico
Sólo
ASER
Sólo
ASER
Sólo
ASER








Sólo
ATC
Sólo
ATC/Start


Esporádico
Protegido
Pasivo

ASER = Asynchronous Execution Request
J. García Martín
07/10/2015
- 17
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
07/10/2015
- 18
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
07/10/2015
- 19
DISEÑO DE LA ARQUITECTURA FÍSICA
Atributos de tiempo real de los objetos
Deadline
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
07/10/2015
- 20
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
07/10/2015
- 21
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
07/10/2015
- 22
DISEÑO DE LA ARQUITECTURA FÍSICA
Resultados
 Cada objeto tiene definidos sus atributos
 Análisis del sistema
J. García Martín
07/10/2015
- 23
TRADUCCIÓN A LENGUAJE ADA

Cada objeto HRT-HOOD se transforma en un paquete ADA95
T
Objeto
Op1
Op2
Datos-1
Otro
J. García Martín
07/10/2015
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;
- 24
TRADUCCIÓN A LENGUAJE ADA
Objeto Activo
A
with Otro;
Package Padre is -- ACTIVO
...
Procedure Op1;
Procedure Op2;
...
end Padre;
Padre
A
Hijo_A
Op_A1
Op1
Op2
Datos-1
A
Hijo_B
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;
Op_B1
Op_B2
J. García Martín
Paquete con paquetes hijos
07/10/2015
- 25
TRADUCCIÓN A LENGUAJE ADA
Objeto Cíclico
Paquete con Tarea Periódica
Package Objeto_C_1 is -- CICLICO
...
end Objeto_C_1;
C
Objeto_C_1
Datos-1
B
J. García Martín
07/10/2015
with B;
Package body Objeto_C_1 is -- CICLICO
...
task Periodica is
pragma_priority (Prioridad);
end periodica;
...
task body Periodica is
begin
loop
...
Sgte := Sgte + Periodo;
delay until Sgte;
end loop;
end Periodica;
...
end Objeto_C_1;
- 26
TRADUCCIÓN A LENGUAJE ADA
Objeto Esporádico
S
Objeto_S_1
Datos-1
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 ;
C
J. García Martín
Paquete con Tarea Esporádica y Rut_Interrup.
07/10/2015
- 27
TRADUCCIÓN A LENGUAJE ADA
Objeto Protegido
Pr
Objeto-Pr
Operacion-O21
Operacion-O22
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 ;
J. García Martín
07/10/2015
- 28
Descargar

Sistemas Distribuidos