Sistemas de Tiempo Real UTP 2014 I 7

35
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

Transcript of Sistemas de Tiempo Real UTP 2014 I 7

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 4

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

7

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 ESPORADICO: REALIZACIÓN

9

ESCUELA DE INGENIERÍA DE REDES Y COMUNICACIONES

OBJETO ESPORÁDICO: SINCRONIZACION CON OBJETO PROTEGIDO

10

ESCUELA DE INGENIERÍA DE REDES Y COMUNICACIONES

11

ESCUELA DE INGENIERÍA DE REDES Y COMUNICACIONES

OBJETO ESPORÁDICO:SEPARACIÓN MÍNIMA

12

ESCUELA DE INGENIERÍA DE REDES Y COMUNICACIONES

13

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

16

ESCUELA DE INGENIERÍA DE REDES Y COMUNICACIONES

17

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

Moderador
Notas de la presentación

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

Moderador
Notas de la presentación

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

Moderador
Notas de la presentación

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

Moderador
Notas de la presentación

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

Moderador
Notas de la presentación

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

Moderador
Notas de la presentación

ESCUELA DE INGENIERÍA DE REDES Y COMUNICACIONES

REALIZACION DEL MOTOR

25

ESCUELA DE INGENIERÍA DE REDES Y COMUNICACIONES 26

ESCUELA DE INGENIERÍA DE REDES Y COMUNICACIONES

REALIZACION: HLW CONTROLLER

27

ESCUELA DE INGENIERÍA DE REDES Y COMUNICACIONES 28

ESCUELA DE INGENIERÍA DE REDES Y COMUNICACIONES

REALIZACION: HLW HANDLER

29

ESCUELA DE INGENIERÍA DE REDES Y COMUNICACIONES 30

ESCUELA DE INGENIERÍA DE REDES Y COMUNICACIONES 31

REALIZACION : PROCEDIMIENTO PRINCIPAL

ESCUELA DE INGENIERÍA DE REDES Y COMUNICACIONES 32

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