SISTEMAS DE TIEMPO REAL Diseño de Sistemas de Tiempo Real. HRT-HOOD

Slides:



Advertisements
Presentaciones similares
MODELOS ORIENTADOS A OBJETOS
Advertisements

PLANIFICACIÓN DE TESTING
Arquitectura de Sistema de E/S
Definición Objetivos Funciones de un S.O.
Fundamentos de Diseño de Software INFT.1
Sistema operativo Componentes de un sistema operativo
PROCESO Y MODELOS EN LA INGENIERIA DE SOFTWARE
CALIDAD DE PRODUCTO PORTADA CALIDAD DE PRODUCTO.
ADA: lenguaje de programación concurrente
UML 1.4 Peter Emerson Pinchao Solis.
Pruebas Orientadas a Objeto
Arquitectura CLARO-TECNOTREE
10º2 Sergio Posso. Jonatán Agualimpia. Julia Blandón. Docente:
Sistemas en estratos. Descripción: se organiza en una jerarquía de estratos, estando construido cada uno de ellos sobre el otro que tiene menor jerarquía.
Introducción 1 Puntos Clave –La orientación a objetos representa un cambio radical en los métodos tradicionales de creación de software –Los métodos tradicionales.
EEST N°2 Mar del Plata 7mo año Informática Personal y Profesional Docente: Barnés Castilla, Viviana Elisa / Modelos y Sistemas.
Guia Diseño Robert Echeverria
Etapas y actividades en el desarrollo OO basado en UML
UNIVERSIDAD LATINA (UNILA) ENCAPSULACION Y HERENCIA
Ingeniería del Software
Análisis y Diseño orientado a objetos con UML.
Introducción a los SSOO Sebastián Sánchez Prieto.
Elemento Lógico (Software)
DEPARTAMENTO DE INGENIERÍA INFORMÁTICA
Tema 10: Gestión de Memoria
Planificación Cíclica
Sistemas Operativos Distribuidos Ing. José L. Simón Mayo 2000.
DISEÑO DE SOFTWARE 1ª. Parte
Fundamentos de programación
Diseño e Implementación
Sistemas en tiempo real (STR)
 Tiempo real  Arquitectura Microkernel  Partición adaptativa.
ISF5501 Ingeniería de Software
Introducción al modelo Cliente-Servidor Carlos Rojas Kramer Universidad Cristóbal Colón.
Características de un sistema operativo
Planificación Dinámica de Tareas
CS-432: Ingeniería Moderna de Software Semana 3
Introducción a los Sistemas Operativos
VIMER HUAMAN COMUN GESTION DE REDES VIMER HUAMAN COMUN
SISTEMAS OPERATIVOS.
METODOLOGÍA OMT Diseño de sistemas.
Sistemas Concurrentes: Conceptos fundamentales
LENGUAJES DE PROGRAMACIÓN
Planificación Temporal y Seguimiento del Proyecto
Ingeniería de Requerimiento
Diseño e Implementación de Sistemas Basados en Conocimiento
Universidad Central de Venezuela Facultad de Ciencias Postgrado en Ciencias de la Computación Sistemas Distribuidos Albany Márquez.
Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 1 Planificación Cíclica Dr. Pedro Mejía Alvarez CINVESTAV-IPN, Departamento de Computación.
Introducción a los SOs.
Tema 8: Introducción a los SOs. Tema 8: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Introducción.
INSTITUTO TECNOLOGICO DE MINATITLAN ASIGNATURA: FUNDAMENTOS DE PROGRAMACION DOCENTE: JOSE ANGEL TOLEDO ALVAREZ ALUMNA: ALEJANDRA OSORIO ARVISU SEMESTRE:
Importancia en la efectividad del:
VISIÓN GENERAL DE LA IS Con independencia del modelo de proceso hay tres fases genéricas: Fase de definición Fase de desarrollo Fase de mantenimiento Cada.
Facultad de Ingeniería
TEMA 9: DIAGRAMA DE CLASE EN UML
Programación Orientada a Objeto
INTRODUCCION A SISTEMAS OPERATIVOS
Ingeniería de Requisitos
ARQUICTECTURA DE SERVIDORES
Introducción al proceso de verificación y validación.
Edwin Oliveros.  El diseño de sistemas consiste en la transformación del modelo de diseño, que toma en cuenta los requerimientos no funcionales y las.
Licenciatura Tecnologías de la Información y Comunicación
Ing. Johanna Macias Algoritmo, Estructura y Programación III.
Introduccion a los Sistemas en Tiempo Real
Tipo de relación entre clases Es uno de los aspectos que distinguen el paradigma de orientación a objetos frente a otros paradigmas. Mecanismo que,
Proceso de desarrollo de Software
La Programación Orientado a Objetos
PRESENTACION DE INGENIERIA ORIENTADA A OBJETOS
SOFTWARE DE COMPUTADORAS
Programación orientada a objetos La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos.
Transcripción de la presentación:

