Está en la página 1de 61

Sistemas en Tiempo Real

(STR)

Introduccin

1
Sistemas en Tiempo Real
Objetivos:
 Conocer los conceptos ms importantes relacionados con los sistemas
en tiempo real (STR).
 Conocer la problemtica del desarrollo de los sistemas de tiempo real
 Examinar sus caractersticas ms importantes y verificar en los
campos de aplicacin.
 Conocer los mtodos y herramientas que se utilizan para disear,
analizar y realizar STR.
 Saber desarrollar aplicaciones con lenguajes apropiados.
 Conocer la problemtica del sistema operativo y su influencia
Requisitos:
 Programacin en lenguaje de alto nivel (C, Ada)
 Sistemas Operativos.
 Arquitectura de computadoras.
2
Contenido

 Introduccin
 Que es un Sistema de Tiempo Real.
 Restriccion Temporal
 Estructura de un STR
 Predecibilidad.
 Tipo de tareas.
 Planificacin de Sistemas de Tiempo Real
 Sistemas Empotrados
 Aplicaciones de Sistemas de Tiempo Real
 etc

3
Ejemplo: Mars Pathfinder

Gobernada por un procesador con sistema


operativo en tiempo real VXWorks.
4
Ejemplo: Mars Pathfinder

Un nico procesador ejecuta varias tareas:


Tarea de alta prioridad que tiene que comprobar peridicamente
que todo el sistema funciona correctamente.
Tareas de media prioridad: adquisicin de imgenes, compresin de
informacin, otros subsistemas.
Tarea de baja prioridad manejando una estacin meteorolgica
de la que hay que recabar datos en intervalos relativamente grandes.
Tiene una regin crtica con la tarea de alta prioridad para el acceso a
datos comunes, que caus el fallo debido a una inversin de
prioridad.

5
Ejemplo: Mars Pathfinder, Interaccin
entre tareas

6
Ejemplo: Jerarqua de Control de Vuelo

7
Ejemplo: Control de Trafico Areo

8
Ejemplo: Inyeccin de combustible

 El sistema de control de inyeccin de combustible


en un motor alternativo (presentes en autos) debe
realizar la inyeccin de la mezcla dentro del
intervalo de tiempo marcado por la rotacin del
motor, de otro modo el motor no funcionar
correctamente.

9
Que es un Sistema de Tiempo real ?
 Un sistema de tiempo real es un sistema de
procesamiento de informacin el cual tiene que
responder (en un perodo finito y especfico) a
estmulos de entrada generados externamente.

10
Que es un Sistema de Tiempo real ?
 Las respuestas correctas dependen no solo de los resultados lgicos
sino tambin del momento (tiempo) en que son entregadas (restriccin
de tiempo).
 Las fallas para responder a tiempo son tan malas como una mala
respuesta.

11
Restriccin Temporal
 Si queremos controlar la
velocidad de un motor
sometido a una carga variable
utilizando un control PID. El
control PID es una funcin a
la que se le pasan unos
parmetros (velocidad actual
del motor) y retorna el valor
de la seal de control que hay
que aplicar al motor (la
tensin con la que hay que
alimentar el motor)

12
Restriccin Temporal

 La teora supone que el tiempo de cmputo es


despreciable, esto es, desde que se lee la velocidad del
motor hasta que se acta, pasa muy poco tiempo.
Normalmente se puede tolerar un cierto retraso. Una
caracterstica es que el algoritmo PID se tiene que
ejecutar peridicamente. Si entre dos invocaciones
consecutivas a la funcin PID pasa demasiado tiempo,
entonces el motor puede alcanzar una velocidad no
deseada.

13
Restriccin Temporal
 En resumen podemos considerar la funcin PID como un
programa que se ha de ejecutar de forma peridica (Ti);
desde que la ponemos en ejecucin hasta que acaba, ha de
estar acotado por un tiempo mximo (Di) que viene
impuesto por la teora de diseo del PID, y que en funcin
de la velocidad del procesador que tengamos, el tiempo de
ejecucin del propio cdigo PID emplea una cantidad de
tiempo (Ci).

