Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
ModeladodeSistemasEmbebidos
Temario
1. 2. 3. 4. 5. 6. Qu es el modelado? Modelos de computacin Tendencias UML Desarrollo basado en modelos Herramientas Para eso, vayan formando grupos
de 3 o 4 personas. Vean quin vive ms cerca de FIUBA Esa persona va a hacer las anotaciones y ser el o la vocero del grupo, cuando discutamos entre todos las conclusiones. Los dems pueden explicarle y hacer comentarios cuando discutamos, pero sin sacarle el laburo.
14:30
2 de 32
Qu esunModelo?
Es la descripcin del funcionamiento o la estructura de un sistema, o de alguna de sus partes, en un nivel alto de abstraccin
Pueden emplearse en los requerimientos, en la definicin de la arquitectura o en el diseo detallado
14:30
3 de 32
ElModeladoSirvePara:
Organizar y comunicar ideas eficientemente. Encontrar defectos temprano
al pensar un diseo, hacerlo en equipo, y documentar si es que se puede ejecutar o chequear formalmente
A veces se dice simular en lugar de ejecutar Las tcnicas de chequeo formal intentan demostrar que es correcto, como se demuestra un teorema
14:30
4 de 32
LenguajesdeModelado
Son lenguajes artificiales para construir modelos
Ejemplos: El lenguaje del MATLAB o la notacin tpica de una mquina de estados finitos Evitar malentendidos Habilitar el uso de herramientas y su interoperabilidad Facilitar modos eficientes de expresar ideas
Propsitos:
Muchos de estos lenguajes son grficos Algunos son de propsito general y otros son domain-specific
o sea, especiales para determinados problemas
Los hay abiertos, otros son propietarios Frecuentemente emplean modelos de computacin.
14:30 5 de 32
ModelosdeComputacin
Son definiciones abstractas de mquinas capaces de computar Ejemplo: una mquina de estados finitos (FSM) Algunos lenguajes de modelado incluyen, por ejemplo diagramas de estado
Ej: los StateCharts de UML, o la extensin Stateflow de Simulink A veces les incorporan elementos nuevos y/o una sintaxis particular
Ms adelante vamos a verlo para el caso de los StateCharts
14:30 6 de 32
ModelodeFlujodeDatos
Representacin grfica de cmo se mueven los datos entre los distintos procesos o componentes
Como la que se usa en DSP
Tambin se le dice Data-Flow Diagram (DFD) Puede ser en tiempo discreto o continuo
14:30
7 de 32
RedesdePetri
Sirven para representar sistemas con concurrencia y necesidades de sincronizacin
Ej., porque compiten por recursos
14:30
8 de 32
RedesdePetri
14:30
9 de 32
UtilizacindeLenguajesdeModelado enlaIndustria
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
SurveySays:Agilists areModeling
Whiteboard Sketching Init. Agile Req. Modeling Init. Agile Arch. Modeling Paper Modeling CASE Tool Modeling 0 % Finding it Useful
14:30
% Applying Technique
11 de 32
Emplea muchos smbolos que ya se usaban comnmente desde antes. Est basado en orientacin a objetos pero tambin puede aprovecharse con otros paradigmas.
Dada su influencia, hay lenguajes de modelado ajenos al software, y domain-specific, que se basan en UML
Ej.: Systems Modeling Language (SysML)
Adems, usarlo flexiblemente es una prctica frecuente, en lugar de respetar estrictamente la norma. Con estos mecanismos se cre un profile de UML ejecutable (i.e., que se puede simular) llamado Exectuable UML o xUML.
14:30
12 de 32
DiagramasdelUML 2.0
14:30
13 de 32
DiagramadeSecuencia
Muestran las comunicaciones entre varios objetos, a lo largo del tiempo La lnea punteada se hace rectngulo cuando el objeto est activo
Fuente: http://www.conceptdraw.com/en/products/cd5/ap_uml_tool.php
14:30
14 de 32
DiagramadeSecuencia
Describir, mediante un diagrama de secuencia, la comunicacin entre un microcontrolador y un perifrico, en donde el primero le manda un byte A al segundo, seguido de un byte B La sincronizacin se realiza mediante dos seales (conexiones) unidireccionales:
req (request) ack (acknowledge)
De la MCU al perifrico Del perifrico a la MCU
Actividad
Fuente: http://www.conceptdraw.com/en/products/cd5/ap_uml_tool.php
15 de 32
DiagramadeCasosdeUso
En ingls: Use case diagram Muestra a los usuarios del sistema (o sea, actores), sus objetivos al utilizarlo (o sea, casos de uso), y las relaciones entre los casos de uso
14:30
16 de 32
DiagramadeCasosdeUso
Relaciones:
A <<include>> B
cuando el caso de uso A incluye al B
Actividad
A <<extend>> B
cuando A es un adicional que se usa en casos particulares de B
14:30
17 de 32
StateCharts
Son diagramas de estados, mejorados
FSM + Jerarqua
Concurrencia StateCharts
14:30
18 de 32
Diagramade Actividad
Mezcla de los viejos diagramas de flujo con concurrencia basada en tokens, estilo redes de Petri.
Ojo, es un diagrama de flujo de control, no de datos
Real-Time Design Patterns: Robust Scalable Architecture for Real-Time Systems; p. 28; B.P. Douglass; Addison Wesley; 2002
14:30
19 de 32
DiagramadeClases
14:30
20 de 32
DiagramadeTemporizacin
O timing diagram Como los que se usan en digitales
El diagrama se tom de este libro, que ofrece un resumen detallado (160 pginas) del UML 2
14:30 21 de 32
OtrosDiagramas
Componentes, Paquetes, Instalacin
Para mostrar particiones lgicas y fsicas del sistema.
Objetos
Similar al de clases pero muestra objetos.
Estructura Compuesta
Similar al de clases, incorpora jerarquas y categorizaciones.
14:30
22 de 32
DesarrolloBasadoenModelos
Significa que modelos ejecutables sean el cdigo fuente principal de los desarrollos. Se lo llama Model-Driven Architecture (MDA) o ModelDriven Development (MDD)
There are many views and opinions about what MDA is and is not. (Alan Brown, Staff, IBM)
Tratan la provisin de herramientas basadas en modelos, para creacin, transformacin, testeo, anlisis, simulacin, ing. inversa, etc.
Ejemplo de MDD para aplicaciones embebidas generales: Telelogic Rhapsody (de IBM)
A este tipo de herramientas antes se las categorizaba como CASE (Computer-Aided Software Engineering)
El trmino CASE fue tan abusado que ahora se lo utiliza poco.
14:30 23 de 32
Simulink
24 de 32
Stateflow (paraSimulink)
Es un plug-in para poder incluir statecharts en los modelos que se disean con el Simulink
14:30 25 de 32
RealTimeWorkshop (paraSimulink)
Plug-in que compila el modelo en cdigo C o C++ para microcontroladores
Con llamadas al sistema operativo que se elija, o a ninguno
http://www.mathworks.co.jp/products/demos/rtw/introduction/index.html
Est pensado tambin para simulacin de tipo hardware in the loop (HIL)
O sea, simular el entorno que interacta con un sistema embebido
14:30
Fuente: embedded.com
26 de 32
14:30
27 de 32
MetodologaAsociadaalRhapsody
Harmony Process
De I-Logix, que fue adquirida por Telelogic, que fue adquirida por IBM Emplea UML, y modelo de ciclo de vida que combina espiral yV
14:30
28 de 32
NILabVIEW
14:30
29 de 32
MejoresPrcticasdelAgile Modeling
Initial Requirements Modeling
En la iteracin 0, despus del release plan, se empieza modelando el entorno y un planteamiento general de los requerimientos fundamentales del sistema y la interfaz al usuario En la iteracin 0 se modela tambin, en lneas generales, la arquitectura pretendida, para empezar a identificar los mdulos a desarrollar No pasarse con el esfuerzo puesto en un modelo o documento
Ej.: si slo lo queremos para entendernos con un colega, no hace falta pasarlo en la PC Ej.: si slo necesitamos analizar una parte, no hace falta modelar todo
Model Storming
Cuando surge un problema para pensar, se hace una reunin rpida, se piensa entre todos usando modelos (generalmente sobre un pizarrn), y despus cada uno sigue con lo suyo La automatizacin de las pruebas de aceptacin Usarlo como documentacin, reduciendo la documentacin ad hoc y dejndola para el final
La documentacin es el diseo
30 de 32
SurveySays:Agilists areModeling
Whiteboard Sketching Init. Agile Req. Modeling Init. Agile Arch. Modeling Paper Modeling CASE Tool Modeling 0 % Finding it Useful
14:30
% Applying Technique
31 de 32
ParaTerminar
El propsito de estas clases, es que
Incluyan lenguajes de modelado entre los que usan profesionalmente
Para sumarlo al castellano, el lenguaje matemtico, C, etc.
Preguntas? Comentarios? Hay un video con una demo del Telelogic Rhapsody
RhapsodyCDemo.wmv; Telelogic (IBM)
Gracias!
32 de 32