Introducción a los sistemas
de tiempo real
Informática III
El tiempo es un tirano...
Objetivos
Introducir conceptos básicos relativos a
los sistemas de tiempo real (STR)
Examinar sus características
Analizar técnicas y herramientas para
el diseño de los STR
Informática III
Ing. Nora Blet
Pág. 2
Referencias
Alan Burns, Andy J. Wellings
"Sistemas de Tiempo Real y Lenguajes
de Programación", Addison-Wesley (3º
edición) cap. 1 y 2
Transparencias de Juan Antonio de la
Puente
http://polaris.dit.upm.es/~jpuente/ y
…
Informática III
Ing. Nora Blet
Pág. 3
Definición de Sistema de
tiempo real
Sistema informático que debe
responder a estímulos generados por su
entorno físico (incluido el paso del
tiempo físico) en un plazo de tiempo
finito y especificado
Informática III
Ing. Nora Blet
Pág. 4
Definición de Sistema de
tiempo real
Interacciona repetidamente con su entorno
físico:
 Realizando acciones de control sobre él
 Reaccionando a sus cambios
La corrección de los mismos depende no sólo
del resultado lógico de la computación
(corrección lógica), sino también del tiempo
en el que se producen los resultados
(corrección temporal). (Stankovic, 1988)
Informática III
Ing. Nora Blet
Pág. 5
Definición de Sistemas de
tiempo real
El tiempo en el que se ejecutan las
acciones es significativo
eventos
respuestas
e1
e2
e3
r1
r2
r3
Sistema de
Tiempo Real
en
e1 e2
r1 e3 r2 e1 r3 r1
t
rn
Informática III
Ing. Nora Blet
Pág. 6
Tiempo real vs. rapidez
En un análisis, que permanece válido aún
hoy día, a 22 años, Stankovic lamenta el error
de confundir tiempo real con rapidez



El STR debe ser suficientemente rápido para
cumplir los requerimientos pero, que un sistema
sea rápido no implica que sea un STR
La rapidez del STR la fijan la naturaleza de los
estímulos del entorno, con los cuales tiene que
tratar (propio de cada sistema)
La clave es la previsibilidad!
Informática III
Ing. Nora Blet
Pág. 7
Tiempo real vs. rapidez
Informática III
Ing. Nora Blet
Pág. 8
Tiempos de respuesta en
distintos dominios
Informática III
Ing. Nora Blet
Pág. 9
Evolución de la informática
Informática III
Ing. Nora Blet
Pág. 10
Sistemas embebidos
Informática III
Ing. Nora Blet
Pág. 11
Sistemas embebidos
Informática III
Ing. Nora Blet
Pág. 12
Sistemas embebidos
Muchos STR forman parte de un sistema de
ingeniería más amplio, tal como es el caso de
muchos sistemas de uso común en la
industria, transporte, comunicaciones,
medicina, el hogar, etc.:





Aviones
Trenes
Autos
Teléfonos móviles
Televisores, etc.
Informática III
Ing. Nora Blet
Pág. 13
Sistemas embebidos
Realizan funciones de control de otros
sistemas
Adaptado de Kopetz (1997)
Informática III
Ing. Nora Blet
Pág. 14
Características
Los recursos están limitados

Procesador, memoria, pantalla, etc.
Los dispositivos de entrada y salida son
especiales para cada sistema

No hay teclado ni pantalla normales
El computador debe reaccionar a tiempo
ante los cambios en el sistema que controla


Una acción retrasada puede ser inútil o peligrosa
Ejemplo: imágenes de TV, sistema de frenado ABS
El desarrollo de software para sistemas
embebidos tiene requisitos especiales
Informática III
Ing. Nora Blet
Pág. 15
Tareas de tiempo real
Informática III
Ing. Nora Blet
Pág. 16
Tareas de tiempo real
Las actividades de un STR se llaman tareas
Son activadas por estímulos del entorno
(incluido el paso del tiempo). Una tarea es
una secuencia de instrucciones que se
ejecuta en forma concurrente y compartiendo
recursos con otras tareas
Se las implementa mediante threads,
procesos, etc.
Informática III
Ing. Nora Blet
Pág. 17
Tareas de tiempo real
Tienen distintos tipos de propiedades



