20090723 Presentacion Pfc
Transcript of 20090723 Presentacion Pfc
![Page 1: 20090723 Presentacion Pfc](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557aeb25d8b42a17468b4a3c/html5/thumbnails/1.jpg)
Análisis de Lenguajes Específicos de Dominio
para Sistemas Embebidos
Ander ZubizarretaDonostia, 23 Julio 2009
![Page 2: 20090723 Presentacion Pfc](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557aeb25d8b42a17468b4a3c/html5/thumbnails/2.jpg)
Contexto
Ikerlan Research Centre
Centro de investigación Aplicada
Dentro del Grupo Mondragón
Aprox. 250 personas
Equipo de trabajo
Area de Tecnologias de la Informacion
Equipo de Líneas de Producto Software
2
![Page 3: 20090723 Presentacion Pfc](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557aeb25d8b42a17468b4a3c/html5/thumbnails/3.jpg)
Sistemas embebidos
¿Qué son? Sistemas de computación “escondidos” dentro del producto Parte integral del sistema entero Se utilizan en todo tipo de productos
Características Propósito específico Tiempo real Hardware con restricciones Conectados a ambientes físicos Confiabilidad
3
![Page 4: 20090723 Presentacion Pfc](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557aeb25d8b42a17468b4a3c/html5/thumbnails/4.jpg)
Problemas
Complejidad Los sistemas cada vez son mas complejos En la funcionalidad inherente que proporcionan En el numero creciente de funcionalidades
Reutilización Cómo reutilizar funcionalidad en sistemas nuevos
Customización Cómo customizar funcionalidad para cada cliente
Otros Confiabilidad, mantenibilidad, etc
4
![Page 5: 20090723 Presentacion Pfc](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557aeb25d8b42a17468b4a3c/html5/thumbnails/5.jpg)
Paradigmas de Ingeniería de Software DSL (Domain Specific Language)
Representación del problema en términos del dominio Mayor expresividad y nivel de abstracción
MDD (Model Driven Development) El desarrollo se centra en los modelos Los modelos conforman a metamodelos Transformaciones para generar código u otros modelos
SPL (Sofware Product Lines) Familias de programas Base + Features Variabilidad
5
MMA
MBMA
MMBTAB
<<conformsTo>> <<conformsTo>><<transforms>>
![Page 6: 20090723 Presentacion Pfc](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557aeb25d8b42a17468b4a3c/html5/thumbnails/6.jpg)
Trabajo realizado
6
![Page 7: 20090723 Presentacion Pfc](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557aeb25d8b42a17468b4a3c/html5/thumbnails/7.jpg)
Trabajo realizado
Estado del arte ¿Qué se ha hecho? ¿Cómo se han utilizado?
Herramientas MetaEdit+, EMF, ATL, MOFScript, MDWorkbench,
Rhapsody, RulesComposer Casos de estudio
Definición de DSL Modelado Transformaciones
• T. de modelo a modelo• Generación de código• Generación de documentación
Investigación Variabilidad en el MDD
7
![Page 8: 20090723 Presentacion Pfc](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557aeb25d8b42a17468b4a3c/html5/thumbnails/8.jpg)
Indice
1. Definición del ejemplo
2. Diseño de DSL
3. Utilización de DSL
4. Model-to-text con MOFScript
5. Model-to-model con ATL
6. Rhapsody + RulesComposer
7. MDPLE
8. JISBD
8
![Page 9: 20090723 Presentacion Pfc](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557aeb25d8b42a17468b4a3c/html5/thumbnails/9.jpg)
Definición del ejemplo
Sistema de control de inundaciones Sistema embebido ficticio Varios subsistemas para controlar diferentes
elementos (temperatura, precipitaciones…) Cada subsistema varias entradas y salidas
Ejemplo: UK01 Sistema de control de inundaciones con 3
subsistemas:• TenpKont (control de temperatura)
– 3 entradas, 1 salida
• PrezKont (control de precipitaciones)– 3 entradas, 1 salida
• PresaKont (control de la presa)– 2 entradas, 1 salida
9
![Page 10: 20090723 Presentacion Pfc](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557aeb25d8b42a17468b4a3c/html5/thumbnails/10.jpg)
Diseño de DSLMetaEdit+ Metamodelado
EMF Metamodelado
10
![Page 11: 20090723 Presentacion Pfc](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557aeb25d8b42a17468b4a3c/html5/thumbnails/11.jpg)
Utilización de DSLMetaEdit+ Modelado con DSL
EMF Modelado con DSL
11
![Page 12: 20090723 Presentacion Pfc](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557aeb25d8b42a17468b4a3c/html5/thumbnails/12.jpg)
Model-to-text con MOFScript Generación de código C++ desde modelo definido en EMF
12
C++
Modelo TransformaciónCódigo
![Page 13: 20090723 Presentacion Pfc](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557aeb25d8b42a17468b4a3c/html5/thumbnails/13.jpg)
Model-to-model con ATL Trans. Modelo EMF en clases UML
13
Modelo TransformaciónModelo
![Page 14: 20090723 Presentacion Pfc](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557aeb25d8b42a17468b4a3c/html5/thumbnails/14.jpg)
C++
IBM/TL Rhapsody + RulesComposer Generación de código y doc. de modelo Rhapsody
14
Modelo Transformación
Docs
![Page 15: 20090723 Presentacion Pfc](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557aeb25d8b42a17468b4a3c/html5/thumbnails/15.jpg)
MDPLE’09: Is model variability enough?
Hasta ahora La variabilidad en el MDD se ha centrado en la
variabilidad de modelos
Nuestra posición Es necesaria la variabilidad en metamodelos y
transformaciones Ejemplos: añadir nuevos tipos de elementos o generar
código para diferentes plataformas
15
¿es suficiente?
1st International Workshop on Model-Driven Product Line Engineering,Twente, Netherlands
![Page 16: 20090723 Presentacion Pfc](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557aeb25d8b42a17468b4a3c/html5/thumbnails/16.jpg)
JISBD‘09: On the refinement of M2T transformations
Aplicación de la variabilidad a las transformaciones de modelo a texto
16
XIV Jornadas de Ingeniería del Software y Bases de Datos,Donostia-San Sebastián
![Page 17: 20090723 Presentacion Pfc](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557aeb25d8b42a17468b4a3c/html5/thumbnails/17.jpg)
Gestión
![Page 18: 20090723 Presentacion Pfc](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557aeb25d8b42a17468b4a3c/html5/thumbnails/18.jpg)
Gestión
Reuniones Reuniones entre el tutor y el alumno cada semana
Seguimiento Reuniones de seguimiento cada 4 semanas
Planificación Como en todos los proyectos, cambios en la
planificación inicial
18
![Page 19: 20090723 Presentacion Pfc](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557aeb25d8b42a17468b4a3c/html5/thumbnails/19.jpg)
Conclusiones
21
![Page 20: 20090723 Presentacion Pfc](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557aeb25d8b42a17468b4a3c/html5/thumbnails/20.jpg)
Contribución
Contribución técnica Estudio de herramientas Análisis de los paradigmas (DSL, MDD, SPL)
Contribución científica Aplicación de la variabilidad a transformaciones y
metamodelos Papers
22
![Page 21: 20090723 Presentacion Pfc](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557aeb25d8b42a17468b4a3c/html5/thumbnails/21.jpg)
Conclusiones
Conclusiones generales Beneficios de utilizar MDD, DSL y SPL
• Centrarse en ¿qué hace? un programa, no ¿cómo lo hace?• Generación automática de código y documentación• Reutilización
Limitaciones• Diseñar un DSL puede resultar costoso
Conclusiones personales Experiencia muy positiva
• Aprendizaje de conceptos totalmente nuevos• Introducción al mundo de investigación• Introducción al mundo laboral• Buen entorno de trabajo
23
![Page 22: 20090723 Presentacion Pfc](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557aeb25d8b42a17468b4a3c/html5/thumbnails/22.jpg)
Trabajo futuro
Herramientas que den buen soporte a todas las fases del MDD
Técnicas y herramientas que den soporte a la aplicación de la variabilidad
Generación automática de transformaciones
24
![Page 23: 20090723 Presentacion Pfc](https://reader033.fdocuments.ec/reader033/viewer/2022060115/557aeb25d8b42a17468b4a3c/html5/thumbnails/23.jpg)
¿Preguntas?