MDA a Debate Javier Muñoz Javier Muñoz, Vicente Pelechano Grupo OO-Method Departamento de Sistemas...
-
Upload
berenguer-fuente -
Category
Documents
-
view
15 -
download
0
Transcript of MDA a Debate Javier Muñoz Javier Muñoz, Vicente Pelechano Grupo OO-Method Departamento de Sistemas...
![Page 1: MDA a Debate Javier Muñoz Javier Muñoz, Vicente Pelechano Grupo OO-Method Departamento de Sistemas Informáticos y Computación Universidad Politécnica de.](https://reader036.fdocuments.mx/reader036/viewer/2022062300/55398497550346b77a8b491d/html5/thumbnails/1.jpg)
MDA a Debate
Javier MuñozJavier Muñoz, Vicente Pelechano
Grupo OO-MethodDepartamento de Sistemas Informáticos y Computación
Universidad Politécnica de Valencia
I Taller sobre Desarrollo de Software Dirigido por
Modelos, MDA y Aplicaciones (DSDM'04)
![Page 2: MDA a Debate Javier Muñoz Javier Muñoz, Vicente Pelechano Grupo OO-Method Departamento de Sistemas Informáticos y Computación Universidad Politécnica de.](https://reader036.fdocuments.mx/reader036/viewer/2022062300/55398497550346b77a8b491d/html5/thumbnails/2.jpg)
Agenda Introducción y Objetivos
Cuestiones Planteadas
Visiones de Varios Autores
Discusión
Conclusiones
![Page 3: MDA a Debate Javier Muñoz Javier Muñoz, Vicente Pelechano Grupo OO-Method Departamento de Sistemas Informáticos y Computación Universidad Politécnica de.](https://reader036.fdocuments.mx/reader036/viewer/2022062300/55398497550346b77a8b491d/html5/thumbnails/3.jpg)
Introducción
MDA es actualmente una corriente muy importante en el desarrollo de software
Promete proporcionar: Mayor reusabilidad Mayor interoperabilidad entre sistemas Menor tiempo de desarrollo
Numerosos eventos científicos relacionados: WiSME, EWMDA, MDAFA, SIVOES-MDA, Metamodelling for MDA, Generative Techniques in the context of Model Driven Architecture, Best Practices for Model Driven Software Development
![Page 4: MDA a Debate Javier Muñoz Javier Muñoz, Vicente Pelechano Grupo OO-Method Departamento de Sistemas Informáticos y Computación Universidad Politécnica de.](https://reader036.fdocuments.mx/reader036/viewer/2022062300/55398497550346b77a8b491d/html5/thumbnails/4.jpg)
Introducción
La guía de MDA no es precisa: muchas preguntas abiertas
Objetivo:1. Identificar algunas cuestiones importantes que no están
completamente claras
2. Estudiar la visión de varios autores
3. Proporcionar posibles respuestas a las cuestiones
![Page 5: MDA a Debate Javier Muñoz Javier Muñoz, Vicente Pelechano Grupo OO-Method Departamento de Sistemas Informáticos y Computación Universidad Politécnica de.](https://reader036.fdocuments.mx/reader036/viewer/2022062300/55398497550346b77a8b491d/html5/thumbnails/5.jpg)
Cuestiones Planteadas
1. Naturaleza de MDA ¿Qué es MDA? ¿Un método? ¿Una filosofía de desarrollo? ¿Cómo puede ayudar a desarrollar software?
2. Novedades de MDA ¿Qué es nuevo en MDA? Los modelos ya se utilizaban ¿Qué aporta MDA al estado del arte en la Ing. del Software?
3. Automatización de las transformaciones ¿Es necesario automatizar las transformaciones para ser MDA?
4. Concepto de plataforma ¿Qué se entiende por “plataforma” en MDA?
![Page 6: MDA a Debate Javier Muñoz Javier Muñoz, Vicente Pelechano Grupo OO-Method Departamento de Sistemas Informáticos y Computación Universidad Politécnica de.](https://reader036.fdocuments.mx/reader036/viewer/2022062300/55398497550346b77a8b491d/html5/thumbnails/6.jpg)
Algunos Autores
Autores y citas seleccionadas: Colin Atkinson and Thomas K¨uhne. Model-Driven Development: A Metamodeling
Foundation. IEEE Software, 20(5):46–51, September/October 2003.
Mellor, S.J. and Clark, A.N. and Futagami, T. Model-driven development – Guest editor’s introduction. IEEE Software, 20(5):14– 18, Sept.-Oct. 2003.
Lutz Bichler. A flexible code generator for MOF-based modeling languages. In 2nd OOPSLA Workshop on Generative Techniques in the context of Model Driven Architecture, 2003.
Bran Selic. The Pragmatics of Model-Driven Development. IEEE Software, 20(5):46–51, September/October 2003.
Aditya Agrawal and Tihamer Levendovszky and Jon Sprinkle and Feng Shi and Gabor Karsai. Generative Programming via Graph Transformations in the Model-Driven Architecture. In Workshop on Generative Techniques in the Context of Model Driven Architecture, 2002.
![Page 7: MDA a Debate Javier Muñoz Javier Muñoz, Vicente Pelechano Grupo OO-Method Departamento de Sistemas Informáticos y Computación Universidad Politécnica de.](https://reader036.fdocuments.mx/reader036/viewer/2022062300/55398497550346b77a8b491d/html5/thumbnails/7.jpg)
Algunos autores
Autores y citas seleccionadas (sigue): Krzysztof Czarnecki and Simon Helsen. Classification of model transformation
approaches. In 2nd OOPSLA Workshop on Generative Techniques in the Context of the Model Driven Architecture, 2003.
Daniel Varró and András Pataricza. UML Action Semantics for Model Transformation Systems. Periodica Politechnica, 2003.
T. Gardner and C. Grin and J. Koehler and R. Hauser. A review of OMG MOF 2.0 Query / Views / Transformations Submissions and Recommendations towards the final Standard,. In MetaModelling for MDA Workshop, 2003.
Torben Weis and Andreas Ulbrich and Kurt Geihs. Model Metamorphosis. IEEE Software, 20(5):46–51, September/October 2003.
![Page 8: MDA a Debate Javier Muñoz Javier Muñoz, Vicente Pelechano Grupo OO-Method Departamento de Sistemas Informáticos y Computación Universidad Politécnica de.](https://reader036.fdocuments.mx/reader036/viewer/2022062300/55398497550346b77a8b491d/html5/thumbnails/8.jpg)
Atkinson
“a MDD (Model Driven Development) supporting infrastructure must define:1. The concepts available for creating models and the rules governing their use2. The notation to use in depicting models3. How the model’s elements represent realworld elements, including software
artifacts4. Concepts to facilitate dynamic user extensions to model concepts, model
notation,and the models created from them5. Concepts to facilitate the interchange of model concepts and notation, and the
models created from them6. Concepts to facilitate user-defined mappings from models to other artifacts,
including code”
MDD, no MDA1. Metamodelos2. Sintaxis concreta3. Transformaciones
![Page 9: MDA a Debate Javier Muñoz Javier Muñoz, Vicente Pelechano Grupo OO-Method Departamento de Sistemas Informáticos y Computación Universidad Politécnica de.](https://reader036.fdocuments.mx/reader036/viewer/2022062300/55398497550346b77a8b491d/html5/thumbnails/9.jpg)
Mellor
“a set of OMG standards that enables the specification of models and their transformation into other models and complete systems.”
MDA = estándares para MDD
Pueden haber otras técnicas para MDD
![Page 10: MDA a Debate Javier Muñoz Javier Muñoz, Vicente Pelechano Grupo OO-Method Departamento de Sistemas Informáticos y Computación Universidad Politécnica de.](https://reader036.fdocuments.mx/reader036/viewer/2022062300/55398497550346b77a8b491d/html5/thumbnails/10.jpg)
Bichler
el objetivo de MDA es “to define a standardized approach to software development based on models. Each phase within a software development process generates additional informations which need to be added to the model by a suitable transformation. These transformations should be supported by tools in order to facilitate process execution and increase the accuracy of the transformations”.
Aproximación estándar para MDD
![Page 11: MDA a Debate Javier Muñoz Javier Muñoz, Vicente Pelechano Grupo OO-Method Departamento de Sistemas Informáticos y Computación Universidad Politécnica de.](https://reader036.fdocuments.mx/reader036/viewer/2022062300/55398497550346b77a8b491d/html5/thumbnails/11.jpg)
Selic
“MDD’s defining characteristic is that software development’s primary focus and products are models rather than computer programs”.
En el mismo trabajo destaca que “ if models end up merely as documentation, they are of limited value, because documentation all too easily diverges from reality. Consequently, a key premise behind MDD (Model Driven Development) is that programs are automatically generated from their corresponding models”.
MDD, no MDA Es imprescindible la generación automática
![Page 12: MDA a Debate Javier Muñoz Javier Muñoz, Vicente Pelechano Grupo OO-Method Departamento de Sistemas Informáticos y Computación Universidad Politécnica de.](https://reader036.fdocuments.mx/reader036/viewer/2022062300/55398497550346b77a8b491d/html5/thumbnails/12.jpg)
Agrawal
MDA propone que en el proceso de desarrollo de software “models are created for capturing not only requirements, but also designs and implementations. The models are not merely artifacts of documentation, but living documents that are transformed into implementations”.
Con MDA los modelos no son sólo documentación, capturan: Requisitos Diseño Implementación
![Page 13: MDA a Debate Javier Muñoz Javier Muñoz, Vicente Pelechano Grupo OO-Method Departamento de Sistemas Informáticos y Computación Universidad Politécnica de.](https://reader036.fdocuments.mx/reader036/viewer/2022062300/55398497550346b77a8b491d/html5/thumbnails/13.jpg)
Czarnecki
define MDA como “an initiative by the Object Management Group (OMG) to define an approach to software development based on modeling and automated mapping of models to implementations. The basic MDA pattern involves defining a platform independent model (PIM) and its automated mapping to one or more platform-specific models (PSMs)”.
La transformación debe ser automática
1 PIM -> 1..n PSM
![Page 14: MDA a Debate Javier Muñoz Javier Muñoz, Vicente Pelechano Grupo OO-Method Departamento de Sistemas Informáticos y Computación Universidad Politécnica de.](https://reader036.fdocuments.mx/reader036/viewer/2022062300/55398497550346b77a8b491d/html5/thumbnails/14.jpg)
Gardner
la principal diferencia de MDA con el uso anterior de los modelos conceptuales es que “the models are the key part of the definition of the software system. Rather than the models being handed over to programmers to implement, all or much of the structure and behavior of a system is captured in models, which are automatically transformed into code (and other platform artifacts). Knowledge of the platform is encoded into transformations, which are reused for many systems rather than redesigned for each new system”.
Además, destacan que “in MDA, automated transformations play a key role”.
Transformaciones necesitan ser automáticas
No es necesario generar toda la aplicación
![Page 15: MDA a Debate Javier Muñoz Javier Muñoz, Vicente Pelechano Grupo OO-Method Departamento de Sistemas Informáticos y Computación Universidad Politécnica de.](https://reader036.fdocuments.mx/reader036/viewer/2022062300/55398497550346b77a8b491d/html5/thumbnails/15.jpg)
Varró
“according to MDA, software development will be driven by a thorough modeling phase where first (i) a platform independent model (PIM) of the business logic is constructed from which (ii) platform specific models (PSMs) including details of the underlying software architecture are derived by model transformations followed by (iii) an automatic generation of the target application code”.
Los PSM describen la arquitectura software
La generación debe ser automática
![Page 16: MDA a Debate Javier Muñoz Javier Muñoz, Vicente Pelechano Grupo OO-Method Departamento de Sistemas Informáticos y Computación Universidad Politécnica de.](https://reader036.fdocuments.mx/reader036/viewer/2022062300/55398497550346b77a8b491d/html5/thumbnails/16.jpg)
Weis
“using MDA, developers create a platform-independent model. A platform-specific model is derived from the PIM to target a specific technology such as Corba, Enterprise JavaBeans, or .NET. Model transformation bridges the gap between the PIM and PSM. In the worst case, developers must manually perform this transformation, and they’ll likely think that the PIM decreases their productivity. So, an automatic transformation from a PIM to a PSM is needed”.
Es necesario automatizar las transformaciones
PSM = Tecnología específica
![Page 17: MDA a Debate Javier Muñoz Javier Muñoz, Vicente Pelechano Grupo OO-Method Departamento de Sistemas Informáticos y Computación Universidad Politécnica de.](https://reader036.fdocuments.mx/reader036/viewer/2022062300/55398497550346b77a8b491d/html5/thumbnails/17.jpg)
Posiciones de los AutoresNaturaleza de
MDAAportación MDA Transform. Plataforma
Atkinson MDD
Mellor Estándares para MDD
Bichler Estandarizar MDD No automático
Selic Transformación de modelos
Automáticas
Agrawal Transf. de modelos/ Modelos de Diseño/Impl.
Czarnecki Aproximación al desarrollo de SW
Automáticas
Gardner Transf. de modelos Automáticas
Varró Arquitectura del Sistema
Weis Automáticas Tecnologías de Impl.
![Page 18: MDA a Debate Javier Muñoz Javier Muñoz, Vicente Pelechano Grupo OO-Method Departamento de Sistemas Informáticos y Computación Universidad Politécnica de.](https://reader036.fdocuments.mx/reader036/viewer/2022062300/55398497550346b77a8b491d/html5/thumbnails/18.jpg)
Discusión
1. Naturaleza de MDA Según la guía (y Bichler y Czarnecki): MDA is an approach to
using models in software development Atkison y otros: la aproximación es MDD Mellor: MDA = estándares para MDD
Podemos diferenciar entre:
1. MDD = Enfoque al desarrollo de software
2. MDA = Estándar que proporciona lenguajes para aplicar MDD
MDA no es aplicable directamente Los métodos MDA utilizarán los lenguajes de OMG (UML, MOF,
CMW, QVT)
![Page 19: MDA a Debate Javier Muñoz Javier Muñoz, Vicente Pelechano Grupo OO-Method Departamento de Sistemas Informáticos y Computación Universidad Politécnica de.](https://reader036.fdocuments.mx/reader036/viewer/2022062300/55398497550346b77a8b491d/html5/thumbnails/19.jpg)
Discusión
2. Novedades de MDA
Aportaciones de MDD Modelos son el artefacto principal Las transformaciones entre modelos son clave
Aportaciones de MDA Aporta lenguajes estándar Estandariza MDD Introduce los modelos de diseño e implementación¿ ?
![Page 20: MDA a Debate Javier Muñoz Javier Muñoz, Vicente Pelechano Grupo OO-Method Departamento de Sistemas Informáticos y Computación Universidad Politécnica de.](https://reader036.fdocuments.mx/reader036/viewer/2022062300/55398497550346b77a8b491d/html5/thumbnails/20.jpg)
Discusión
3. Automatización transformaciones
Según la guía de MDA Transformaciones completamente manuales Transformaciones semiautomáticas o asistidas Transformaciones completamente automáticas
Para muchos autores la automatización es clave en MDD
En resumen:
1. No es imprescindible automatizar las transformaciones para seguir el estándar MDA
2. Sí es necesario automatizar las transformaciones para que MDD sea útil
![Page 21: MDA a Debate Javier Muñoz Javier Muñoz, Vicente Pelechano Grupo OO-Method Departamento de Sistemas Informáticos y Computación Universidad Politécnica de.](https://reader036.fdocuments.mx/reader036/viewer/2022062300/55398497550346b77a8b491d/html5/thumbnails/21.jpg)
Discusión
4. Concepto de Plataforma en MDA En la guía de MDA hay tres interpretaciones
1. Tecnología concreta (EJB, .NET etc.) sec 2.2.6
2. Tecnología abstracta (CORBA, OO, etc.) ejemplos
3. Generador de implementación pag 6-5
Cuestiones abiertas: ¿Qué tipo de modelo sería un modelo de la arquitectura? [PIM + Transf. Automáticas] es un PSM ¿Es suficiente la dictomía PIM/PSM?
Debate intenso, en última instancia plataforma = tecnología
![Page 22: MDA a Debate Javier Muñoz Javier Muñoz, Vicente Pelechano Grupo OO-Method Departamento de Sistemas Informáticos y Computación Universidad Politécnica de.](https://reader036.fdocuments.mx/reader036/viewer/2022062300/55398497550346b77a8b491d/html5/thumbnails/22.jpg)
Conclusiones
La Guía de MDA deja algunos temas básicos poco claros La comunidad que trabaja en Ing. SW. tiene su interpretación
Temas abiertos Pasos y elementos necesarios para construir métodos MDA ¿Qué se necesita para especificar transformaciones automáticas? Clasificación de los modelos
![Page 23: MDA a Debate Javier Muñoz Javier Muñoz, Vicente Pelechano Grupo OO-Method Departamento de Sistemas Informáticos y Computación Universidad Politécnica de.](https://reader036.fdocuments.mx/reader036/viewer/2022062300/55398497550346b77a8b491d/html5/thumbnails/23.jpg)
Gracias