Professional Documents
Culture Documents
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
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
"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
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
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)
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.
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
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.
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)
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)
Cmo modelar?
Modelo Terico :: FOCUS :: Heater Control
Cmo modelar?
Modelo Grco :: UML Prole for SPT :: Web-Based Video-Streaming Application
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)
Cmo modelar?
Simulacin :: SystemC :: UML Prole for SoC Design (Clock and Reset)
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
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/)
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.
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/