SISTEMAS DE TIEMPO REAL Diseño de Sistemas de Tiempo Real. HRT-HOOD J. García Martín 17/04/2017

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 17/04/2017

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 17/04/2017

Diseño Orientado a Objetos 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 17/04/2017

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 17/04/2017

VISIÓN GENERAL DE HRT-HOOD 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 J. García Martín 17/04/2017

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 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 17/04/2017

VISIÓN GENERAL DE HRT-HOOD Ciclo de vida de un STR J. García Martín 17/04/2017

DISEÑO DE LA ARQUITECTURA LÓGICA Representación de un objeto T Nombre_del_Objeto T Hijo-1 Datos-2 Operacion Objeto-Tio Datos-1 Operacion-2 Operacion-1 T Hijo-2 Operacion J. García Martín 17/04/2017

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) 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 17/04/2017

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 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 17/04/2017

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 17/04/2017

DISEÑO DE LA ARQUITECTURA LÓGICA Proceso de refinamiento de diseño A Sistema A Subsistema-1 C Tarea-1 Dispositovo2 Operación-11 Datos-1 Datos-2 Datos-3 Dispositovo3 Pa Objeto-1 A Subsistema-2 Dispositovo1 Operación-O11 Operación-O12 Operación-22 Operación-21 J. García Martín 17/04/2017

DISEÑO DE LA ARQUITECTURA LÓGICA Proceso de refinamiento de diseño A Subsistema-2 S Tarea-2 C Tarea-3 Start Datos-1 Subsistema-1 Datos-21 Datos-22 Pr Objeto-2 Operación-22 Operación-21 Operación-O21 Operación-O22 J. García Martín 17/04/2017

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 17/04/2017

DISEÑO DE LA ARQUITECTURA LÓGICA Reglas de descomposición jerárquica J. García Martín 17/04/2017

DISEÑO DE LA ARQUITECTURA LÓGICA Reglas de uso J. García Martín 17/04/2017

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 17/04/2017

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 17/04/2017

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 17/04/2017

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 17/04/2017

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 17/04/2017

DISEÑO DE LA ARQUITECTURA FÍSICA Resultados Cada objeto tiene definidos sus atributos Análisis del sistema J. García Martín 17/04/2017

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; Package body Objeto is Procedure Op1 is Procedure Op2 is T Objeto Op2 Op1 Datos-1 Otro J. García Martín 17/04/2017

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; A Padre A Hijo_A Op_A1 Op2 Op1 Datos-1 A Hijo_B Op_B2 Op_B1 J. García Martín 17/04/2017

TRADUCCIÓN A LENGUAJE ADA 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; C Objeto_C_1 Datos-1 B J. García Martín 17/04/2017

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 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 17/04/2017

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 ; protected body Nombre_Obj is Pr Objeto-Pr Operacion-O21 Operacion-O22 J. García Martín 17/04/2017