You are on page 1of 23

Prlogo Modelado de Sistemas de Tiempo Real Del Modelo al Cdigo Eplogo

Modelado de Sistemas de Tiempo Real


MSc. Ing. Daniel Calegari Garca
Grupo COAL Instituto de Computacin Universidad de la Repblica dcalegar@ng.edu.uy

Prlogo Modelado de Sistemas de Tiempo Real Del Modelo al Cdigo Eplogo

Introito

No soy experto en el tema, solo tengo alguna idea a raz de trabajos de investigacin que he estado realizando. Por ende, mi objetivo es dar una visin parcial y en amplitud de de un tema relacionado con la asignatura de forma tal de: mostrar un rea de trabajo que no se suele ver en la carrera despertar su curiosidad complementar el contenido de la asignatura

Prlogo Modelado de Sistemas de Tiempo Real Del Modelo al Cdigo Eplogo

Sistemas Embebidos Sistemas de Tiempo Real Modelado de Sistemas

Sistemas Embebidos

Firmware es un software que se encuentra embebido (o integrado) en un dispositivo de hardware, por ejemplo en un microcontrolador. Por lo general, los sistemas embebidos deben: ser conables: baja tasa de fallas y alta disponibilidad ser ecientes en el uso de recursos: energa, tamao de cdigo, peso, costo cumplir con restricciones de tiempo

Prlogo Modelado de Sistemas de Tiempo Real Del Modelo al Cdigo Eplogo

Sistemas Embebidos Sistemas de Tiempo Real Modelado de Sistemas

Sistemas de Tiempo Real

"Sistema informtico que mantiene una relacin interactiva y temporizada con su entorno"(Selic, 1999) Relacin interactiva: El sistema debe disponer de interfases que permitan intercambiar estmulos con el entorno Relacin temporizada: Adems de la correctitud funcional, se deben considerar las restricciones temporales

Prlogo Modelado de Sistemas de Tiempo Real Del Modelo al Cdigo Eplogo

Sistemas Embebidos Sistemas de Tiempo Real Modelado de Sistemas

Sistemas de Tiempo Real (2)

Concurrencia: sincronizacin para evitar problemas como deadlocks y posposicin indenida Distribucin: abilidad y latencia de las comunicaciones, as como a la probabilidad de fallo Estructura Interna Dinmica: conguracin dinmica en sistemas tolerantes a fallos

Prlogo Modelado de Sistemas de Tiempo Real Del Modelo al Cdigo Eplogo

Sistemas Embebidos Sistemas de Tiempo Real Modelado de Sistemas

Modelado de Sistemas

Un sistema se modela para poder manejar su complejidad: Servir de ayuda para el desarrollo de la tarea (uno mismo) Visualizar lo hecho hasta el momento (uno mismo) Comunicar el avance obtenido (el cliente y el equipo de desarrollo) Documentar el desarrollo de la aplicacin (el equipo de desarrollo)

Prlogo Modelado de Sistemas de Tiempo Real Del Modelo al Cdigo Eplogo

Porqu modelar? Hasta dnde modelar? Qu modelar? Cmo modelar?

Porqu modelar?

Es deseable un desarrollo lo ms rpido y menos costoso posible Un error es ms caro y complejo de encontrar y resolver despus de la liberacin del sistema al usuario Es muy importante evaluar la calidad de los sistemas conforme avanza su desarrollo.

Prlogo Modelado de Sistemas de Tiempo Real Del Modelo al Cdigo Eplogo

Porqu modelar? Hasta dnde modelar? Qu modelar? Cmo modelar?

Hasta dnde modelar?


Niveles de Modelado

Nivel 0: especicacin informal Nivel 1: especicacin formal (uso de tcnicas con base matemtica, para la especicacin, diseo y construccin del sistema) Nivel 2: construccin manipulando la especicacin y vericacin con argumentos matemticos Nivel 3: prueba de propiedades

Prlogo Modelado de Sistemas de Tiempo Real Del Modelo al Cdigo Eplogo

Porqu modelar? Hasta dnde modelar? Qu modelar? Cmo modelar?

Hasta dnde modelar?


Mtodos Formales

Los niveles 1 al 3 se relacionan con la nocin de mtodos formales.


In computer science, formal methods refers to mathematically based techniques for the specication, development and verication of software and hardware systems. The approach is especially important in high-integrity systems, for example where safety or security is important, to help ensure that errors are not introduced into the development process. Formal methods are particularly effective early in development at the requirements and specication levels, but can be used for a completely formal development of an implementation (e.g., a program).

Prlogo Modelado de Sistemas de Tiempo Real Del Modelo al Cdigo Eplogo

Porqu modelar? Hasta dnde modelar? Qu modelar? Cmo modelar?

Hasta dnde modelar?


Seven Myths of Formal Methods

J.A. Hall, Seven Myths of Formal Methods. IEEE Software, 7(5):11-19, September 1990.
1 2 3 4

Formal methods can guarantee that software is perfect. Only highly critical systems benet from their use. They involve complex mathematics. Nobody uses them 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 6 7

Formal methods delay the development process. Formal methods lack tools. Formal method only apply to software.

Prlogo Modelado de Sistemas de Tiempo Real Del Modelo al Cdigo Eplogo

Porqu modelar? Hasta dnde modelar? Qu modelar? Cmo modelar?