Funcionales: ¿Qué hacen?
Temporales: ¿Cuándo lo hacen?
Fiabilidad, seguridad, etc.
El comportamiento temporal de las
tareas se especifica mediante sus atributos
temporales


¿Cuándo se ejecutan?: Esquema de activación
¿Qué plazo tienen para ejecutar cada acción?
Informática III
Ing. Nora Blet
Pág. 18
Tareas de tiempo real
Informática III
Ing. Nora Blet
Pág. 19
Ejecución de una tarea de
tiempo real
Informática III
Ing. Nora Blet
Pág. 20
Atributos temporales
Plazo de respuesta


Absoluto: tiempo límite para terminar
Relativo: intervalo desde la activación
Se trata de garantizar que la ejecución
de cada tarea termine dentro del plazo
Informática III
Ing. Nora Blet
Pág. 21
Atributos temporales
Informática III
Ing. Nora Blet
Pág. 22
Atributos temporales
Activación


Periódica: a intervalos regulares, con
período T
Aperiódica: cada vez que ocurre un
suceso determinado
 Esporádica: separación mínima entre
activaciones T
 Estocástica, irregular o a rachas
Informática III
Ing. Nora Blet
Pág. 23
Tipos de requisitos temporales
¿Qué pasa sino se cumplen?
Tiempo real estricto (hard real-time)

Todas las acciones deben terminar dentro del plazo
especificado. Ejemplo: control de frenado
Tiempo real flexible (soft real-time)


Se pueden perder plazos de vez en cuando
El valor de la respuesta decrece con el tiempo
 Ejemplo: adquisición de datos
Tiempo real firme (firm real-time)


Se pueden perder plazos ocasionalmente
Una respuesta tardía no tiene valor
 Ejemplo: Sistema multimedia
Informática III
Ing. Nora Blet
Pág. 24
Tipos de requisitos temporales
Informática III
Ing. Nora Blet
Pág. 25
Ejemplos de Sistemas en
tiempo real
Informática III
Ing. Nora Blet
Pág. 26
Ejemplos de Sistemas en
tiempo real
Informática III
Ing. Nora Blet
Pág. 27
Ejemplos de Sistemas en
tiempo real
Informática III
Ing. Nora Blet
Pág. 28
Sistema de computador
embebido generalizado
Reloj
de tiempo real
Control digital
Registro de datos
Sistema
controlado
Interfaz
Sistema de monitoreo remoto
Base de datos
Visualización de
datos
Consola de
operador
Informática III
Dispositivos
de
presentación
Interfaz de operador
Ing. Nora Blet
Real-Time Computer
Pág. 29
Características de los Sistemas
en tiempo real
Grandes y complejos


La variedad de funciones aumenta la
complejidad incluso en sistemas
relativamente pequeños
La adaptación a entornos cambianteslas
aplicaciones deben evolucionar
continuamentelos STR deben ser
extensibles
Informática III
Ing. Nora Blet
Pág. 30
Características de los Sistemas
en tiempo real
Manipulación de números reales

Ejemplo: Se debe tener un modelo
matemático que relacione el calor aplicado
y el incremento de temperatura del
termonúmeros en punto flotante
Informática III
Ing. Nora Blet
Pág. 31
Características de los Sistemas
en tiempo real
Extremadamente fiables y seguros
(dependability)



Muchos ejemplos dramáticos ilustran que
el hardware y el software de los
computadores debe ser fiable y seguro
El tamaño y complejidad de los STR
exacerban el problema de la fiabilidad
Mecanismos para recuperar fallos
(esperados y no esperados)
Informática III
Ing. Nora Blet
Pág. 32
Características de los Sistemas
en tiempo real
Simultaneidad de acciones
(concurrencia)