Ti: Periodo de la tarea i.


Di: Plazo de ejecucin (deadline) de la tarea i.
Ci: Tiempo de computo en el peor de los casos de la tarea i.

14
Restriccin Temporal
 Si el sistema est compuesto por una sola tarea,
entonces no hay problema de tiempo real. En caso de
que el procesador no es lo suficientemente rpido
entonces simplemente se cambia de procesador.

 Los problemas de Tiempo Real aparecen cuando el


sistema est compuesto por varias tareas, y hay que
repartir el procesador (o procesadores) entre todas ellas.
Para ello no podemos utilizar un sistema clsico de
tiempo compartido como puede ser el utilizado por
Linux con los procesos normales, ni programas que
requieran tiempo real en Windows.

15
Restriccin Temporal
 Se debe de usar un sistema operativo de tiempo real para
garantizar que su tarea crtica se ejecute de manera precisa
en el horario establecido. El sistema operativo de Windows
esta diseado para ofrecer o compartir tiempo del
procesador a tareas que corren en el fondo (background).
 Como en este caso el usuario tiene poco control sobre cmo
el procesador comparte su tiempo, Windows no es
considerado un sistema operativo de tiempo real. De esta
manera, tareas no crticas (como un protector de pantalla o
software de proteccin de virus) pueden interferir con un
proceso de tiempo crtico en LabVIEW por ejemplo, como
una aplicacin de adquisicin de datos o un lazo de
control.

16
Estructura de un STR tpico

17
Necesidad de concurrencia en
sistemas de tiempo real
 Lo habitual es que un sistema de tiempo real tenga que
realizar varias actividades de forma concurrente
 Por ejemplo: tareas en el controlador de un coche:
Medir la velocidad cada 200 ms
Controlar la inyeccin cada 40 ms
Control del ABS cada 80 ms
 Para el programador resulta ms sencillo trabajar sobre
cada una de las tareas de forma independiente
El sistema operativo o el lenguaje de programacin proporcionar el
soporte para que las tareas se ejecuten de forma concurrente

18
Requisitos funcionales
 Adquisicin de datos
a. Medida de variables
- Cada variable pertenece a la etapa de control de un susbsistema
- La imagen de una variable en el STR tiene un intervalo de
validez
- Las medidas pueden estar dirigidas por tiempo o por sucesos
b. Acondicionamiento de seales
- Los datos brutos se filtran y convierten a unidades de ingeniera
- Luego se analizan para obtener datos validados
c. Supervisin
- Cuando algn dato tiene valores incorrectos se generan alarmas
es importante identificar el suceso original de una serie de
alarmas encadenadas
19
Requisitos funcionales
 Control digital
El sistema de tiempo real puede actuar sobre el sistema
controlado para conseguir que tenga un comportamiento
determinado.
- La accion de control es funcin de la desviacin entre los
valores de referencia y los valores medidos de las variables
- El diseo de los algoritmos de control es un problema
importante
El comportamiento es muy regular (muestreo peridico)

20
Requisitos funcionales
 Interaccin con personas
a. La interfaz de operador es muy importante
- Una mala interfaz puede causar accidentes
b. Aspectos tpicos:
- Presentacin de datos
- Presentacin de alarmas
- Presentacin de tendencias
- Registro de datos
- Generacin de informes

21
Esquema de un Sistema de Tiempo
Real General
Termo
- ADC
Transductor
sensor
de presion
Comunicaciones
Switch T ADC

P Software de Tiempo Real


S
Calentador
tarea SO
tarea
Screen DAC tarea Reloj
Valvulas Computadora
Digital
&
Analogico
E/S Otras
Ambiente E/S

22
Esquema de un Sistema de Tiempo
Real General
Termo
- CAD
Transductor
sensor
de presion
Comunicaciones
Switch T ADC

P Software de Tiempo Real


S
Calentador
tarea SO
tarea
Screen CDA tarea Reloj
Valvulas

Entender la Caracterizar y Controlar Monitorizar


Aplicacion Disear el Sistema el Sistema el Sistema

