tema 1 introduccióndccia.ua.es/dccia/inf/asignaturas/str/temario/tema1.pdf · 2 maria isabel...

21
1 1 Maria Isabel Alfonso Galipienso. 2006 Tema 1 Introducción Definición Ejemplos de aplicación Conceptos básicos Tipos de sistemas Características de STR críticos Construcción de STR 2 Maria Isabel Alfonso Galipienso. 2006 Indice Definición Ejemplos de aplicación Conceptos básicos Tipos de sistemas Características de STR críticos Construcción de STR

Upload: others

Post on 30-Apr-2020

19 views

Category:

Documents


0 download

TRANSCRIPT

1

1Maria Isabel Alfonso Galipienso. 2006

Tema 1Introducción

DefiniciónEjemplos de aplicación

Conceptos básicosTipos de sistemas

Características de STR críticosConstrucción de STR

2Maria Isabel Alfonso Galipienso. 2006

Indice

DefiniciónEjemplos de aplicaciónConceptos básicosTipos de sistemasCaracterísticas de STR críticosConstrucción de STR

2

3Maria Isabel Alfonso Galipienso. 2006

Definición

Interacciona repetidamente con su entorno físicoResponde a los estímulos que recibe de dicho entorno en un plazo de tiempo determinado

Un sistema de tiempo real es un sistema informático que:

Para que el funcionamiento del sistema sea correcto no basta con que las acciones sean correctaslógicamente, sino que además, deben producirse dentro de un intervalo de tiempo especificado

ENTORNO

Sistema de control

Sistema de sensores

Sistema de actuadores

4Maria Isabel Alfonso Galipienso. 2006

Significado de tiempo real (I)

La reacción de los sistemas a los eventos externos debe ocurrir durante su evolución. Como consecuencia, el tiempo del sistema (tiempo interno) debe medirse usando la misma escala usada para medir el tiempo en el entorno controlado (tiempo externo)

Sistema de tiempo real ≠ Sistema rápido

3

5Maria Isabel Alfonso Galipienso. 2006

Significado de tiempo real (II)

Si en el sistema se incorporan eventos que evolucionan más rápidamente que las acciones que pueden manejarlos, entonces dichas acciones ya no serán efectivas.

El tiempo en que se ejecutan las acciones del sistema es significativo

6Maria Isabel Alfonso Galipienso. 2006

Características fundamentales

Necesidad de demostrar rigurosamente que el sistema cumple sus requisitos temporales y funcionales:

Las consecuencias de los errores pueden ser catastróficas

A menudo son sistemas "no visibles"Son muy dependientes del hardware (embedded systems)

Se suelen utilizar plataformas de desarrollo y de aplicación distintas

Uso de compiladores cruzadosDificultades para depurar los programas

4

7Maria Isabel Alfonso Galipienso. 2006

Indice

DefiniciónEjemplos de aplicaciónConceptos básicosTipos de sistemasCaracterísticas de STR críticosConstrucción de STR

8Maria Isabel Alfonso Galipienso. 2006

Ejemplos de aplicación (I)

Control digital

A/D

A/D

cálculos control

D/A

sensor planta actuador

entrada

referencia

r(t)

rk

yk

uk

u(t)y(t)

Controlador digital PID

entradas: yk , rk, ∀k= 0,2,3...cálculo de uk

uk = uk-2 + αek + βek-1 + γek-2

BUCLE DE CONTROL:fijar el temporizador para interrumpir cada periodo T;en cada interrupción, hacer

conversión analógica digital para obt. ycalcular la salida de control uconversión digital-analógica de u

fin hacery(t) : medición del estado de la planta en instante t

e(t) = r(t) − y(t) : diferencia entre el estado deseador(t) y el observado y(t)

5

9Maria Isabel Alfonso Galipienso. 2006

Ejemplos de aplicación (II)

Controlador aéreo

Hacer cada ciclo de 1/180 seg:Validar datos de sensores y seleccionar fuente de datos; si error, reconfigurar el sistemaRealizar los cálculos de control a 30Hz, una vez cada 6 ciclos, de los circuitos externos de inclinación, balanceo y guiñadaRealizar los cálculos de control a 90Hz una vez cada 2 ciclos, de los circuitos internos de balanceo usando como entrada las salidas del paso anteriorRealizar los cálculos de los circuitos internos de guiñada, usando las salidas del paso anteriorDar como salida los comandosEjecutar los comandos y esperar al principio del siguiente ciclo

10Maria Isabel Alfonso Galipienso. 2006

Ejemplos de aplicación (III)

Controladores de alto nivel

Jerarquía de control de un controlador de tráfico aéreo

desde sensores

respuestas comandos

estimador estado

controlador tráfico

-

estimador estado

gestión de vuelo

-

estimador estado

control de vuelo

