La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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.

Presentaciones similares


Presentación del tema: "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."— Transcripción de la presentación:

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 Valencia I Taller sobre Desarrollo de Software Dirigido por Modelos, MDA y Aplicaciones (DSDM'04)

2 Agenda Introducción y Objetivos Cuestiones Planteadas Visiones de Varios Autores Discusión Conclusiones

3 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

4 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

5 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?

6 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 editors 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.

7 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.

8 Atkinson a MDD (Model Driven Development) supporting infrastructure must define: 1. The concepts available for creating models and the rules governing their use 2. The notation to use in depicting models 3. How the models elements represent realworld elements, including software artifacts 4. Concepts to facilitate dynamic user extensions to model concepts, model notation,and the models created from them 5. Concepts to facilitate the interchange of model concepts and notation, and the models created from them 6. Concepts to facilitate user-defined mappings from models to other artifacts, including code MDD, no MDA 1. Metamodelos 2. Sintaxis concreta 3. Transformaciones

9 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

10 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

11 Selic MDDs defining characteristic is that software developments 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

12 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

13 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

14 Gardner la principal diferencia de MDA con el uso anterior de los modelos conceptuales es quethe 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

15 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

16 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 theyll 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

17 Posiciones de los Autores Naturaleza de MDA Aportación MDATransform.Plataforma Atkinson MDD Mellor Estándares para MDD Bichler Estandarizar MDDNo 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 modelosAutomáticas Varró Arquitectura del Sistema Weis AutomáticasTecnologías de Impl.

18 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)

19 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 ¿?

20 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

21 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

22 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

23 Gracias


Descargar ppt "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."

Presentaciones similares


Anuncios Google