23
Caractersticas de un Sistema de
Tiempo Real
1. Gran tamao y complejidad
Algunos STR tienen millones de lneas de cdigo.
La variedad de funciones aumenta la complejidad incluso en
sistemas relativamente pequeos.
2. Simultaneidad de acciones (concurrencia)
Los dispositivos fsicos controlados funcionan al mismo
tiempo.
Los componentes de software que los controlan actan
concurrentemente
3. Interaccin con Dispositivos de entrada y salida especiales
Los manejadores de dispositivos forman parte del software
de aplicacin.

24
Caractersticas de un Sistema de
Tiempo Real
4. Seguridad y fiabilidad
En sistemas crticos: fallos con consecuencias graves
- Prdida de vidas humanas
- Prdidas econmicas
- Daos medioambientales
5. Determinismo temporal
Acciones en intervalos de tiempo determinados
Es fundamental que el comportamiento temporal de los
STR sea determinista
- Tareas deben ser asignadas y terminadas antes de su plazo.
- La ejecucin correcta no solo considera la lgica sino tambin el
tiempo en que se producen los resultados

25
 Las aplicaciones que se ejecutan determinsticamente muchas
veces realizan una tarea crtica en iteraciones y estas iteraciones
consumen siempre la misma cantidad de tiempo del procesador.
De esta manera las aplicaciones determinsticas son apreciadas
no tanto por su velocidad, sino por su confiabilidad a responder
con consistencia a entradas y generar salidas con muy poco
"parpadeo" o jitter. (Jitter es el trmino que se usa para
identificar el promedio de las diferencias en tiempo que le toma
a un ciclo ejecutarse).

26
Predecibilidad

 Una caracterstica distintiva de un sistema en tiempo real es la


predecibilidad. La cual implica que debe ser posible demostrar o
comprobar a priori que los requerimientos de tiempos se cumplen en
cualquier circunstancia.
 Como consecuencia, la predecibilidad implica:
a. Una cuidadosa planificacin de tareas y recursos.
b.Cumplimiento predecible de requisitos temporales: determinismo.
c. Anticipacin a fallos, y sus requerimientos temporales.
d. Consideraciones de sobrecargas: degradacin controlada.
e. Consideraciones de elementos de impredecibilidad.

27
Tipo de Tareas

Las mencionadas caractersticas proporcionan un criterio para la


clasificacin de los sistemas de tiempo real. En particular, se habla de:
 Tareas Tiempo Crtico(Tiempo Real Duro- Hard Real-Time )
Las tareas deben completarse antes de su plazo de respuesta. El
incumplimiento de un plazo puede producir perdidas humanas o graves
perdidas materiales. Ejemplo: Sistema de frenado de un automvil, la
inyeccin de combustible en el motor de un avin,
 Tareas Acriticas (Tiempo Real Blando- Soft Real-Time )
Las tareas deben completarse tan pronto como sea posible. Se puede tolerar
que ocasionalmente se incumpla un plazo de respuesta.
la descompresin y visualizacin de un fichero mpeg. Aqu sencillamente
se tiene una degradacin de la calidad del sistema (la imagen se queda
congelada o se pierde algn fotograma).

28
Tipo de Tareas

Tareas Peridicas
Reiniciacin peridica de
tareas, cada instancia debe
completar antes de su plazo.
Por ejemplo, un sensor de
temperatura debe estar
midiendo 10 veces por
segundo.

T es el perodo de la tarea
D es el plazo de respuesta,
relativo al comienzo del
perodo

29
Tipo de Tareas

Tareas Aperidicas
Se activan una sola vez,
ejemplos: Dispara un misil y
verifica el blanco. Una falla de
energa en el sistema debe
provocar una interrupcin la
cual debe ser procesada por el
sistema
T es el tiempo mnimo entre
activaciones o separacin de la
tarea
D es el plazo de respuesta,
relativo al comienzo del
perodo

30
Ventajas de desarrollo de aplicaciones
Multitarea frente a Monotarea:
 Proteccin de memoria: si en un proceso se accede fuera