Los dispositivos físicos controlados
funcionan al mismo tiempo
Las tareas que los controlan actúan
concurrentemente
Informática III
Ing. Nora Blet
Pág. 33
Características de los Sistemas
en tiempo real
Determinismo temporal


Acciones en intervalos de tiempo determinados
Es fundamental que el comportamiento
temporal de los STR sea determinista o, al
menos, previsible
 No confundir con eficiencia
 El STR debe responder correctamente en todas las
situaciones
 En los STR estrictos hay que prever el comportamiento
en el peor caso posible
Informática III
Ing. Nora Blet
Pág. 34
Características de los Sistemas
en tiempo real
Interacción con el hardware

Los manejadores de dispositivos forman
parte del software de aplicación
Implementación eficiente

Puesto que los STR son críticos respecto al
tiempo, este requisito es más importante
que en otro tipo de sistemas
Informática III
Ing. Nora Blet
Pág. 35
Desarrollo de Sistemas en
tiempo real
Informática III
Ing. Nora Blet
Pág. 36
Desarrollo de Sistemas en
tiempo real
Los métodos, herramientas y tecnologías que se
usan para construir otros tipos de sistemas no sirven
para los STR



No son lo suficientemente fiables
Sólo contemplan tiempos de respuesta medio, no el peor
No garantizan los requisitos temporales
Las plataformas de desarrollo y ejecución suelen ser
diferentes


Es difícil hacer pruebas en la plataforma de ejecución
Es difícil medir los tiempos con precisión
Informática III
Ing. Nora Blet
Pág. 37
Desarrollo cruzado
Informática III
Ing. Nora Blet
Pág. 38
Aspectos de un sistema
Funcionalidad


Relación entre entradas y salidas
No se considera concurrencia, sincronización, tiempo real,
fiabilidad, seguridad, etc.
Arquitectura

Componentes definidos por sus interfaces
Concurrencia y tiempo real


Hebras, sincronización
Planificación y análisis temporal
Implementación


Código de aplicación
Plataforma: RTOS, middleware
Informática III
Ing. Nora Blet
Pág. 39
Diseño de Sistemas de tiempo
real
Informática III
Ing. Nora Blet
Pág. 40
Diseño de Sistemas de tiempo
real
Informática III
Ing. Nora Blet
Pág. 41
Diseño de Sistemas de tiempo
real
Informática III
Ing. Nora Blet
Pág. 42
Diseño de Sistemas en tiempo
real
Informática III
Ing. Nora Blet
Pág. 43
Diseño de Sistemas de tiempo
real
Las actividades de
desarrollo de los
STR incluyen las
tradicionales de
otros sistemas,
aunque tienen
requerimientos
adicionales
Informática III
Ing. Nora Blet
Pág. 44
Integración de métodos y
herramientas
Informática III
Ing. Nora Blet
Pág. 45
Integración de métodos y
herramientas
Informática III
Ing. Nora Blet
Pág. 46
Integración de métodos y
herramientas
Informática III
Ing. Nora Blet
Pág. 47
Integración de métodos y
herramientas
Informática III
Ing. Nora Blet
Pág. 48
Lenguajes de programación
Hay varias clases de lenguajes de
interés para los STR:

Assembler
 Flexibles y eficientes pero costosos y poco
fiables
Informática III
Ing. Nora Blet
Pág. 49
Lenguajes de programación
Lenguajes secuenciales (Fortran, C,
C++,etc.)

Necesitan soporte del SO para concurrencia
y tiempo real
Informática III
Ing. Nora Blet
Pág. 50
Lenguajes de programación
Lenguajes concurrentes (Ada,
Java,…)

Informática III
Concurrencia y tiempo real incluidos en el
lenguaje
Ing. Nora Blet
Pág. 51
Lenguajes de tiempo real
Informática III
Ing. Nora Blet
Pág. 52
Descargar

Aplicaciones Distribuidas