1 / 52

Introducción a los sistemas de tiempo real

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.

ivi
Download Presentation

Introducción a los sistemas de tiempo real

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  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

  3. Referencias • Alan Burns, Andy J. Wellings "Sistemas de Tiempo Real y Lenguajes de Programación", Addison-Wesley (3º edición) cap. 1 y 2 • Transparencias de Juan Antonio de la Puente http://polaris.dit.upm.es/~jpuente/ y …

  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

  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)

  6. eventos respuestas e1 e2 r1 e3 r2 e1 r3 r1 e1 Sistema de Tiempo Real r1 e2 r2 t e3 r3 en rn Definición de Sistemas de tiempo real • El tiempo en el que se ejecutan las acciones es significativo

  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!

  8. Tiempo real vs. rapidez

  9. Tiempos de respuesta en distintos dominios

  10. Evolución de la informática

  11. Sistemas embebidos

  12. Sistemas embebidos

  13. 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.

  14. Sistemas embebidos • Realizan funciones de control de otros sistemas Adaptado de Kopetz (1997)

  15. 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

  16. Tareas de tiempo real

  17. 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.

  18. 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?

  19. Tareas de tiempo real

  20. Ejecución de una tarea de tiempo real

  21. 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

  22. Atributos temporales

  23. Atributos temporales • Activación • Periódica: a intervalos regulares, con período T • Aperiódica: cada vez que ocurre un suceso determinado • Esporádica: separación mínima entre activaciones T • Estocástica, irregular o a rachas

  24. 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

  25. Tipos de requisitos temporales

  26. Ejemplos de Sistemas en tiempo real

  27. Ejemplos de Sistemas en tiempo real

  28. Ejemplos de Sistemas en tiempo real

  29. Sistema de computador embebido generalizado Reloj de tiempo real Sistema controlado Control digital Interfaz Sistema de monitoreo remoto Registro de datos Base de datos Dispositivos de presentación Visualización de datos Consola de operador Interfaz de operador Real-Time Computer

  30. 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 cambianteslas aplicaciones deben evolucionar continuamentelos STR deben ser extensibles

  31. 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 termonúmeros en punto flotante

  32. 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)

  33. 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

  34. 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

  35. 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

  36. Desarrollo de Sistemas en tiempo real

  37. 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

  38. Desarrollo cruzado

  39. 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

  40. Diseño de Sistemas de tiempo real

  41. Diseño de Sistemas de tiempo real

  42. Diseño de Sistemas de tiempo real

  43. Diseño de Sistemas en tiempo real

  44. Diseño de Sistemas de tiempo real • Las actividades de desarrollo de los STR incluyen las tradicionales de otros sistemas, aunque tienen requerimientos adicionales

  45. Integración de métodos y herramientas

  46. Integración de métodos y herramientas

  47. Integración de métodos y herramientas

  48. Integración de métodos y herramientas

  49. Lenguajes de programación • Hay varias clases de lenguajes de interés para los STR: • Assembler • Flexibles y eficientes pero costosos y poco fiables

  50. Lenguajes de programación

More Related