Software embebido
Andrés Djordjalian Seminario de Sistemas Embebidos Facultad de Ingeniería de la U.B.A.
14:30 1 de 32
Modelado de Sistemas Embebidos
Temario
1. 2. 3. 4. 5. 6. ¿Qué es el modelado? Modelos de computación Tendencias UML Desarrollo basado en modelos Herramientas Para eso, vayan formando grupos
• • de 3 o 4 personas. Vean quién vive más cerca de FIUBA – Esapersona va a hacer las anotaciones y ser el o la vocero del grupo, cuando discutamos entre todos las conclusiones. » Los demás pueden explicarle y hacer comentarios cuando discutamos, pero sin sacarle el laburo.
La presentación tiene actividades
14:30
2 de 32
¿Qué es un Modelo?
Es la descripción del funcionamiento o la estructura de un sistema, o de alguna de sus partes, en un nivelalto de abstracción
Pueden emplearse en los requerimientos, en la definición de la arquitectura o en el diseño detallado
Lo forman uno o más artifacts
Que pueden estar en pizarrón (whiteboard), papel, o en un archivo de computadora.
Los modelos generalmente están expresados en lenguajes cercanos al problema
Frecuentemente son gráficos o matemáticos
Ejemplos: escribir un código Matlab,diagramar en Simulink o en un diagrama de estados.
14:30
3 de 32
El Modelado Sirve Para:
Organizar y comunicar ideas eficientemente.
…al pensar un diseño, hacerlo en equipo, y documentar
Encontrar defectos temprano
…si es que se puede ejecutar o chequear formalmente
• A veces se dice simular en lugar de ejecutar • Las técnicas de chequeo formal intentan demostrar que es correcto,como se demuestra un teorema
Implementar un sistema embebido
…si contamos con herramientas de MDD
• MDD=Model-Driven Development – (vamos a verlo más adelante)
Representar el entorno de un sistema embebido, para verificarlo
Ej., simulación de “hardware in the loop” (HIL, ver figura)
Fuente: embedded.com
14:30
4 de 32
Lenguajes de Modelado
Son lenguajes artificiales paraconstruir modelos
Ejemplos: El lenguaje del MATLAB o la notación típica de una máquina de estados finitos
Propósitos:
Evitar malentendidos Habilitar el uso de herramientas y su interoperabilidad Facilitar modos eficientes de expresar ideas
Muchos de estos lenguajes son gráficos Algunos son de propósito general y otros son domain-specific
…o sea, especiales para determinados problemas
Los hayabiertos, otros son propietarios Frecuentemente emplean modelos de computación.
14:30 5 de 32
Modelos de Computación
Son definiciones abstractas de máquinas capaces de computar Ejemplo: una máquina de estados finitos (FSM) Algunos lenguajes de modelado incluyen, por ejemplo diagramas de estado
Ej: los StateCharts de UML, o la extensión Stateflow de Simulink A veces les incorporan elementosnuevos y/o una sintaxis particular
• Más adelante vamos a verlo para el caso de los StateCharts
14:30 6 de 32
Ejemplos de Modelos de Computación
Modelo de Flujo de Datos
Representación gráfica de cómo se mueven los datos entre los distintos procesos o componentes
Como la que se usa en DSP
También se le dice Data-Flow Diagram (DFD) Puede ser en tiempo discreto o continuo
14:30
7de 32
Ejemplos de Modelos de Computación
Redes de Petri
Sirven para representar sistemas con concurrencia y necesidades de sincronización
Ej., porque compiten por recursos
Fuente: ARP Manual; LCMI/UFSC (Brazil)
14:30
8 de 32
Redes de Petri
Ejemplos de Modelos de Computación
(Otro ejemplo de Red de Petri)
Fuente: http://www.jfsowa.com
14:30
9 de 32Utilización de Lenguajes de Modelado en la Industria
2006 State of the Embedded Market Survey: Encuesta a 1217 suscriptos a publicaciones sobre embebidos y visitantes a conferencias. Preguntas: “My current embedded project uses…” y “My next embedded project is likely to use…”
14:30
10 de 32
Survey Says: Agilists are Modeling
Whiteboard Sketching Init. Agile Req. Modeling Init. Agile Arch....
Regístrate para leer el documento completo.