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.

Slides:



Advertisements
Presentaciones similares
BizAgi - Business Agility
Advertisements

MODELOS ORIENTADOS A OBJETOS
U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.
Lenguaje Unificado de Modelado
TECNICATURA UNIVERSITARIA EN INFORMATICA
Maestría en Explotación de Datos y Descubrimiento del Conocimiento
Lenguaje de programación Java
UML para programadores Java
Arquitectura de software dirigida por modelos (Model-Driven Architecture) Liliana Favre UNCPBA 2006.
Tomado de:
Programación Orientada a Objetos
Introducción a la Orientación a Objetos
Aplicación de diseño de clases y generación de código, orientado hacia la arquitectura multicapas y el mapeo objeto/relacional Juan Timoteo Ponce Ortiz.
Tipo de Dato Abstracto Tipos de datos:
Especificación y Verificación de Transformaciones de Modelos
Procesos de la Ingeniería
MODELOS DE DATOS.
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno.
DIAGRAMAS DE CLASES Completando los diagramas de interacción, es posible identificar la especificación de las clases que participarán en la solución indicando.
DIAGRAMA DE CLASE.
El paradigma de la orientación a objetos La programación orientada a objetos genera códigos eficientes y estandariza la metodología de programación, además.
Lenguaje C++ Segunda parte
Criterios de la Orientación a Objetos 1. Método y Lenguaje (proceso de pensamiento y notaciones para analizar y producir software). 2. Implementación y.
Diseño de Sistemas. Patrones de Diseño. Geronimo Manso.
UNIVERSIDAD DE LA FF. AA. ESPE CARRERA DE INGENIERIA DE SISTEMAS PROYECTO DE TESIS : “Análisis, diseño, construcción e implementación de una Guía Interactiva.
LEDA Un Lenguaje para la Especificación y Validación de Arquitecturas de Software Carlos Canal Velasco Depto. de Lenguajes y Ciencias de la Computación.
Ingeniería de Software
Viviana Poblete López Módulo: Modelo de Datos
Programación Orientada a Aspectos (POA)
Sesión 5 Herramientas de creación de DSL gráficos (GMF)
Bases de Datos Orientadas a Objetos (BDOO)
Contenido: 1- Que es el .Net Framework 2- Arquitectura en .Net
Asignación de Tratamientos a Responsabilidades en el contexto del Diseño Dirigido por Modelos David Ameller & Xavier Franch Universitat Politècnica de.
CS-432: Ingeniería Moderna de Software Semana 3
Introducción a las Bases de Datos Relacionales Juan Alberto Sigüenza Escuela Técnica Superior de Informática Universidad Autónoma de Madrid.
UML 2.0 Integrantes: Diana Carolina Valencia M. Jhon Fernando Lopez T. Carlos Alberto Castillo.
Universidad Central de Venezuela Facultad de Ciencias Postgrado en Ciencias de la Computación Sistemas Distribuidos Albany Márquez.
Arquitectura de software dirigida por modelos (Model-Driven Architecture) Liliana Favre UNCPBA2006.
Medición Genérica basada en Modelos sobre MOMENT Responsable Félix García (ESFINGE) Participantes Beatriz Mora, Paco Ruiz, Mario Piattini (ESFINGE) Abel.
Diagrama de Clases ACI 570.
CICLO DE VIDA Y NORMAALIZACION DE UN SISTEMA DE BASE DE DATOS
Importancia en la efectividad del:
Introducción a UML DIAGRAMA DE CLASES Departamento de Informática
Facultad de Ingeniería
DEFINICIÓN DE OBJETO Un objeto es aquello que puede ser observado, estudiado y aprendido CARACTERÍSTICAS nos permiten conocerlos mediante la observación,
TEMA 9: DIAGRAMA DE CLASE EN UML
Métrica v2.1 Técnicas: Modelado de datos (Parte 1)
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) TRADUCTORES Y ANALIZADOR LEXICOGRÁFICO.
Un conjunto de perfiles UML para el modelado conceptual de minería de datos sobre almacenes de datos Tesis Doctoral José Jacobo Zubcoff Vallejo 26 de Junio.
I NGENIERÍA DE S OFTWARE L ABORATORIO VI Diseño - Diagrama de clases Eduardo Saavedra A. 07/10/2009.
Clasificación de Diagramas
Ingeniería de Requisitos
Jairo Pinto Ing. sistemas
Integrantes: Dennys Quintero José Ortega Simón Fagundez Caracas 09 de Febrero de 2015.
Diagrama de Transición de Estado
Conceptos. -Programación orientada a eventos. -Instancias de clase. -Atributo de los objetos. -Método main, get y set. -Ejemplo de la declaración de.
Diagrama de Clases Uno de los mas importantes entre los diagramas UML
Técnica: es un procedimiento o conjunto de procedimientos, (reglas normas o protocolos), que tienen como objetivo obtener un resultado determinado, ya.
Un conjunto de perfiles UML para el modelado conceptual de minería de datos sobre almacenes de datos Tesis Doctoral José Jacobo Zubcoff Vallejo 26 de Junio.
Acceso a Datos Erick López Ovando Licenciado en Informática.
Programación Orientada a Objetos: CLASES Y OBJETOS
La Programación Orientado a Objetos
Diagrama de Clases.
PRESENTACION DE INGENIERIA ORIENTADA A OBJETOS
Fundamentos de Ingeniería de Software
Arquitectura de software dirigida por modelos (Model-Driven Architecture) Liliana Favre UNCPBA2006.
Modelado UML Diagrama de Clases
Entregables del Proyecto
Programación I Clases. Paradigma POO La programación Orientada a objetos (POO) es una forma programar, más cercana a como expresaríamos las cosas en la.
Estructura de Datos Departamento de Programación Universidad Metropolitana Contenido: UML. Envío de mensajes. Relaciones. Asociación. Agregación o composición.
Transcripción de la presentación:

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

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.

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.

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

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

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

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

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

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

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

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

Gramáticas de Grafos

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

Metamodelo de Análisis Basado en el marco conceptual

Metamodelo análisis (ejemplo)

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

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; }

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

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

R3. Creación de la estructura de clases base

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

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

Implementación de la Gramática Utilizando la herramienta Atom3 (http://atom3.cs.mcgill.ca/) 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

Implementación de la Gramática

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

Gracias Thank you for your attention.