Qu modelar?
Ms all de los requerimientos funcionales, son los no funcionales (atributos de calidad) los que tienen un gran impacto en el diseo de un sistema de tiempo real. distribucin de los componentes de hardware y protocolos de comunicacin entre ellos restricciones temporales que afectan el desempeo del sistema (performance) concurrencia y sincronizacin en el acceso a recursos compartidos planning y scheduling de tareas propiedades generales (liveness y safety)

Prlogo Modelado de Sistemas de Tiempo Real Del Modelo al Cdigo Eplogo

Porqu modelar? Hasta dnde modelar? Qu modelar? Cmo modelar?

Cmo modelar?

Modelos tericos: Grafos Temporizados, FOCUS [Bro02], SDL (Specication and Description Language) Description Language), Prototipos ad hoc [?] Modelos grcos: UML Prole for Schedulability, Performance, and Time [UML], UML Prole for System on a Chip [MM05] Herramientas de Vericacin: Kronos, UPPAAL [UPP] Simulacin: SystemC [Sys], VHDL (VHSIC Hardware Description Language)

Prlogo Modelado de Sistemas de Tiempo Real Del Modelo al Cdigo Eplogo

Porqu modelar? Hasta dnde modelar? Qu modelar? Cmo modelar?

Cmo modelar?
Modelo Terico :: FOCUS :: Heater Control

Prlogo Modelado de Sistemas de Tiempo Real Del Modelo al Cdigo Eplogo

Porqu modelar? Hasta dnde modelar? Qu modelar? Cmo modelar?

Cmo modelar?
Modelo Grco :: UML Prole for SPT :: Web-Based Video-Streaming Application

Prlogo Modelado de Sistemas de Tiempo Real Del Modelo al Cdigo Eplogo

Porqu modelar? Hasta dnde modelar? Qu modelar? Cmo modelar?

Cmo modelar?
Herramientas de Vericacin :: UPPAAL :: Bang and Olufsen Audio/Video Protocol

Dos emisores de datos a travs de un bus (generadores de frames, observadores de bus y detectores de colisiones)

Criterio de correctitud del protocolo: A[] (A.eof == 1 imply (A.diff == 0 and B.res == 0)) Whenever (A[]) a frame has been sent (A.eof equals 1), the sent frame must be intact (A.diff equals 0), and other senders must not have discovered a collision (B.res equals 0)

Prlogo Modelado de Sistemas de Tiempo Real Del Modelo al Cdigo Eplogo

Porqu modelar? Hasta dnde modelar? Qu modelar? Cmo modelar?

Cmo modelar?
Simulacin :: SystemC :: UML Prole for SoC Design (Clock and Reset)

Prlogo Modelado de Sistemas de Tiempo Real Del Modelo al Cdigo Eplogo

Y ahora? Desarrollo Dirigido por Modelos

Y ahora?

He modelado el sistema que deseo y lo he vericado Deseo implementarlo sin cometer errores Deseara no tener que vericar tambin la implementacin Para ello necesitara denir una transformacin formal entre mis modelos y el cdigo para una plataforma determinada

Prlogo Modelado de Sistemas de Tiempo Real Del Modelo al Cdigo Eplogo

Y ahora? Desarrollo Dirigido por Modelos

Desarrollo Dirigido por Modelos


Un enfoque es considerar a los modelos como especicaciones ejecutables => Usando un entorno de desarrollo unicado => Enlazando directamente los requerimientos con el diseo => Integrando testing con diseo para identicar y corregir errores => Simulando el sistema a construir para mejorar su diseo => Generando automticamente el cdigo embebido

Prlogo Modelado de Sistemas de Tiempo Real Del Modelo al Cdigo Eplogo

Y ahora? Desarrollo Dirigido por Modelos

Desarrollo Dirigido por Modelos


MathWorks :: Real-Time Workshop Embedded Coder

El producto Real-Time Workshop Embedded Coder genera cdigo C para varias plataformas a partir de modelos Permite especicar modelos grcos de estructura y comportamiento Posee herramienta de vericacin y documentacin de cdigo Genera cdigo ANSI/ISO C y C++ Incorpora librera de optimizacin para el lenguaje objetivo Permite ejecutar el cdigo en el ambiente de produccin y generar reportes de ejecucin Existe una librera para PIC (http://www.kerhuel.eu/RTWdsPIC/)

Prlogo Modelado de Sistemas de Tiempo Real Del Modelo al Cdigo Eplogo

Y ahora? Desarrollo Dirigido por Modelos

Desarrollo Dirigido por Modelos


MathWorks :: Real-Time Workshop Embedded Coder

Prlogo Modelado de Sistemas de Tiempo Real Del Modelo al Cdigo Eplogo

Resumen Bibliografa

Resumen
Realizar modelos de un sistema previa construccin del mismo puede ser benecioso, ms an en un entorno complejo como el de sistemas de tiempo real. Existen diferentes niveles en los cuales se puede modelar. Adems, existen mltiples alternativas. La eleccin depende principalmente del propsito del modelo. Un propsito habitual es permitir en ltima instancia generar el cdigo para la ejecucin del sistema en cierta plataforma. Para ello es conveniente contar con alguna herramienta de soporte.

Prlogo Modelado de Sistemas de Tiempo Real Del Modelo al Cdigo Eplogo

Resumen Bibliografa

Bibliografa
[Bro02] M. Broy et al. The Design of Distributed Systems, An Introduction to Focus Technical Report TUM-I9202, Technische Universitt Mnchen, 2002. [MM05] G. Martin and W. Muller. UML for SOC Design Birkhuser 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 [UPP] UPPAAL web site. http://www.uppaal.com/

Defer no time, delays have dangerous ends W. Shakespeare

You might also like