-

datos aéreos

navegación planta virtual

planta virtual

planta física

interfaz sistema

6

11Maria Isabel Alfonso Galipienso. 2006

Ejemplos de aplicación (IV)

Procesamiento de señal

radardato muestreado y digitalizado DSP

N

procesador de datos

procesadores de señal

parámetros para el procesamiento de señal

estado de control

256-1024 muestras/bin

trackrecord

trackrecord

12Maria Isabel Alfonso Galipienso. 2006

Ejemplos de aplicación (V)

Bases de datos de tiempo realConsistencia temporal de los datos

Aplicaciones multimediaCompresión/descompresión MPEG

Estimación de movimientoTransformación coseno y codificaciónDescompresión

7

13Maria Isabel Alfonso Galipienso. 2006

Clasificación aplicaciones de tiempo real

Puramente cíclicas p.ej. controladores digitales

Mayormente cíclicas p.ej. controlador aéreo

Asíncronas y algo predecibles p.ej. comunicaciones multimedia, procesamiento de señales de radar

Asíncronas e impredecibles p.ej. sistemas de control inteligente

14Maria Isabel Alfonso Galipienso. 2006

Indice

DefiniciónEjemplos de aplicaciónConceptos básicosTipos de sistemasCaracterísticas de STR críticosConstrucción de STR

8

15Maria Isabel Alfonso Galipienso. 2006

Caracterización de las aplicaciones de tiempo real: JOB

Existen un conjunto de trabajos (Jobs) que necesitan recursos para su ejecución (p.ej. procesadores)

Caracterización de los jobs:Release time (rti ): instante en el que un job está listo para ejecutar (activación)Deadline (di ): instante en el que un job debe haber finalizado su ejecuciónResponse time (ri ): tiempo transcurrido entre su release time y su tiempo de terminaciónExecution time (ei ): tiempo necesario para completar su ejecución

16Maria Isabel Alfonso Galipienso. 2006

Job

Un release time de un job puede ser:Fixed/Jittered: conocemos exactamente cuándo se activa / conocemos un rango de tiempo durante el que se puede activarSporadic/Aperiodic: no sabemos cuándo se activa hasta que se produce un evento

Restricciones temporales:Hard: restricción que debe cumplirse necesariamente (si no se cumple un fallo puede resultar fatal)Soft: restricción que puede relejarse (si no se cumple se degrada el rendimiento del sistema, pero no tiene efectos catastróficos)

9

17Maria Isabel Alfonso Galipienso. 2006

Caracterización de las aplicaciones de tiempo real: TASK

Un conjunto de trabajos relacionadas forman una tarea (Task). Las tareas suelen tener restricciones de precedenciaUna Task periódica es una secuencia de jobs con idénticos parámetros. Se caracteriza por:

Period (Ti ): mínimo tiempo transcurrido entre dos activaciones sucesivas de sus jobsExecution time (Ci ): tiempo máximo de ejecución de todos sus jobsPhase (φi ): tiempo de activación de su primer job en Ti (φi =ri,1)

En lo sucesivo vamos a considerar tasks formadas por un único job, y nos referiremos a ellas como tareas o actividades

18Maria Isabel Alfonso Galipienso. 2006

Task

Una Task aperiódica/esporádica es una secuencia de jobsaperiódicos/esporádicos

Los release times de sus jobs no se conocen a priori. Los tiempos de "llegada" de los jobs (interarrival times) y sus tiempos de ejecución son variables aleatorias con una distribución de probabilidad A(x) y B(x) respectivamente

Una tarea es aperiódica si sus trabajos tienen soft deadlines o no tienen deadlines (p.ej. tarea para ajustar la sensibilidad de un radar)

Podemos optimizar sus tiempos de respuesta, pero nunca a expensas de tareas de tiempo real hard

Una tarea es esporádica si sus trabajos se activan en instantes de tiempo aleatorios y tienen deadlines hard

El principal objetivo es garantizar que los deadlines se cumplan siempre; la minimización de los tiempos de respuesta tiene una importancia secundaria

10

19Maria Isabel Alfonso Galipienso. 2006

Caracterización de las aplicaciones de tiempo real: Recursos

Los recursos disponibles para la ejecución del sistema de tiempo real son:

Procesadores (recursos activos)Recursos pasivos (Ej: memoria, mutex, bloqueos a bases de datos)

Un procesador puede ser:Preemptive: los trabajos pueden ser interrumpidosNon-preemtive: cada trabajo se realiza sin interrupciones

Vamos a considerar tasks formados por un único job. En lo sucesivo utilizaremos el término tarea (o actividad) para referirnos a una task con un único job).Así mismo consideraremos el término release time (ri ) para referirnos al valor que hemos definido como phase de la tarea (φi =ri,1)

