View
67
Download
0
Category
Preview:
DESCRIPTION
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. Referencias. - PowerPoint PPT Presentation
Citation preview
Introducción a los sistemas de tiempo real
Informática III
El tiempo es un tirano...
Informática III Ing. Nora Blet Pág. 2
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. 3
Referencias
Alan Burns, Andy J. Wellings "Sistemas de Tiempo Real y Lenguajes de Programación", Addison-Wesley (3º edición) cap. 1 y 2Transparencias de Juan Antonio de la Puente http://polaris.dit.upm.es/~jpuente/ y …
Informática III Ing. Nora Blet Pág. 4
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. 5
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. 6
Definición de Sistemas de tiempo real
El tiempo en el que se ejecutan las acciones es significativo
Sistema de
Tiempo Real
e1 r1e2e3
en
r2r3
rn
t
e1 r1e2 e3 r2 r3e1 r1eventos respuestas
Informática III Ing. Nora Blet Pág. 7
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. 8
Tiempo real vs. rapidez
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 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. 12
Sistemas embebidos
Realizan funciones de control de otros sistemas
Adaptado de Kopetz (1997)
Informática III Ing. Nora Blet Pág. 13
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. 14
Tareas de tiempo real
Informática III Ing. Nora Blet Pág. 15
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. 16
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. 17
Tareas de tiempo real
Informática III Ing. Nora Blet Pág. 18
Ejecución de una tarea de tiempo real
Informática III Ing. Nora Blet Pág. 19
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. 20
Atributos temporales
Informática III Ing. Nora Blet Pág. 21
Atributos temporales
Activación Periódica: a intervalos regulares, con
período T Aperiódica: cada vez que ocurre un
suceso determinadoEsporádica: separación mínima entre
activaciones TEstocástica, irregular o a rachas
Informática III Ing. Nora Blet Pág. 22
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. 23
Tipos de requisitos temporales
Informática III Ing. Nora Blet Pág. 24
Ejemplos de Sistemas en tiempo real
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
Sistema de computador embebido generalizado
Control digital
Registro de datos
Visualización dedatos
Interfaz de operador
InterfazSistema controlado
Sistema de monitoreo remoto
Reloj de tiempo real
Base de datos
Consola de operador
Dispositivos de
presentación
Real-Time Computer
Informática III Ing. Nora Blet Pág. 28
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 cambianteslas aplicaciones deben evolucionar continuamentelos STR deben ser extensibles
Informática III Ing. Nora Blet Pág. 29
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 termonúmeros en punto flotante
Informática III Ing. Nora Blet Pág. 30
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. 31
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. 32
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. 33
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. 34
Desarrollo de Sistemas en tiempo real
Informática III Ing. Nora Blet Pág. 35
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. 36
Desarrollo cruzado
Informática III Ing. Nora Blet Pág. 37
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. 38
Diseño de Sistemas de tiempo real
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 en tiempo real
Informática III Ing. Nora Blet Pág. 42
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. 43
Integración de métodos y herramientas
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
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. 48
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. 49
Lenguajes de programación
Lenguajes concurrentes (Ada, Java,…) Concurrencia y tiempo real incluidos en el
lenguaje
Informática III Ing. Nora Blet Pág. 50
Lenguajes de tiempo real
Informática III Ing. Nora Blet Pág. 51
Lenguajes de tiempo real
Requerimientos Robustez (Seguridad) Legibilidad Flexibilidad Simplicidad Portabilidad Eficiencia
Informática III Ing. Nora Blet Pág. 52
Lenguajes de tiempo real Robustez
Medida del grado en el que el compiladorpuede detectar automáticamente los errores de programación
Requiere Que el lenguaje esté bien estructurado y sea legible, de modo
que tales errores puedan ser localizados fácilmente Beneficios:
La detección temprana de errores en el desarrollo del programa reducción general del coste
Las comprobaciones de tiempo de compilación no sobrecargan la ejecución del proceso, y un programa se ejecuta más veces de las que se compila
Inconveniente Puede llegar a complicar el lenguaje e incrementar tanto el
tiempo de compilación como la complejidad del compilador
Informática III Ing. Nora Blet Pág. 53
Lenguajes de tiempo real Legibilidad (Medida de la claridad de un programa)
Minimiza la necesidad de comentarios y descripciones adicionales
Requiere Palabras claves, nombres de tipos, nombres de
variables y la capacidad del lenguaje para permitir la modularización del código
Beneficios Menores costes de documentación Mayor robustez Mayor facilidad de mantenimiento
Inconveniente Mayor longitud de los programas
Informática III Ing. Nora Blet Pág. 54
Lenguajes de tiempo real
Flexibilidad Permite al programador expresar
todas las operaciones oportunas de una forma directa y coherente
Menor necesidad de recurrir a funciones del sistema operativo o a fragmentos en código máquina para obtener el resultado deseado
Informática III Ing. Nora Blet Pág. 55
Lenguajes de tiempo real
Simplicidad – (Poder usarlo fácilmente) Minimiza el esfuerzo de producción de
compiladores Reduce el costo asociado a la
formación de programadores Disminuye los errores de
programación como consecuencia de una mala interpretación de las características del lenguaje
Informática III Ing. Nora Blet Pág. 56
Lenguajes de tiempo real
Portabilidad Un programa deberá ser independiente, en
la medida de lo posible, del hardware sobre el que se ejecuta En los STR una parte importante de cualquier
programa estará involucrada en la manipulación de recursos hardware
El lenguaje debe ser capaz de aislar la parte del programa que depende de la máquina de la parte independiente de la máquina
Informática III Ing. Nora Blet Pág. 57
Lenguajes de tiempo real
Eficiencia Deben producir sistemas con tiempos
de ejecución predeciblesevitar aquellos mecanismos que conduzcan a sobrecargas impredecibles del tiempo de ejecución
Informática III Ing. Nora Blet Pág. 58
Lenguajes de tiempo real
Por lo menos hasta ahora no existe ningún lenguaje que sobresalga en todos estos ítems En el diseño de cualquier lenguaje, general o de tiempo real, se deben analizar y sopesar ventajas y desventajas de cada decisión
Recommended