de su memoria asignada, no modifica datos en otro
proceso.
 Si el algoritmo de un proceso no es correcto, no afecta a la
ejecucin de los dems procesos salvo sincronizaciones.
 Se pueden ejecutar varios procesos en computadores
diferentes conectados mediante algn tipo de canal de
comunicacin.
 Los procesos pueden lanzarse y detenerse
individualmente, facilitando escalabilidad de aplicaciones.
 Implican una divisin de tareas adecuada para
coordinacin de trabajos entre varios programadores.
 Simplifican el cdigo de las aplicaciones cuando stas
tienen que atender a varios dispositivos y tareas diferentes.

31
Diseo de un Sistema de tiempo real
El diseo de un sistema de tiempo real pasa por varias fases.
 Primero se identifican las tareas a realizar y las restricciones
temporales que deben cumplir;
 Luego se escriben los programas que ejecutarn las tareas;
 Despus se mide el tiempo de cmputo de cada tarea y se realiza
un anlisis de planificabilidad. El anlisis de planificabilidad
consiste en aplicar unas pruebas al conjunto de tareas de tal
forma que si stas pasan el test entonces se puede garantizar que
ninguna tarea perder su plazo de ejecucin. Si no pasan el test
entonces se tiene que volver al principio y empezar de nuevo,
utilizando otro procesador ms potente o utilizando otros
algoritmos para implementar las tareas.
 Resumiendo: Las tareas se modelan con tres nmeros: P, D y C.
El objetivo del sistema es garantizar que todas las tareas (en
todas sus activaciones) cumplan sus plazos de ejecucin. La
forma de conseguirlo es teniendo un sistema predecible.

32
Planificacin : Tecnologa que permite
dar garantas de ejecucin al STR
 Problema
 Un conjunto de procesos requieren el acceso a un recurso
compartido: Procesador, medio de comunicacin,
dispositivos.
 Si no existe contencin suficiente:
Todos los procesos comparten adecuadamente el recurso
 Si existe algn grado de contencin en el sistema:
-Diseo: quien obtiene que prioridades, y cuando ?
-Cmo se asigna el acceso a los recursos compartidos ?
-Problemas de concurrencia

33
Planificacin vs. Planificabilidad

 Planificacin : enfoque para dar prioridad a una tarea sobre otra.

 Planificabilidad: anlisis formal que permite garantizar que un


conjunto de tarea peridicas pueden (o no) ser asignadas a un
recurso compartido (p.ej. el procesador) tal que cada una de las
tareas cumpla con su plazo de respuesta.

34
Proceso de Planificacin

Aplicacin
Aplicacin
Crtica
Crtica
Tarea
Planificador

Carga de Trabajo Anlisis de


de Tiempo Real Planificabilidad EJECUCIN
Ci
Ti
Di
No
Noes
esplanificable
planificable

35
Caracterizacin de la Aplicacin
r(t)
Sensor de
temperatura

Termo y(t)

Computadora

u(t)
Calefactor

Componentes: tanque, sensores, actuadores, interfaces A/D y computadora.

36
Caracterizacin de la Aplicacin

1. Restricciones de Funcionamiento.
 Componentes: tanque, sensores, actuadores, interfaces A/D y
computadora.
 En el sistema (planta), dada una u(t), se produce una y(t).
 El sistema recibe una seal de referencia r(t), el cual indica la
temperatura deseada.
 El objetivo del sistema de control es que y(t), sea lo mas parecida a r(t).
 Para lograr el objetivo, es preciso aplicar a la planta la seal u(t)
y(t) muestra el valor real de la temperatura del termo.

37
Caracterizacin de la Aplicacin

2. Restricciones de Tiempos:
Tiempos de cmputo.
Periodos de muestreo.
Tiempos de acceso a los dispositivos (sensores actuadores)
Plazos de Respuesta.
Anlisis de Planificacin.
Planificar el sistema con un Sistema Operativo.

Los tiempos hay que obtenerlos, ya sea mediante mediciones instruccin