20Maria Isabel Alfonso Galipienso. 2006

Parámetros de una tarea

tiempo de respuesta

(R)

activación i(release time)

Execution time (C)

deadline (D)

activación (i+1)

periodo (T)

11

21Maria Isabel Alfonso Galipienso. 2006

Indice

DefiniciónEjemplos de aplicaciónConceptos básicosTipos de sistemasCaracterísticas de STR críticosConstrucción de STR

22Maria Isabel Alfonso Galipienso. 2006

Tipos de sistemas de tiempo real

Según su criticidadSistemas de tiempo real HARDSistemas de tiempo real SOFT

Según la activación de las tareasSistemas dirigidos por tiempoSistemas dirigidos por eventos

12

23Maria Isabel Alfonso Galipienso. 2006

Sistemas de tiempo real HARD

Están formados por restricciones hard. Requieren una validación de que el sistema cumple siempre las restricciones (se debe demostrar que se cumplen)Comportamiento temporal está determinado por el entornoFormas de validar las restricciones:

Utilizando tests de planificabilidadUtilizando ejecutivos cíclicos

La mayoría de los sistemas empotrados (embedded) son sistemas hard

Sistema empotrado: es aquél que forma parte de otro sistema en el que realiza funciones de control. A menudo el computador no es visible. Sus recursos son limitadosEjemplos: automóviles, electrónica de consumo

24Maria Isabel Alfonso Galipienso. 2006

Sistemas de tiempo real SOFT

Están formados por restricciones soft. El comportamiento temporal viene determinado por el computadorSe permite un comportamiento en sobrecargas degradadoComo medidas de seguridad se utiliza la recuperación de fallosSuelen manejar un gran volumen de datosEjemplos:

Sistemas de transacciones on-lineSistemas multimedia

13

25Maria Isabel Alfonso Galipienso. 2006

Activación de las tareas

Sistemas dirigidos por tiempo(time-triggered systems)

Sistemas dirigidos por eventos(event-triggered systems)

Inicio en instantes predeterminados

Mecanismo básico: reloj

Operan mejor con cargas altas

Inicio cuando se produce un suceso de cambio de estado

Mecanismo básico: interrupciones

Pueden fallar si la carga es alta

periodo (T)

deadline (D) evento evento

deadline (D)

Tiempo mínimo entre2 llegadas consecutivas

26Maria Isabel Alfonso Galipienso. 2006

Indice

DefiniciónEjemplos de aplicaciónConceptos básicosTipos de sistemasCaracterísticas de STR críticosConstrucción de STR

14

27Maria Isabel Alfonso Galipienso. 2006

Características de un STR

Gran tamaño y complejidadNecesitan manipular números realesRequerimientos de fiabilidad y seguridadControl concurrente de componentes separados del sistemaFacilidades de tiempo real (soporte ejecución)Interacción con interfaces hardwareImplementación eficiente

28Maria Isabel Alfonso Galipienso. 2006

Gran tamaño y complejidad

Algunos STR tienen millones de líneas de códigoLa variedad de funciones requerida para responder a diferentes eventos del mundo real, aumenta la complejidad incluso en sistemas relativamente pequeñosDebido a los continuos cambios en los requerimientos del mundo real, los STR están sometidos a constantes mantenimientos y mejorasLos lenguajes y entornos de TR permiten descomponer los sistemas complejos en componentes más sencillos que pueden manejarse de forma más eficiente

15

29Maria Isabel Alfonso Galipienso. 2006

Fiabilidad y seguridad

Fiabilidad = Probabilidad de proporcionar el servicio requerido

CorrecciónLógicaTemporal

Seguridad = Probabilidad de recuperación frente a un fallo

Se deben implementar sistemas que sólo fallen de modo controlado, incluso en ambientes hostilesEl diseño del interfaz debe realizarse de forma que minimice la posibilidad de error humano

30Maria Isabel Alfonso Galipienso. 2006

Dependencia del tiempo (I)Se trata de garantizar que todas las veces que se ejecuta una tarea termina dentro de su plazo Esquema de activación: cuándo se debe ejecutar cada tarea

Periódica: la tarea se ejecuta regularmente, con un periodo bien definidoAperiódica: se ejecuta de forma irregular, en respuesta a un suceso del entorno o del propio sistemaEsporádica: exigencia de una separación mínima entre dos sucesos consecutivos

Para cumplir con los tiempos de respuesta y poder planificar el sistema, es necesario que el comportamiento del sistema sea determinista(predecible)

16

31Maria Isabel Alfonso Galipienso. 2006

ConcurrenciaLos dispositivos físicos controlados (sensores, actuadores, etc.) funcionan al mismo tiempo

Las tareas software que los controlan actúan concurrentementeSuficiente velocidad de proceso para simular paralelismo con un solo procesadorMuchos sistemas empotrados exigen verdadero paralelismo (sistemas multiprocesador)

