3. Introducción
Forman parte constituyente de otros sistemas con los que intercambian datos y
señales, y sobre los que realizan funciones de control.
• Combinan Hardware, Software y Comunicaciones pero tienen recursos limitados.
• Son reactivos con el entorno control, percepción, reconocimiento adaptabilidad .
• Computacionalmente activos .
• Conectan el mundo físico con el mundo virtual.
Distinguimos dos subsistemas: sistema controlado o entorno (teléfono, coche,
fábrica) .
• tiene una dinámica propia, que sólo es parcialmente modificada sistema de control:
suele estar basado en un microprocesador .
• su programación es más flexible.
• adapta su funcionamiento al sistema controlado, del cual recibe información
mediante sensores.
• opera sobre el sistema controlado mediante actuadores.
4. Definición
1.Cualquier sistema en el que el instante en el que se produce la salida es
significativo. Esto suele deberse a que la entrada se corresponde a algún
movimiento en el mundo físico y la salida tiene que estar relacionada con ese
mismo movimiento. Para una puntualidad aceptable el lapso entre la entrada y la
salida debe ser lo suficientemente pequeño (Oxford Diccionario of Computing)
2. Un sistema al que se exige que reaccione a estímulos de su entorno (incluido el
paso del tiempo físico) dentro de intervalos de tiempo dictados por el entorno
(proyecto PDCS)
3.Tiempo real es la capacidad de un sistema operativo de proporcionar el nivel
exigido de servicio en un tiempo de respuesta acotado (norma POSIX 1003.1c)
Un sistema de tiempo real es un sistema informático que:
– interacciona repetidamente con su entorno físico
– responde dentro de un plazo de tiempo
determinado a los estímulos que recibe del entorno .
5. Definición
Hay muchos sistemas en los que:
el usuario introduce un comando y espera una respuesta rápida pero no suele ser
dramático si la respuesta no es inmediata no dar una respuesta a tiempo no se
considera dar una respuesta errónea
• Distinción fundamental entre los sistemas que son y los que no son de tiempo
real:
la exactitud de un sistema de tiempo real depende no sólo de los resultados lógicos
de la computación, sino también del instante en el que se producen los resultados
en los sistemas de tiempo real puede no valer nada la realización de una acción,
aunque sea la correcta, si se hace fuera de tiempo .
• incluso puede ser indeseable .
6. Definición
Los sistemas de tiempo real exigen un comportamiento analizable y
predecible: todo debe funcionar según los plazos previstos, en los instantes
de tiempo adecuados
• Acciones del sistema en intervalos de tiempo bien definidos el diseño y la
realización de sistemas de tiempo real revista una dificultad especial
• No basta con que el sistema sea rápido, sino que debe ser determinista, es
decir, su comportamiento debe ser el correcto en cualquier circunstancia,
incluso cuando esté sobrecargado.
• Todo esto implica un gran conocimiento de las características de la
aplicación y del entorno del Sistema.
9. Planificar
Planificar un sistema: decidir qué función debe estar realizando el sistema en cada
instante de tiempo .
• Se llama tarea a cada uno de los módulos software que se pueden invocar para
realizar un función concreta mínima unidad de planificación de un sistema.
• Algoritmo de planificación: conjunto de reglas que determinan qué tarea se debe
ejecutar en cada instanteTema 10 Introducción a los Sistemas deTiempo Real.
Dos instantes determinan una tarea:
Activación o invocación: instante en el que ocurre el evento antes del cual la tarea
no podría ejecutarse, y, a partir del cual, la tarea ya está preparada para su
ejecución.
Plazo: instante llegado el cual la tarea debe haber completado toda su
computación.
10. Planificar
• En el análisis de su comportamiento, denominamos:
Tiempo de respuesta de una tarea al intervalo de tiempo transcurrido entre su
invocación y el final de su respuesta tardanza de una tarea es el retardo
producido desde su plazo hasta el final de su respuesta.
Atendiendo a la adecuación entre su tiempo de respuesta y su plazo:
tarea de tiempo real estricto (hard).
• debe cumplir siempre sus plazos (su tardanza ha de ser siempre menor o igual
que cero). De no ser así, los resultados son catastróficos (Ej. UCI) tarea de tiempo
real flexible (soft).
• de no cumplir su plazo, la tarea sigue siendo válida, si bien su valor va
decreciendo paulatinamente (Ej. GPS)
tarea de tiempo real firme:
• si llegado su plazo, no ha terminado, se descarta la
tarea sin producir ningún resultado (Ej. pérdida de
una trama de audio o vídeo).
12. Especificaciónderequisitos
Se define la funcionalidad del sistema
– comportamiento temporal
– requisitos de fiabilidad
– comportamiento ante fallos
• Se definen los tests de aceptación
• Se define un modelo del entorno
– tasa máxima de interrupciones
– máximo número de objetos externos
dinámicos
– modos de fallo, ...
13. Prueba1
La mayoría de los errores en los sistemas de
tiempo real suelen ser el resultado de sutiles
interacciones entre procesos.
• Los errores suelen depender del tiempo y puede
que sólo se manifiesten en estados poco
comunes.
• Los métodos de diseño apropiados hay que
complementarlos con estrategias de prueba
• Las pruebas no están restringidas al sistema final
• Se deben estudiar todos los caminos que llevan a
los errores detectados y el efecto de errores
simultáneos.
14. Prueba2
No sólo hay que probar el funcionamiento en un
entorno correcto, ya que una incorrección del
entorno puede producir un error.
– se deben probar entornos arbitrariamente
Incorrectos.
• Un simulador es un programa que imita las acciones
de un sistema en el que se ha instalado software de
tiempo real.
– un simulador es un entorno de prueba
15. Simuladores
Un simulador puede recrear tanto el
comportamiento normal como el
“anormal” de un sistema.
• Ciertos estados de error de un sistema sólo se
pueden probar de forma segura
mediante un simulador .
– p.ej.: la fusión del núcleo de un reactor nuclear.
• Los simuladores permiten repetir algunos
experimentos que en la realidad no se podría.
16. Prototipos
Los fallos producidos en las fases iniciales del
diseño de sistemas sólo se detectan cuando se
presenta el producto o cuando se prueba.
• Corregir esos fallos en fases tan avanzadas
es costoso y consume mucho tiempo
• Mediante prototipos se pueden evitar esos
problemas
17. Interacciónhumano-ordenador
Muchos sistemas de tiempo real implican la comunicación
entre el programa que se ejecuta y operador(es) humano(s).
• El comportamiento humano introduce la mayor fuente de
variación en un sistema.
• El diseño de una buena interfaz entre humanos y
ordenadores tiene una
importancia decisiva
p.ej.: incidente enThree Mile Island
• La HCI (Human-Computer Interaction) es un elemento
clave en la producción de
Software.