Introducción a los sistemas de tiempo real Informática III El tiempo es un tirano...

Post on 25-Jan-2016

216 views 0 download

Transcript of Introducción a los sistemas de tiempo real Informática III El tiempo es un tirano...

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