por instruccin, mediante analizadores lgicos o osciloscopios digitales.
El periodo de muestreo y el plazo de respuesta dependen de la aplicacin.
Se trata de asegurar que:

Rj < Dj
38
Resumen de los requisitos Temporales

Tarea T C P U
1 16 4 1 0.250
2 40 5 2 0.125
3 80 32 3 0.400
0.775

39
Tipos de Planificacin
Planificacin Esttica
 Estimacin a-priori de las restricciones temporales de todas las tareas
del sistema
 Opera sobre un conjunto de tareas no necesariamente estticas
 Asignacin esttica de prioridades:
-Tabla esttica.
-Asignacin de prioridades estticas.
Planificacin Dinmica
 Los parmetros de las tareas (C,T,D) no son conocidas a priori
 Las tareas pueden arribar en forma dinmica. De la misma forma las
prioridades de las tareas se asigna durante la ejecucin.
 No puede dar garanta de cumplimiento de plazos a priori

40
Aplicaciones de los Sistema de
Tiempo Real
 Dominio Industrial
 Controlador de la planta
 Robot para tratamiento de material peligroso
 Uso militar
 Sistema de reconocimiento de blancos automtico
 Sistema de guiado de misiles y navegacin
 Sistemas altamente crticos
 Plantas nucleares
 Sistemas de avinica
 Sistemas de Telecomunicaciones
 Sistemas Multimedia
 Sistemas de Telefonia Mobil
41
Sistemas Empotrados (Embebidos)
 Los recursos estn limitados: procesador, memoria, pantalla, etc.
 Realizan una tarea muy especfica. Ejemplos: control de frenos
ABS y climatizador en vehculos.
 Forman parte de un sistema mayor.
 Los programas se almacenan en unidades de estado slido
(memorias ROM, FLASH) para soportar condiciones
ambientales especiales

42
Sistemas Empotrados (Embebidos)
 Los dispositivos de entrada/salida son especiales para cada sistema:
sensores (temperatura, desplazamiento, presin, etc.) y actuadores
(electromecnicos, hidrulicos, neumticos, etc.).
 La programacin del manejo de perifricos ha de hacerse en muchos
casos a bajo nivel.
 Normalmente no interactan directamente con operarios ni usuarios, y
si lo hacen, se utilizan elementos de panel especficos. Ejemplo: horno
microondas, camaras de video
 Hay que reaccionar a tiempo ante cambios del sistema controlado

43
Ejemplos de aplicacin: computadores
industriales

Mltiples formatos y plataformas


Normalmente deben atender a varios dispositivos
concurrentemente:
a. Comunicaciones
b. Interfaz con el operario
c. Subsistemas con sus sensores y actuadores
44
Ejemplos de aplicacin:
Sistema de oficina y Sistemas en Edificios Fabricacin y control de
equipo mviles procesos
Maquinas contestadoras Respaldo y generadores de luz Fabricas automatizadas
Copiadoras Administracion de edificios Plantas embotelladoras
Faxes Controladores de Fuego Sist. Control de energia
Laptops y notebooks Calefaccion y Ventilacion Plantas de manufactura
Telefonos moviles Iluminacion Estaciones nucleares
video cameras Seguridad Refinerias de Petroleos
Sistemas de Telefonia Camaras de Seguridad Sistemas de Energia
Hornos de Microondas Extintores Robots

45
Ejemplos de aplicacin:

Transporte Comunicaciones Otros equipos


Aereoplanos Telefonia Maquinas contestadoras
Trenes Switches de telefonos Sist. Tarjetas de credito
Autobuses Satelites Equipos de Imagenes Medicas
Barcos Posicionamiento Global Ctrl. De calefaccion domestica
Automobiles
Cntr.de Trafico aereo
Radares
Luces de Trafico

46
Consideraciones de Diseo de un STR

A quien afecta la introduccin de Tiempo Real ?.


 A los lenguajes, compiladores.
 Al sistema operativo.
 A la arquitectura de hardware.
 A la metodologa de diseo.

47
Para tener Tiempo Real este debe estar contemplado
tanto en el Hardware y en el Software
(SO + Aplicaciones)

