ESCUELA DE INGENIERA DE REDES Y COMUNICACIONES Facultad de Ingeniera de Sistemas y Electrnica 1 SUMARI O 1. ESQUEMAS DE TIEMPO REAL 2. PROGRAMAS DE TIEMPO REAL. ESQUEMAS DE TIEMPO REAL ESCUELA DE INGENIERA DE REDES Y COMUNICACIONES BIBLIOGRAFA 1. LEON SERRANO, GONZALO : Ingeniera de Sistemas de Software 1ra Edicin Madrid (1996) 2. BURNS Alan y WELLINGS Andy: Sistemas de Tiempo Real y Lenguajes de Programacin (3 Edicin) Espaa 3. ALDEA RIVAS MARIO: Planificacin de Tareas en Sistemas Operativos de Tiempo Real Estricto para Aplicaciones Empotradas. 1ra Edicin Espaa 2 ESCUELA DE INGENIERA DE REDES Y COMUNICACIONES EN LOS SISTEMAS DE TIEMPO REAL LOS INTERVALOS DE TIEMPO EN QUE SE EJECUTAN LAS TAREAS SE DEFINEN POR UN ESQUEMA DE ACTIVACIN Y POR UN PLAZO DE EJECUCIN. EN LO QUE RESPECTA AL ESQUEMA DE ACTIVACIN PUEDE SER PERIDICO, ES DECIR EN INTERVALOS REGULARES, O TAMBIN PUEDE SER APERIDICO, ES DECIR, EN RESPUESTA A SUCESOS EXTERNOS QUE OCURREN DE FORMA IRREGULAR.
UN SISTEMA DE TIEMPO REAL SE REPRESENTA MEDIANTE UN CONJUNTO DE OBJETOS:
o OBJETOS NO TERMINALES: SE DESCOMPONEN EN OTROS MS SIMPLES o OBJETOS TERMINALES: NO PUEDEN DESCOMPONERSE MAS
UN OBJETO SE CARACTERIZA POR SUS:
o OPERACIONES: QUE PUEDEN INVOCAR OTROS OBJETOS (MODELO DE LLAMADA A PROCEDIMIENTO)
o COMPORTAMIENTO: ACTIVO (CICLICO, ESPORDICO/PASIVO/PROTEGIDO RESTRICCIONES EN LAS OPERACIONES: SINCRONIZACION ESTADO 3 ESCUELA DE INGENIERA DE REDES Y COMUNICACIONES 4 ESCUELA DE INGENIERA DE REDES Y COMUNICACIONES OBJETO ACTIVO: PUEDE CONTROLAR CUANDO SE EJECUTAN SUS OPERACIONES Y PUEDEN INVOCAR OPERACIONES CON OTROS OBJETOS ESPONTANEAMENTE. SUS OPERACIONES PUEDEN BLOQUEARSE POR RESTRICCIONES DE INVOCACION (ASINCRONA, SINCRONA, INVOCACION REMOTA), ESTAS DOS LTIMAS PUEDEN TENER LMITE DE TIEMPO Y POR RESTRICCIONES FUNCIONALES, DEPENDIENDO DEL ESTADO INTERNO DEL OBJETO 5 ESCUELA DE INGENIERA DE REDES Y COMUNICACIONES Thread: Es la unidad ms pequea en un proceso que puede ser programado para ser ejecutado en un sistema operativo. Aunque puede variar dependiendo del sistema operativo, un thread est contenido dentro de un proceso. Al igual, ms de un thread puede estar en un proceso y compartir recursos como lo es la memoria. LAS NICAS OPERACIONES QUE PUEDEN TENER SON TRANSFERENCIAS DE CONTROL ASINCRONAS (ATC), QUE PUEDEN TENER RESTRICCIONES DE INVOCACIN Y TEMPORIZACIONES 6 ESCUELA DE INGENIERA DE REDES Y COMUNICACIONES 7 ESCUELA DE INGENIERA DE REDES Y COMUNICACIONES TIENE UNA NICA OPERACIN ASNCRONA, START, QUE PUEDE ESTAR LIGADA A UNA INTERRUPCIN. PUEDEN TENER TAMBIN OPERACIONES DE TRANSFERENCIA DE CONTROL ASNCRONA 8 ESCUELA DE INGENIERA DE REDES Y COMUNICACIONES OBJETO ESPORADICO: REALIZACIN 9 ESCUELA DE INGENIERA DE REDES Y COMUNICACIONES OBJETO ESPORDICO: SINCRONIZACION CON OBJETO PROTEGIDO 10 ESCUELA DE INGENIERA DE REDES Y COMUNICACIONES 11 ESCUELA DE INGENIERA DE REDES Y COMUNICACIONES OBJETO ESPORDICO:SEPARACIN MNIMA 12 ESCUELA DE INGENIERA DE REDES Y COMUNICACIONES 13 ESCUELA DE INGENIERA DE REDES Y COMUNICACIONES PUEDE CONTROLAR CUANDO SE EJECUTAN SUS OPERACIONES Y NO INVOCA OPERACIONES DE OTROS OBJETOS ESPONTANEMANETE. SUS OPERACIONES SE EJECUTAN EN EXCLUSION MUTUA. LA INVOCACION PUEDE SER ASINCRONA O SINCRONA, Y EN ESTE CASO PUEDE TENER TEMPORIZACIONES Y RESTRICCIONES TEMPORALES 14 ESCUELA DE INGENIERA DE REDES Y COMUNICACIONES NO CONTROLAN CUANDO SE EJECUTAN SUS OPERACIONES Y NO INVOCAN OPERACIONES DE OTROS OBJETOS ESPONTNEAMENTE, POR TANTO SUS OPERACIONES SE EJECUTAN CUANDO SE INVOCAN 15 ESCUELA DE INGENIERA DE REDES Y COMUNICACIONES 16 ESCUELA DE INGENIERA DE REDES Y COMUNICACIONES 17 ESCUELA DE INGENIERA DE REDES Y COMUNICACIONES HRT-HOOD, es un mtodo de diseo estructurado, basado en objetos, para STR en general y estricto en particular. El sistema se disea como una jerarqua de objetos abstractos, donde un objeto se caracteriza por sus operaciones y su comportamiento, y cada objeto se puede descomponer en otros dems bajo nivel. DISEO CON HRT-HOOD 18
HOOD HIERARCHICAL OBJECT ORIENTED DESIGN SOPORTADO POR ESA (EUROPEAN SPACE AGENCY)
HRT-HOOD HARD REAL TIME HOOD DISEADO COMO PARTE DE UN PROYECTO ESA (EUROPEAN SPACE AGENCY)
EL SISTEMA SE DISEA COMO UN CONJUNTO DE OBJETOS ABSTRACTOS DESCOMPOSICIN JERRQUICA DE LOS OBJETOS SE ASOCIA UNA SERIE DE ATRIBUTOS DE TIEMPO REAL A CADA OBJETO INTRODUCE RESTRICCIONES EN LA DESCOMPOSICIN PARA PERMITIR UN ANLISIS TEMPORAL AL FINAL DEL DISEO (PRIORIDADES FIJAS O EDS)
ESCUELA DE INGENIERA DE REDES Y COMUNICACIONES 19
ABSTRACCIN, OCULTACIN DE INFORMACIN Y ENCAPSULADO o UN OBJETO SE DEFINE POR LOS SERVICIOS QUE OFRECE o SE OCULTAN LOS DETALLES INTERNOS
DESCOMPOSICIN JERRQUICA o UN OBJETO PADRE SE PUEDE DESCOMPONER EN OBJETOS HIJO
ESTRUCTURA EL CONTROL o LAS OPERACIONES EN LOS OBJETOS SE ACTIVAN MEDIANTE FLUJOS DE CONTROL (THREADS) o PUEDE HABER VARIOS THREADS OPERANDO SIMULTNEAMENTE EN UN OBJETO ESCUELA DE INGENIERA DE REDES Y COMUNICACIONES 20
RECONOCER LOS TIPOS DE ACTIVIDADES/OBJETOS PROPIOS DE LOS STR (ACTIVIDADES CCLICAS, ESPORDICAS ETC.) INTEGRACIN DE PARADIGMAS DE PLANIFICACIN CON EL PROCESO DE DISEO DEFINICIN DE REQUISITOS TEMPORALES DE LOS OBJETOS DEFINICIN DE LOS REQUISITOS DE FIABILIDAD DE CADA OBJETO DEFINICIN DE LA IMPORTANCIA RELATIVA DE CADA OBJETO EN EL SISTEMA SOPORTE A DIFERENTES MODOS DE OPERACIN DEFINICIN DE OBJETOS PARA EL CONTROL DE RECURSOS DESCOMPOSICIN QUE FACILITE LA UBICACIN EN PROCESADORES DESCOMPOSICIN QUE FACILITE EL ANLISIS DE PLANIFICABILIDAD CARACTERISTICAS ESCUELA DE INGENIERA DE REDES Y COMUNICACIONES 21
Etapas en secuencia o Cada etapa comienza al terminar la anterior Pruebas al final de realizacin o Deteccin de errores tarda (ojo errores de requisitos temporales) o Vuelta atrs costosa
t Diseo Arquitectnico Implementacin Cdigo Pruebas Individuales Diseo Detallado Definicin Requisitos Pruebas Integracin Pruebas Sistema CICLO DE VIDA CLSICO PARA DESARROLLO SOFTWARE ESCUELA DE INGENIERA DE REDES Y COMUNICACIONES 22
OBLIGACIONES o PROPIEDADES QUE SE DESARROLLARN EN PRXIMOS NIVELES DE DISEO
COMPROMISOS o PROPIEDADES QUE NO SE PODRN CAMBIAR EN PRXIMOS NIVELES DE DISEO
RESTRICCIONES o RECURSOS: VELOCIDAD CPU, ANCHO DE BANDA ETC. o MECANISMOS: PRIORIDAD INTERRUPCIONES, POLTICA PLANIFICACIN ETC.
PROCESO DE REFINAMIENTO DEL DISEO o VA TRANSFORMANDO OBLIGACIONES EN COMPROMISOS Obligaciones (Obligations) Restricciones (Constraints) Compromisos (Commitments) Requisitos (Requeriments) Entorno de Ejecucin OBLIGACIONES, COMPROMISOS Y RESTRICCIONES ESCUELA DE INGENIERA DE REDES Y COMUNICACIONES 23 Diseo Arquitectura Lgica Implementacin Cdigo (Estimacin de tiempos) Pruebas (Medidas de tiempos) Diseo Detallado Definicin Requisitos Diseo Arquitectura Fsca (Anlisis Planificabilidad) Restricciones del Entorno de Ejecucin Restricciones del Entorno de Ejecucin CICLO DE VIDA DE UN STR ESCUELA DE INGENIERA DE REDES Y COMUNICACIONES 24 ESCUELA DE INGENIERA DE REDES Y COMUNICACIONES REALIZACION DEL MOTOR 25 ESCUELA DE INGENIERA DE REDES Y COMUNICACIONES 26 ESCUELA DE INGENIERA DE REDES Y COMUNICACIONES REALIZACION: HLW CONTROLLER 27 ESCUELA DE INGENIERA DE REDES Y COMUNICACIONES 28 ESCUELA DE INGENIERA DE REDES Y COMUNICACIONES REALIZACION: HLW HANDLER 29 ESCUELA DE INGENIERA DE REDES Y COMUNICACIONES 30 ESCUELA DE INGENIERA DE REDES Y COMUNICACIONES 31 REALIZACION : PROCEDIMIENTO PRINCIPAL ESCUELA DE INGENIERA DE REDES Y COMUNICACIONES 32 En ejecucin Suspendido Bloqueado Listo Bloqueado Suspendido Listo Terminacin de la operacin de E/S o del evento S U S P E N D E R R E A N U D A R S U S P E N D E R R E A N U D A R SUSPENDER Terminacin de la operacin de E/S o del evento Despachar Expiracin del tiempo Espera de E/S o de algn evento E A S C T T A I D V O O S S Estados Pasivos ESTADOS DE UN PROCESO ESCUELA DE INGENIERA DE REDES Y COMUNICACIONES 33 PROGRAMAS DE TIEMPO REAL LA PROGRAMACION DE SISTEMAS EN TIEMPO REAL, SE CIMENTA EN LA CONCURRENCIA QUE EL LENGUAJE PROPORCIONA.
LOS SISTEMAS EMPOTRADOS INTERACTAN CON DISPOSITIVOS I/O ESPECIALES. LA PROGRAMACIN DE LOS CONTROLADORES (DRIVERS) PARA ESTOS DISPOSITIVOS REQUIERE: o LA CAPACIDAD PARA ENVIAR Y RECIBIR DATOS E INFORMACIN DE CONTROL A/DE ESTOS DISPOSITIVOS o LA HABILIDAD PARA MANEJAR INTERRUPCIONES
LA INTRODUCCIN DE LA NOCIN DEL TIEMPO EN UN LENGUAJE DE PROGRAMACIN PUEDE SER DESCRITA EN TERMINOS DE : o ACCESO A UN RELOJ, DE MODO QUE SE PUEDA MEDIR EL PASO DEL TIEMPO o RETRASO DE UN PROCESO, DE FORMA QUE PUEDA SER SUSPENDIDO DURANTE UN PERIODO DE TIEMPO DADO o PROGRAMACIN DE LMITES TEMPORALES (TIMEOUTS) DE FORMA QUE LA NO OCURRENCIA DE UN EVENTO DENTRO DE UN PERIODO DE TIEMPO ESPECIFICADO PUEDA SER RECONOCIDA Y TRATADA.
LENGUAJES COMO ADA, MODULA Y OCCAM PROPORCIONAN MECANISMOS DE ALTO NIVEL PARA PROGRAMAR ESTAS FUNCIONES DE BAJO NIVEL. ESCUELA DE INGENIERA DE REDES Y COMUNICACIONES 34 o ASIGNACIN DE PRIORIDADES A LOS PROCESOS, DE FORMA QUE SE PUEDA INFLUIR EN EL ORDEN DE EJECUCIN DE LOS MISMOS
CUANDO SE TRABAJE CON SISTEMAS EMPOTRADOS DE NATURALEZA REACTIVA, ES CONVENIENTE QUE EL LENGUAJE NOS FACILITE ESQUEMAS PARA LA EJECUCIN DE ACCIONES ASINCRONAS LIGADAS A EVENTOS Y TAMBIN PARA EL ABANDONO DE ACTIVIDADES EN CASO DE EXCEDER UN TIEMPO DETERMINADO.
TAMBIN SE DEBE CONSIDERAR EL DISPONER DE MECANISMOS QUE FACILITEN LA ASIGNACION SEGURA DE RECURSOS Y ESTABLECER LA ORGANIZACIN DE COLAS DE PROCESOS PENDIENTES.
SI UN PROGRAMA HA DE CUMPLIR DETERMINADOS REQUISITOS TEMPORALES HA DE TENER ALGUN MEDIO DE MEDIR EL PASO DEL TIEMPO. ESTO PUEDE HACERSE DE DOS MODOS DIFERENTES:
1. INCLUYENDO UNA PRIMITIVA RELOJ EN EL LENGUAJE 2. PROGRAMANDO UN DRIVER PARA EL RELOJ DEL SISTEMA ASOCIADO AL PROCESADOR (RELOJ INTERNO) O PARA UN RELOJ EXTERNO, O RADIO RECEPTOR QUE UTILICE UNA SEAL DE TIEMPO INTERNACIONAL (UTC, COORDINATED UNIVERSAL TIME) ESCUELA DE INGENIERA DE REDES Y COMUNICACIONES 35