Ejecución cíclica en manos del programadorComplican la labor del programadorProgramas poco claros y poco elegantesDificultad para probar la corrección del programaDificultad para lograr la ejecución en paralelo del programa en un sistema multiprocesadorColocar el código de manejo de errores es problemático

Tareas independientes soportadas por el lenguaje o el SOEs necesario conseguir una comunicación y sincronización fiables entre procesos

32Maria Isabel Alfonso Galipienso. 2006

Interacción con dispositivos físicos

Mecanismos de entrada/salida dependientes del dispositivoMonitorización de sensores y actuadoresRegistros de entrada y salida para capturar los datos

Se pueden generar interrupciones o excepcionesIndicar la realización de ciertas operacionesAlertar de la existencia de condiciones de error

Los manejadores de dispositivos forman parte del software de la aplicación

No están bajo el control del sistema operativoAntes la interfaz con los dispositivos se dejaba en manos del SO.Ahora, debido a la variedad de dispositivos y a la naturaleza de tiempo de respuesta crítico, el control debe ser directo

No es necesario programarlos con lenguajes de bajo nivelAntes se hacía mediante parches en ensambladorAhora, las exigencias de fiabilidad lo desaconsejan

17

33Maria Isabel Alfonso Galipienso. 2006

Eficiencia

Eficiencia en la implementación, debido a los requisitos temporales de un STR.

Se requiere una evaluación constante del coste de utilización de las características del lenguaje

Eficiencia en capacidad, ya que el espacio físico disponible suele ser muy limitadoEficiencia en costes económicos, puesto que incide directamente en la viabilidad comercial del producto final

34Maria Isabel Alfonso Galipienso. 2006

Cálculos con números reales

El sistema controlado proporciona valores asociados a una magnitud físicaEstos valores se filtran y se convierten a datos de ingeniería (conversores analógico-digital)El ordenador los representa de una forma aproximada (coma fija, coma flotante)Y también realiza los cálculos de forma aproximada (técnicas numéricas de resolución de ecuaciones)

18

35Maria Isabel Alfonso Galipienso. 2006

Fases en el desarrollo de un STR

Definición de requisitos

Diseño de la arquitectura lógica

Diseño de la arquitectura física

y análisis temporal

Diseño detallado

Codificación y cálculo de tiempos de ejecución

Pruebas y medidas de tiempos

Restricciones

Restricciones

36Maria Isabel Alfonso Galipienso. 2006

Algunas decisiones importantes

Procesador

Componentes hardware

Sistema operativo

Lenguaje de programación

Herramientas de desarrollo de software

Herramientas de depuración de software

Componentes software

19

37Maria Isabel Alfonso Galipienso. 2006

Indice

DefiniciónEjemplos de aplicaciónConceptos básicosTipos de sistemasCaracterísticas de STR críticosConstrucción de STR

38Maria Isabel Alfonso Galipienso. 2006

Basados en UNIX (RT-UNIX), QNX,Rtems, ....Específicos: VRTX, iRMX,…

Implementación de un S.T.R. (A)

Sobre un S.O. de tiempo real

Utilizan un conjunto de llamadas al sistema (primitivas)que permiten:

HW

RTS

STR

S.O.T.R

Crear procesos con prioridadesPlanificación basada en prioridadesFijar procesos en memoria (no intercambio)E/S rápida y eficienteMemoria compartidaMecanismo de concurrencia de bajo nivel

20

39Maria Isabel Alfonso Galipienso. 2006

Los lenguajes que permiten concurrencia pueden crear su propio soporte de ejecución (en inglés run-time support) que sustituye (o puede sustituir) al sistema operativo.

Implementación de un S.T.R. (B)

Lenguaje que INCLUYA un soporte de ejecución de tiempo real

HW

RTS

STR

S.O.T.RS.O.

40Maria Isabel Alfonso Galipienso. 2006

Es posible utilizar un lenguaje “convencional”con un soporte de ejecución específico (en inglés run time support) que sustituye (o puede sustituir) al sistema operativo.

Implementación de un S.T.R. (C)

Soporte de ejecución de tiempo real + Lenguaje convencional

HWRTS

Tareas de T.R.

Otras

STR

21

41Maria Isabel Alfonso Galipienso. 2006

Bibliografía básica

Capítulo 1 (Completo)Capítulo 2 (Apartado 2.5)

Sistemas de tiempo real y lenguajes de programación (3ª edición)Alan Burns and Andy WellingsAddison Wesley (2002)

42Maria Isabel Alfonso Galipienso. 2006

Capítulo 1 (Completo)Ejemplos de aplicaciones de tiempo real

Real-time systemsJane W. S. LiuPrentice Hall (2000)

Bibliografía complementaria