Prólogo Modelado de Sistemas de Tiempo Real Del Modelo al Código Epílogo
Modelado de Sistemas de Tiempo Real
MSc. Ing. Daniel Calegari García Grupo COAL
Instituto de Computación Universidad de la República
Prólogo Modelado de Sistemas de Tiempo Real Del Modelo al Código Epílogo
Introito
No soy expertoen el tema, solo tengoalguna ideaa raíz de trabajos de investigación que he estado realizando.
Por ende, miobjetivoes dar unavisión parcial y en amplitud
de de un tema relacionado con la asignatura de forma tal de:
mostrar unárea de trabajoque no se suele ver en la
carrera
despertar sucuriosidad
Prólogo
Modelado de Sistemas de Tiempo Real Del Modelo al Código Epílogo
Sistemas Embebidos
Sistemas de Tiempo Real Modelado de Sistemas
Sistemas Embebidos
Firmwarees un software que se encuentraembebido(o integrado) en un dispositivo de hardware, por ejemplo en un microcontrolador.
Por lo general, lossistemas embebidosdeben:
serconfiables: baja tasa de fallas y alta disponibilidad sereficientesen el uso de recursos: energía, tamaño de código, peso, costo
Prólogo
Modelado de Sistemas de Tiempo Real Del Modelo al Código Epílogo
Sistemas Embebidos
Sistemas de Tiempo Real
Modelado de Sistemas
Sistemas de Tiempo Real
"Sistema informático que mantiene una relación interactiva y temporizada con su entorno"(Selic, 1999)
Relación interactiva: El sistema debe disponer de interfases que permitan intercambiar estímulos con el entorno
Prólogo
Modelado de Sistemas de Tiempo Real Del Modelo al Código Epílogo
Sistemas Embebidos
Sistemas de Tiempo Real
Modelado de Sistemas
Sistemas de Tiempo Real (2)
Concurrencia: sincronización para evitar problemas como deadlocks y posposición indefinida
Distribución: fiabilidad y latencia de las comunicaciones, así como a la probabilidad de fallo
Prólogo
Modelado de Sistemas de Tiempo Real Del Modelo al Código Epílogo
Sistemas Embebidos Sistemas de Tiempo Real
Modelado de Sistemas
Modelado de Sistemas
Un sistema se modela para poder manejar su complejidad:
Servir de ayudapara el desarrollo de la tarea (uno mismo)
Visualizarlo hecho hasta el momento (uno mismo)
Comunicarel avance obtenido (el cliente y el equipo de desarrollo)
Prólogo
Modelado de Sistemas de Tiempo Real
Del Modelo al Código Epílogo
¿Porqué modelar?
¿Hasta dónde modelar? ¿Qué modelar? ¿Cómo modelar?
¿Porqué modelar?
Es deseable un desarrollo lomás rápidoymenos
costosoposible
Un error es más caro y complejo de encontrar y resolver después de la liberación del sistema al usuario
Es muy importante evaluar lacalidadde los sistemas
Prólogo
Modelado de Sistemas de Tiempo Real
Del Modelo al Código Epílogo
¿Porqué modelar?
¿Hasta dónde modelar?
¿Qué modelar? ¿Cómo modelar?
¿Hasta dónde modelar?
Niveles de Modelado
Nivel 0: especificación informal
Nivel 1: especificación formal (uso de técnicas con base matemática, para la especificación, diseño y construcción del sistema)
Nivel 2: construcción manipulando la especificación y verificación con argumentos matemáticos
Prólogo
Modelado de Sistemas de Tiempo Real
Del Modelo al Código Epílogo
¿Porqué modelar?
¿Hasta dónde modelar?
¿Qué modelar? ¿Cómo modelar?
¿Hasta dónde modelar?
Métodos Formales
Los niveles 1 al 3 se relacionan con la noción demétodos
formales.
Prólogo
Modelado de Sistemas de Tiempo Real
Del Modelo al Código Epílogo
¿Porqué modelar?
¿Hasta dónde modelar?
¿Qué modelar? ¿Cómo modelar?
¿Hasta dónde modelar?
Seven Myths of Formal Methods
J.A. Hall, Seven Myths of Formal Methods. IEEE Software, 7(5):11-19, September 1990.
1 Formal methodscan guaranteethat software is perfect.
2 Only highly critical systemsbenefitfrom their use.
3 Theyinvolvecomplex mathematics. 4 Nobody usesthem for real projects.
J.P. Bowen and M.G. Hinchey, Seven More Myths of Formal Methods. IEEE Software, 12(4):34-41, July 1995.
5 Formal methodsdelaythe development process.
6 Formal methodslack tools.
Prólogo
Modelado de Sistemas de Tiempo Real
Del Modelo al Código Epílogo
¿Porqué modelar? ¿Hasta dónde modelar?
¿Qué modelar?
¿Cómo modelar?
¿Qué modelar?
Más allá de los requerimientos funcionales, son los no
funcionales (atributos de calidad) los que tienen un gran
impacto en el diseño de un sistema de tiempo real.
distribuciónde los componentes de hardware y
protocolos decomunicaciónentre ellos
restriccionestemporales que afectan el desempeño del sistema (performance)
concurrenciaysincronizaciónen el acceso a recursos compartidos
planningyschedulingde tareas
Prólogo
Modelado de Sistemas de Tiempo Real
Del Modelo al Código Epílogo
¿Porqué modelar? ¿Hasta dónde modelar? ¿Qué modelar?
¿Cómo modelar?
¿Cómo modelar?
Modelos teóricos: Grafos Temporizados, FOCUS [Bro02], SDL (Specification and Description Language) Description
Language), Prototipos ad hoc [?]
Modelos gráficos: UML Profile for Schedulability,
Performance, and Time [UML], UML Profile for System on a Chip [MM05]
Herramientas de Verificación: Kronos, UPPAAL [UPP]
Prólogo
Modelado de Sistemas de Tiempo Real
Del Modelo al Código Epílogo
¿Porqué modelar? ¿Hasta dónde modelar? ¿Qué modelar?
¿Cómo modelar?
¿Cómo modelar?
Prólogo
Modelado de Sistemas de Tiempo Real
Del Modelo al Código Epílogo
¿Porqué modelar? ¿Hasta dónde modelar? ¿Qué modelar?
¿Cómo modelar?
¿Cómo modelar?
Prólogo
Modelado de Sistemas de Tiempo Real
Del Modelo al Código Epílogo
¿Porqué modelar? ¿Hasta dónde modelar? ¿Qué modelar?
¿Cómo modelar?
¿Cómo modelar?
Herramientas de Verificación :: UPPAAL :: Bang and Olufsen Audio/Video Protocol
Dosemisoresde datos a través de unbus(generadores de
frames,observadoresde bus y detectores decolisiones)
Criterio decorrectituddel protocolo:
A[] (A.eof == 1 imply (A.diff == 0 and B.res == 0))
Prólogo
Modelado de Sistemas de Tiempo Real
Del Modelo al Código Epílogo
¿Porqué modelar? ¿Hasta dónde modelar? ¿Qué modelar?
¿Cómo modelar?
¿Cómo modelar?
Prólogo Modelado de Sistemas de Tiempo Real
Del Modelo al Código
Epílogo
¿Y ahora?
Desarrollo Dirigido por Modelos
¿Y ahora?
He modelado el sistema que deseo y lo he verificado Deseo implementarlo sin cometer errores
Desearía no tener que verificar también la implementación
Para ello necesitaría definir una transformaciónformal
Prólogo Modelado de Sistemas de Tiempo Real
Del Modelo al Código
Epílogo
¿Y ahora?
Desarrollo Dirigido por Modelos
Desarrollo Dirigido por Modelos
Un enfoque es considerar a los modelos comoespecificaciones ejecutables
=> Usando un entorno de desarrollo unificado
=> Enlazando directamente los requerimientos con el diseño => Integrando testing con diseño para
identificar y corregir errores => Simulando el sistema a construir
para mejorar su diseño
Prólogo Modelado de Sistemas de Tiempo Real
Del Modelo al Código
Epílogo
¿Y ahora?
Desarrollo Dirigido por Modelos
Desarrollo Dirigido por Modelos
MathWorks :: Real-Time Workshop Embedded Coder
El productoReal-Time Workshop Embedded Codergenera código C para varias plataformas a
partir de modelos
Permite especificar modelos gráficos de estructura y comportamiento
Posee herramienta de verificación y documentación de código Genera código ANSI/ISO C y C++
Incorpora librería de optimización para el lenguaje objetivo Permite ejecutar el código en el ambiente de producción y generar reportes de ejecución
Prólogo Modelado de Sistemas de Tiempo Real
Del Modelo al Código
Epílogo
¿Y ahora?
Desarrollo Dirigido por Modelos
Desarrollo Dirigido por Modelos
Prólogo Modelado de Sistemas de Tiempo Real Del Modelo al Código
Epílogo
Resumen
Bibliografía
Resumen
Realizar modelos de un sistema previa construcción del mismo
puede serbeneficioso, más aún en unentorno complejo
como el de sistemas de tiempo real.
Existen diferentesnivelesen los cuales se puede modelar.
Además, existen múltiplesalternativas. La elección depende
principalmente delpropósitodel modelo.
Un propósito habitual es permitir en última instanciagenerar el
códigopara la ejecución del sistema en ciertaplataforma.
Para ello es conveniente contar con algunaherramientade
Prólogo Modelado de Sistemas de Tiempo Real Del Modelo al Código
Epílogo
Resumen
Bibliografía
Bibliografía
[Bro02] M. Broy et al.The Design of Distributed Systems, An Introduction to Focus
Technical Report TUM-I9202, Technische Universität München, 2002.
[MM05] G. Martin and W. Muller.UML for SOC Design
Birkhäuser Publisher, ISBN 0387257446, 2005.
[Sys] SystemC.http://www.systemc.org/home
[Mat] MathWorks Real-Time Workshop Embedded Coder.
http://www.mathworks.es/products/rtwembedded
[UML] UML Resource Page.http://www.uml.org
Defer notime, delays havedangerous ends