– 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
– 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)
– 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
– 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
– 5
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
– 6
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
– 7
VISIÓN GENERAL DE HRT-HOOD
Ciclo de vida de un STR
– 8
DISEÑO DE LA ARQUITECTURA LÓGICA
Representación de un objeto
T Nombre_del_Objeto
Operacion-1
Operacion-2
(Gp:) Objeto-Tio
T Hijo-1
Operacion
Datos-1
T Hijo-2
Operacion
Datos-2
– 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”
– 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)
– 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
– 12
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-21
Operación-22
C Tarea-1
Pa Objeto-1
Operación-O11
Operación-O12
Datos-3
(Gp:) Datos-2
Dispositovo2
Dispositovo3
Dispositovo1
– 13
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-O21
Operación-O22
Datos-21
Operación-21
Operación-22
Datos-22
(Gp:) Subsistema-1
Datos-1
– 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
Página siguiente |