Post on 27-Dec-2015
PERIODO 2014-I
SISTEMAS DE TIEMPO REAL – 7
ESCUELA DE INGENIERÍA DE REDES Y COMUNICACIONES
Facultad de Ingeniería de Sistemas y Electrónica
1
SUMARIO
1. ESQUEMAS DE TIEMPO REAL 2. PROGRAMAS DE TIEMPO REAL.
ESQUEMAS DE TIEMPO REAL
ESCUELA DE INGENIERÍA DE REDES Y COMUNICACIONES
BIBLIOGRAFÍA
1. LEON SERRANO, GONZALO : Ingeniería de Sistemas de Software 1ra Edición Madrid (1996)
2. BURNS Alan y WELLINGS Andy: Sistemas de Tiempo Real y Lenguajes de Programación” (3ª Edición) España
3. ALDEA RIVAS MARIO: Planificación de Tareas en Sistemas Operativos de Tiempo Real Estricto para Aplicaciones Empotradas. 1ra Edición España
2
ESCUELA DE INGENIERÍA 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 ACTIVACIÓN Y POR UN PLAZO DE EJECUCIÓN. EN LO QUE RESPECTA AL ESQUEMA DE ACTIVACIÓN PUEDE SER PERIÓDICO, ES DECIR EN INTERVALOS REGULARES, O TAMBIÉN PUEDE SER APERIÓDICO, 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 MÁS 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, ESPORÁDICO/PASIVO/PROTEGIDO RESTRICCIONES EN LAS OPERACIONES: SINCRONIZACION ESTADO
3
ESCUELA DE INGENIERÍA 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 LÍMITE DE TIEMPO Y POR RESTRICCIONES FUNCIONALES, DEPENDIENDO DEL ESTADO INTERNO DEL OBJETO
5
ESCUELA DE INGENIERÍA DE REDES Y COMUNICACIONES
Thread: Es la unidad más pequeña 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, más 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 INVOCACIÓN Y TEMPORIZACIONES
6
ESCUELA DE INGENIERÍA DE REDES Y COMUNICACIONES
TIENE UNA ÚNICA OPERACIÓN ASÍNCRONA, START, QUE PUEDE ESTAR LIGADA A UNA INTERRUPCIÓN. PUEDEN TENER TAMBIÉN OPERACIONES DE TRANSFERENCIA DE CONTROL ASÍNCRONA
8
ESCUELA DE INGENIERÍA DE REDES Y COMUNICACIONES
OBJETO ESPORÁDICO: SINCRONIZACION CON OBJETO PROTEGIDO
10
ESCUELA DE INGENIERÍA 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 INGENIERÍA DE REDES Y COMUNICACIONES
NO CONTROLAN CUANDO SE EJECUTAN SUS OPERACIONES Y NO INVOCAN OPERACIONES DE OTROS OBJETOS ESPONTÁNEAMENTE, POR TANTO SUS OPERACIONES SE EJECUTAN CUANDO SE INVOCAN
15
ESCUELA DE INGENIERÍA DE REDES Y COMUNICACIONES
HRT-HOOD, es un método de diseño estructurado, basado en objetos, para STR en general y estricto en particular. El sistema se diseña como una jerarquía de objetos abstractos, donde un objeto se caracteriza por sus operaciones y su comportamiento, y cada objeto se puede descomponer en otros demás bajo nivel.
DISEÑO CON HRT-HOOD
18
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)
ESCUELA DE INGENIERÍA DE REDES Y COMUNICACIONES
19
ABSTRACCIÓN, OCULTACIÓN DE INFORMACIÓN Y ENCAPSULADO
o UN OBJETO SE DEFINE POR LOS SERVICIOS QUE OFRECE o SE OCULTAN LOS DETALLES INTERNOS
DESCOMPOSICIÓN JERÁRQUICA 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 SIMULTÁNEAMENTE EN UN OBJETO
ESCUELA DE INGENIERÍA DE REDES Y COMUNICACIONES
20
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
CARACTERISTICAS
ESCUELA DE INGENIERÍA DE REDES Y COMUNICACIONES
21
Etapas en secuencia
o Cada etapa comienza al terminar la anterior Pruebas al final de realización
o Detección de errores tardía (ojo errores de requisitos temporales) o Vuelta atrás costosa
t
DiseñoArquitectónico
ImplementaciónCódigo
PruebasIndividuales
DiseñoDetallado
DefiniciónRequisitos
PruebasIntegración
PruebasSistema
CICLO DE VIDA “CLÁSICO” PARA DESARROLLO SOFTWARE
ESCUELA DE INGENIERÍA DE REDES Y COMUNICACIONES
22
OBLIGACIONES
o PROPIEDADES QUE SE DESARROLLARÁN EN PRÓXIMOS NIVELES DE DISEÑO
COMPROMISOS
o PROPIEDADES QUE NO SE PODRÁN CAMBIAR EN PRÓXIMOS NIVELES DE DISEÑO
RESTRICCIONES
o RECURSOS: VELOCIDAD CPU, ANCHO DE BANDA ETC. o MECANISMOS: PRIORIDAD INTERRUPCIONES, POLÍTICA
PLANIFICACIÓN ETC. PROCESO DE REFINAMIENTO DEL DISEÑO
o VA TRANSFORMANDO OBLIGACIONES EN COMPROMISOS
Obligaciones(Obligations)
Restricciones(Constraints)
Compromisos(Commitments)
Requisitos(Requeriments)
Entorno deEjecución
OBLIGACIONES, COMPROMISOS Y RESTRICCIONES
ESCUELA DE INGENIERÍA DE REDES Y COMUNICACIONES
23
Diseño Arquitectura Lógica
Implementación Código(Estimación de tiempos)
Pruebas(Medidas de tiempos)
Diseño Detallado
Definición Requisitos
Diseño Arquitectura Físca(Análisis Planificabilidad)
Restricciones del Entornode Ejecución
Restricciones del Entornode Ejecución
CICLO DE VIDA DE UN STR
ESCUELA DE INGENIERÍA DE REDES Y COMUNICACIONES
24
En ejecución
Suspendido Bloqueado
Listo Bloqueado
Suspendido Listo
Terminación de la operación 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
Terminación de la operación de E/S o del evento
Despachar
Expiración del tiempo
Espera de E/S o de algún evento
E A S C T T A I D V O O S S
Estados Pasivos
ESTADOS DE UN PROCESO
ESCUELA DE INGENIERÍA 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 INTERACTÚAN CON DISPOSITIVOS I/O ESPECIALES. LA PROGRAMACIÓN DE LOS CONTROLADORES (DRIVERS) PARA ESTOS DISPOSITIVOS REQUIERE: o LA CAPACIDAD PARA ENVIAR Y RECIBIR DATOS E INFORMACIÓN DE CONTROL A/DE ESTOS
DISPOSITIVOS o LA HABILIDAD PARA MANEJAR INTERRUPCIONES
LA INTRODUCCIÓN DE LA NOCIÓN DEL TIEMPO EN UN LENGUAJE DE PROGRAMACIÓN 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 PROGRAMACIÓN DE LÍMITES 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 INGENIERÍA DE REDES Y COMUNICACIONES 34
o ASIGNACIÓN DE PRIORIDADES A LOS PROCESOS, DE FORMA QUE SE PUEDA INFLUIR EN EL ORDEN DE EJECUCIÓN DE LOS MISMOS
CUANDO SE TRABAJE CON SISTEMAS EMPOTRADOS DE NATURALEZA REACTIVA, ES
CONVENIENTE QUE EL LENGUAJE NOS FACILITE ESQUEMAS PARA LA EJECUCIÓN DE ACCIONES ASINCRONAS LIGADAS A EVENTOS Y TAMBIÉN PARA EL ABANDONO DE ACTIVIDADES EN CASO DE EXCEDER UN TIEMPO DETERMINADO.
TAMBIÉN SE DEBE CONSIDERAR EL DISPONER DE MECANISMOS QUE FACILITEN LA ASIGNACION SEGURA DE RECURSOS Y ESTABLECER LA ORGANIZACIÓN 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 SEÑAL DE TIEMPO INTERNACIONAL (UTC, COORDINATED UNIVERSAL TIME)
ESCUELA DE INGENIERÍA DE REDES Y COMUNICACIONES 35