La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

I Taller sobre Desarrollo de Software Dirigido por Modelos, MDA y Aplicaciones (DSDM'04) MDA Aplicado: Una Gramática de Grafos para la Transformación de.

Presentaciones similares


Presentación del tema: "I Taller sobre Desarrollo de Software Dirigido por Modelos, MDA y Aplicaciones (DSDM'04) MDA Aplicado: Una Gramática de Grafos para la Transformación de."— Transcripción de la presentación:

1 I Taller sobre Desarrollo de Software Dirigido por Modelos, MDA y Aplicaciones (DSDM'04)
MDA Aplicado: Una Gramática de Grafos para la Transformación de Relaciones de Asociación. Javier Muñoz, Marta Ruiz, Manoli Albert, Vicente Pelechano Grupo OO-Method Departamento de Sistemas Informáticos y Computación Universidad Politécnica de Valencia Hello. My name is Javier Muñoz. I am member of the OO-Method research group of the Polytchic University of Valencia, Spain, and I am going to present the paper “Model Driven Development of Pervasive Systems”.

2 Agenda Introducción Caracterización de Relaciones de Asociación
Implementación de Relaciones de Asociación Transformación de Relaciones de Asociación Gramáticas de Grafos Metamodelos La Gramática Implementación Conclusiones This work proposes a development method for pervasive systems based on conceptual modelling and automatic code generation techinques. In particular, we apply the ideas proposed by the Model Driven Architecture to the development of pervasive systems. Following this approach, we popose techniques for every MDA building block in order to define a MDA based method for pervasive systems development. Therefore, the presentation is structured following this sections. First of all a brief introduction in order to motivate the work. Next I am going to describe the MDA approach and how we propose to apply it to the development of pervasive systems. Then I present the Pervasive Modelling Language, a modelling language for describing a pervasive system using high-level abstraction concepts and, therefore, in a platform independent way. This language promotes the separation of developers roles, I present the view of the system that must be described by an analyst and, next, the tasks of a system architect. Afterwards I outline the proposed techniques for the other MDA building blocks and, finally, the conclusions and future work.

3 Introducción MDA constituye un enfoque adecuado para realizar generación de código siguiendo una estrategia basada en modelos. Las transformaciones entre modelos se convierten en un elemento clave Source Code PIM Model to Model Transformation PSM Model to Code The rise of the number and complexity of pervasive systems is a fact. Computing based systems growth is arriving to all environments of our daily life, and this situation requires solid engineering methods in order to develop robust systems. On the other hand, requirements for current and future pervasive systems involve a great diversity of types of services. Such diferent services as multimedia, communication or automation services need hardware devices that diferent manufacturers provide. These devices live in several networks running on diferent technologic platforms, but they can not satisfy alone all system requirements. Therefore, devices must work together for achieving some system goals. This situation convert pervasive systems in very complex systems. But current development methods provide low-level abstraction constructs that usually represent hardware entities. Following this approach system description has a strong dependence on the hardware system and jump between abstraction levels must be done implicitly by the developers that transform system requirements in source code. This jump is error-prone.

4 Introducción MDA no propone una técnica estándar
Están trabajando en ello (RFP QVT) Se están proponiendo y estudiando varias técnicas Manipulación directa de los modelos Enfoques relacionales Gramáticas de grafos XSLT

5 Introducción Aplicación Transformaciones PIM PSM
Modelado Conceptual Orientado a Objetos PSM class Empleado{ String Nombre; ... } class Empresa { String Nombre; ... } Clases de Diseño

6 Relaciones de asociación
Los métodos de Desarrollo de Software Dirigido por modelos necesitan primitivas conceptuales precisas La descripción que realiza UML de las relaciones de asociación, agregación y composición es ambigua y no es aceptada por la mayoría de la comunidad OO En este trabajo se parte del marco conceptual propuesto en [Albert2003] presentado en CAiSE2003

7 Marco conceptual para relaciones de asociación
Características Temporales Dinámica/Estática Multiplicidad Número min y max conectados Propagación de Borrado Restrictivo/Cascada/Enlace Visibilidad Visible/No visible Proyección de Identificación Proyectado/No Proyectado Reflexividad Reflexivo/No Reflexivo Simetría Simétrica/Antisimética

8 Implementación de relaciones de asociación
A partir del marco conceptual se realiza una propuesta de implementación aplicando patrones de diseño ([Ruiz2004] en IDEAS’04) Ideas básicas Una relación de asociación tiene semántica propia Patrón Mediator Los objetos que participan tienen estructura y comportamiento adicional Patrón Decorator Las relaciones comparten estructura y estrategia de ejecución para la gestión de enlaces Patrón Template Method

9 Implementación de relaciones de asociación
Clases abstractas (template method) Clases decoradoras Clase mediadora

10 Transformación de modelos
Un modelo puede ser gestionado con un grafo Elementos = nodos etiquetados Relaciones = enlaces etiquetados entre nodos Ventajas de las gramáticas de grafos Base de conocimiento existente Sintaxis gráfica Naturaleza declarativa Herramientas para su aplicación

11 Gramáticas de Grafos Una gramática de grafos se compone de una serie de reglas Cada regla define: En la parte izquierda (LHS) un subgrafo Patrón En la parte derecha (RHS) un subgrafo Sustitución

12 Gramáticas de Grafos

13 Transformación de Relaciones de Asociación
Estrategia a seguir: Definir el metamodelo origen (metamodelo de análisis) Definir el metamodelo destino (metamodelo de diseño) Especificar la gramática para la transformación entre metamodelos

14 Metamodelo de Análisis
Basado en el marco conceptual

15 Metamodelo análisis (ejemplo)

16 Metamodelo de Diseño Elementos básicos de cualquier lenguaje orientado a objetos Usando nomenclatura de C#

17 Metamodelo de Diseño (ejemplo)
public class Persona { public String Nombre; private Integer Edad; private Persona Vecino; public String [] Telefonos; public void fijarEdad(Integer nueva_edad) Edad = nueva_edad; }

18 La Gramática para Transformación de Relaciones de Asociación
R1. Creación de tipos de datos atómicos R2. Transformación de clases de análisis R3. Creación de la estructura de las clases base R4. Creación de las operaciones de DecoradorColega R5. Creación de las operaciones de MediadorAsociacion R6. Transformación de los extremos de la asociación R7. Transformación de la asociación R8. Transformación de las propiedades clave con PI R9. Transformación de las propiedades clave sin PI R10. Transformación de las propiedades R11. Eliminación de enlaces innecesarios

19 R1. Creación de tipos de datos atómicos

20 R3. Creación de la estructura de clases base

21 R6. Transformación de los extremos de la asociación

22 R6. Transformación de los extremos de la asociación

23 Implementación de la Gramática
Utilizando la herramienta Atom3 ( Especificación de los metamodelos mediante ER Obtención de editores gráficos para los MM Especificación y aplicación de la gramática de grafos Problemas encontrados No soporta herencia en la definición de los MM En la aplicación de la GG, el modelo debe validar siempre uno de los MM No es muy estable y la usabilidad es baja

24 Implementación de la Gramática

25 Conclusiones Se han aplicado gramáticas de grafos para definir transformaciones entre modelos en el contexto de MDA Conclusiones: Es factible utilizar GG en MDA Algunas reglas pueden resultar poco legibles Las reglas con más elementos corresponden a la creación de la infraestructura del sistema Trabajo futuro: Implementar la GG con otras herramientas Implementar la transformación con otras técnicas Especificar transformaciones más complejas Estudiar la separación de la infraestructura y la parte específica

26 Gracias Thank you for your attention.


Descargar ppt "I Taller sobre Desarrollo de Software Dirigido por Modelos, MDA y Aplicaciones (DSDM'04) MDA Aplicado: Una Gramática de Grafos para la Transformación de."

Presentaciones similares


Anuncios Google