– 15
DISEÑO DE LA ARQUITECTURA LÓGICA
Reglas de descomposición jerárquica
– 16
DISEÑO DE LA ARQUITECTURA LÓGICA
Reglas de uso
– 17
DISEÑO DE LA ARQUITECTURA FÍSICA
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
– 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
– 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)
– 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
– 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)
– 22
DISEÑO DE LA ARQUITECTURA FÍSICA
Resultados
Cada objeto tiene definidos sus atributos
Análisis del sistema
– 23
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
Op1
Op2
(Gp:) Otro
Datos-1
– 24
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_B1
Op_B2
Op1
Op2
– 25
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 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;
TRADUCCIÓN A LENGUAJE ADA
C Objeto_C_1
Datos-1
(Gp:) B
– 26
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
(Gp:) C
– 27
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-O21
Operacion-O22
Página anterior | Volver al principio del trabajo | Página siguiente |