Requisitos de Hardware
 Interfaces eficientes de E/S
 Sistema de interrupciones
 Calculo de nmeros reales
 Relojes en tiempo real
 Proteccin de memoria

48
Para tener Tiempo Real este debes estar contemplado
tanto en el Hardware y en el Software
(SO + APlicaciones)

Requisitos del sistema operativo


 Concurrencia
 Mecanismos de medicin del tiempo
 Planificacin de tareas para tiempo real
 Acceso a interfaces
 Gestin eficiente de interrupciones
 Mecanismo para la portabilidad

49
Para tener Tiempo Real este debes estar contemplado
tanto en el Hardware y en el Software
(SO + APlicaciones)

Requisitos del lenguaje de programacin


 Concurrencia
 Manejo de excepciones
 Mecanismos de medicin del tiempo
 Acceso a interfaces
 Gestin de interrupciones
 Portabilidad

50
Lenguajes de Programacion de
Sistemas de Tiempo Real

 ADA
 Modula-2
 Java-RT
 Ocamm.
C
 C++

51
Caracteristicas de los lenguaje sen
tiempo real

 Concurrencia
 Control de tiempo
 Planificacin de la ejecucin de tareas
 Comunicacin con dispositivos hardware
 Control de errores y situaciones excepcionales

52
SO's: Hard Real-Time vs. Soft Real-Time

Commercial
Wind River Lynx
Integrated Systems TRON
QNX Microware
Hard Real Time Symbian Microtec
real time Lucent Venturcom
deterministic
time critical
failure can be catastrophic

RTOS
Soft Real Time General Purpose OS
less real time
less deterministic
not as time critical
Commercial
failure can be overcome Microsoft (CE)
Sun Microsystems (Java)
Geoworks

Source: Lehman Brothers


53
Ejemplo

Control de drenaje de una mina

54
Control de drenaje de una mina

El agua que brota en el pozo


de una mina se recoge en una
arqueta
Se trata de disear un sistema
de control que mantenga el
nivel de la arqueta entre unos
lmites, accionando una bomba
El sistema supervisa otros
parmetros ambientales
La bomba no debe funcionar
con niveles de metano altos por
riesgo de explosin
55
Dispositivos de entrada y salida

56
1. Requisitos funcionales
Bomba
se pone en marcha cuando el nivel de agua est alto
se para cuando el nivel est bajo
no puede funcionar si la concentracin de metano es muy alta
el operador puede arrancar y parar manualmente la bomba
si no circula a gua con la bomba en marcha, se activa una alarma
Parmetros ambientales
se mide la concentracin de metano y monxido de carbono
se detecta si la ventilacin funciona
si algn valor es crtico, se activa una alarma
Operador
el operador puede dar rdenes al sistema, y recibe las alarmas
Registro
se almacenan secuencialmente todos los sucesos significativos
57
2. Requisitos temporales:
Perodos y plazos de los sensores

CO, CH4 y ventilacin


perodo nominal: 100 ms
para los manejadores de los sensores de CO y CH4 se usa
desplazamiento de perodos, y la lectura dura 40 ms en total: 60 ms
Caudal de agua
perodo nominal: 1 s
se usan dos lecturas consecutivas; para ajustar el intervalo entre ambas
se hace D = 40ms
Nivel de agua
los sensores interrumpen cuando se activan
separacin entre interrupciones: al menos 6 s
respuesta del sistema: D = 200 ms

58
2. Requisitos temporales:
Plazo de desactivacin de la bomba

Cuando la concentracin de metano sobrepasa el valor seguro hay


que detener la bomba dentro de un plazo que asegure un margen de
seguridad

59
2. Requisitos temporales:
Informacin al operador

Alarmas por exceso de metano o monxido de carbono


plazo: 1 s
Alarmas por ventilacin insuficiente
plazo: 2 s
Alarmas por fallos de funcionamiento de la bomba
plazo: 3 s
Estos requisitos son menos restrictivos que los anteriores

60
Resumen de los requisitos temporales

61