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

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

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

Page 1: 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...

Page 2: 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

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

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 …

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

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

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

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)

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

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

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

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!

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

Informática III Ing. Nora Blet Pág. 8

Tiempo real vs. rapidez

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

Informática III Ing. Nora Blet Pág. 9

Evolución de la informática

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

Informática III Ing. Nora Blet Pág. 10

Sistemas embebidos

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

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.

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

Informática III Ing. Nora Blet Pág. 12

Sistemas embebidos

Realizan funciones de control de otros sistemas

Adaptado de Kopetz (1997)

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

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

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

Informática III Ing. Nora Blet Pág. 14

Tareas de tiempo real

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

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.

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

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?

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

Informática III Ing. Nora Blet Pág. 17

Tareas de tiempo real

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

Informática III Ing. Nora Blet Pág. 18

Ejecución de una tarea de tiempo real

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

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

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

Informática III Ing. Nora Blet Pág. 20

Atributos temporales

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

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

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

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

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

Informática III Ing. Nora Blet Pág. 23

Tipos de requisitos temporales

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

Informática III Ing. Nora Blet Pág. 24

Ejemplos de Sistemas en tiempo real

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

Informática III Ing. Nora Blet Pág. 25

Ejemplos de Sistemas en tiempo real

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

Informática III Ing. Nora Blet Pág. 26

Ejemplos de Sistemas en tiempo real

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

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

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

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

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

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

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

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)

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

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

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

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

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

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

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

Informática III Ing. Nora Blet Pág. 34

Desarrollo de Sistemas en tiempo real

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

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

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

Informática III Ing. Nora Blet Pág. 36

Desarrollo cruzado

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

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

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

Informática III Ing. Nora Blet Pág. 38

Diseño de Sistemas de tiempo real

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

Informática III Ing. Nora Blet Pág. 39

Diseño de Sistemas de tiempo real

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

Informática III Ing. Nora Blet Pág. 40

Diseño de Sistemas de tiempo real

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

Informática III Ing. Nora Blet Pág. 41

Diseño de Sistemas en tiempo real

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

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

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

Informática III Ing. Nora Blet Pág. 43

Integración de métodos y herramientas

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

Informática III Ing. Nora Blet Pág. 44

Integración de métodos y herramientas

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

Informática III Ing. Nora Blet Pág. 45

Integración de métodos y herramientas

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

Informática III Ing. Nora Blet Pág. 46

Integración de métodos y herramientas

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

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

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

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

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

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

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

Informática III Ing. Nora Blet Pág. 50

Lenguajes de tiempo real

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

Informática III Ing. Nora Blet Pág. 51

Lenguajes de tiempo real

Requerimientos Robustez (Seguridad) Legibilidad Flexibilidad Simplicidad Portabilidad Eficiencia

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

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

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

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

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

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

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

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

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

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

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

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

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

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