Upload
others
View
18
Download
0
Embed Size (px)
Citation preview
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