Arquitectura de software dirigida por modelos (Model-Driven Architecture) - PowerPoint PPT Presentation

1 / 33
About This Presentation
Title:

Arquitectura de software dirigida por modelos (Model-Driven Architecture)

Description:

Title: Arquitectura de software dirigida por modelos Author: Usuario Last modified by: Usuario Created Date: 9/6/2006 12:58:55 PM Document presentation format – PowerPoint PPT presentation

Number of Views:43
Avg rating:3.0/5.0
Slides: 34
Provided by: Usua1584
Category:

less

Transcript and Presenter's Notes

Title: Arquitectura de software dirigida por modelos (Model-Driven Architecture)


1
Arquitectura de software dirigida por
modelos(Model-Driven Architecture)
  • Liliana Favre
  • UNCPBA
  • 2006

2
  • Consideraciones para el desarrollo de
  • herramientas CASE basadas en UML/MDA

3
  • Sintaxis de los lenguajes visuales

4
Definición de la sintaxis de los lenguajes
visuales
  • Metamodelos
  • Surgieron para definir la sintaxis de lenguajes
    visuales
  • basados en diagramas de entidad-relación. UML es
    el
  • referente de este estilo de definición
    sintáctica, que
  • usa una técnica de metamodelado con 4 niveles de
  • metamodelos.
  • Gramáticas de grafos
  • Interpretan modelos gráficos como grafos y usan
    reglas de
  • transformación para expresar las reglas para
    construir
  • diagramas correctos. Sólo una clase restringida
    de grafos
  • puede ser descrita por gramáticas de grafos 1.
  • 1 Marriot, K., Meryer, B. Visual Language
    Theory, Springer, 1998.

5
Definición de la sintaxis de los lenguajes
visuales
  • Grafos abstractos
  • Transforma diagramas concretos en un lenguaje de
  • modelamiento en un grafo abstracto que preserva
    la
  • topología. Este grafo es interpretado como un
    metamodelo
  • del lenguaje. Debe complementarse con
    especificaciones en un
  • lenguaje de constraints basado en lógica 2.
  • 2 Ebert, J., Suttenbach, R. An OMT Metamodel,
    Technical report 13, University of Koblenz, 1997.
  • EBNF
  • Una integración de Gramáticas de cadenas para
    lenguajes
  • libres del contexto y gramáticas de atributos
    para sensibles al
  • contexto y reglas operacionales para expresar
    constraints de
  • la sintaxis dinámica 3
  • 3 Xia, Y. Glinz, M. Rigorous EBNF-based
    Definition for a Graphic Modeling Language, IEEE,
    2003

6
  • Relación entre gramáticas libres del contexto y
  • metamodelos MOF

7
  • Las gráficas y ejemplos de esta sección fueron
  • extraídos de
  • Alanen, M., Porres, I. A Relation between
  • Context-Free grammars and meta Object
  • facility Metamodels.
  • Turku Centre for Computer Science
  • TUCS Technical Report 606, 2003
  • www.tucs.fi/research/publications/search/..

8
BNF (Backus Naur Form) y MOF (Meta Object
Facility)
  • Metamodelos Lenguaje de modelos
  • Gramáticas Lenguaje de programas
  • Transformación de una gramática en un
  • metamodelo
  • G MM
  • Transformación de un texto (código) en un
  • modelo
  • T M
  • Son reversibles G MM T M

9
BNF y MOF
  • Se han desarrollado tecnologías para derivar
  • metamodelos de varias fuentes
  • BNF
  • UML
  • ERD
  • Por ejemplo MDWorkbench es un IDE basado
  • en Eclipse para generación de código y
  • transformaciones de modelos para implementa
  • estrategias MDA/MDE.

10
BNF y MOF
  • QVT (Query, View, Transformation) Metamodel
  • Transformaciones
  • Relaciones
  • Especificación de transformaciones, no
    ejecutables multidireccionales
  • Mappings
  • Implementación de transformaciones,
    potencialmente unidireccionales

11
BNF y MOF
12
BNF y MOF
  • G MM
  • Relación a nivel de metamodelos que puede
  • implementarse mediante los mappings G MM
  • G MM

13
BNF y MOF
  • G MM
  • Cada gramática válida puede ser mapeada a un
  • metamodelo válido.
  • Cada metamodelo válido puede ser mapeado a
  • una gramática válida
  • La relación es reversible
  • Los modelos válidos deberían producir árboles de
    sintaxis válidos y viceversa.
  • Toda la información debe estar contenida en la
    gramática o el metamodelo

14
Algoritmo para transfomar una EBNF en un
metamodelo MOF
15
Algoritmo para transformar una EBNF en un
metamodelo MOF
16
Algoritmo para transformar un metamodelo a una BNF
17
Algoritmo para transformar un metamodelo a una BNF
18
Ejemplo desde una gramática JAVA simplificada a
MOF
19
Metamodelo JAVA generado desdeBNF simplificada
20
Algoritmos para transformaciones entre BNF y MOF
  • Estos algoritmos no mapean cualquier gramática
  • arbitraria en un metamodelo arbitrario. Por
  • ejemplo, no pueden ser usadas para mapear la
  • gramática de JAVA en un metamodelo UML.
  • Esto debería resolverse en dos etapas, primero
  • mapear JAVA a un metamodelo JAVA y luego,
  • de éste a un metamodelo MOF usando
  • transformaciones modelo a modelo. El mismo
  • razonamiento se aplica en la dirección inversa.

21
Algoritmos para transformaciones entre BNF y MOF
  • Las transformaciones son específicas para cada
  • par de lenguaje de programación y de
  • modelamiento.
  • Es posible definir un mapping de un metamodelo
  • MOF a otro usando transformaciones de
  • modelos.

22
Relaciones a nivel de modelos
  • Esta relación define mappings desde un árbol de
  • sintaxis BNF ( es decir un programa) y un
  • modelo, y desde un modelo a un árbol de
  • sintaxis.
  • El mapping de un árbol de sintaxis a un modelo
  • es una instanciación de elementos del
  • metamodelo de acuerdo al mapping definido
  • entre EBNF y el metamodelo.

23
  • Reingeniería basada en MDA

24
Arquitectura de una heramienta de ingeniería
inversa
  • Tonella, P. Potrich, A. Reverse Engineering of
  • Object-Oriented Code, Springer, 2005

25
Reingeniería de sistemas legacy
  • En 1 se describe un estudio de factibilidad en
    la
  • reingeniería de sistemas legacy de una compañía
  • aseguradora.
  • Los pasos del proceso propuesto son
  • Parsing del código del sistema legacy de acuerdo
    a la gramática.
  • Mapping de los árboles de sintaxis abstracta
    obtenidos en el paso previo a un modelo de
    gramática que está definida en MOF.
  • 1Reus, T., Geers, H. van Deursen, A. Harvesting
  • Software System for MDA-based Reengineering.
  • Lecture Notes in Computer Science 4066, Springer,
    2006.

26
Reingeniería de sistemas legacy
  • Convertir la gramática de 2) en un metamodelo
    genérico que permita expresar información del
    software en forma independiente del lenguaje.
  • Mapping de los modelos que son instancias del
    metamodelo genérico, usando transformaciones
    modelo a modelo a modelos UML que pueden ser
    usados para generar código o como
    documentación.

27
Reingeniería de sistemas legacy
28
Transformaciones y metamodelos
Metamodelo PSM
PSM
es-instancia-de
AntiRefinamiento ISM-PSM
Anti Refinamiento ISM-PSM
Metamodelo ISM
ISM
es-instancia-de
29
  • Arquitecture-Driven Modernization
  • ADM

30
ADM
  • La misión de ADM es crear estándares en el
  • marco de OMG y MDA para la modernización
  • de sistemas existentes y consolidar prácticas
    que
  • conduzcan a la realización de proyectos de
  • modernización exitosos.
  • La modernización soporta una serie de
  • iniciativas (escenarios) para incluir mejoras en
  • la calidad de las aplicaciones, conversión código
  • a código, migración a diferentes plataformas,
    migración a SOA, a MDA.

31
ADM
  • Uno de los principales objetivos fue la creación
  • de KDM (Knowledge Discovery Metamodel), un
  • metamodelo que permite interoperabilidad entre
  • diferentes herramientas. Las diferentes
    herramientas
  • deberían intercambiar vistas comunes sobre
  • plataformas y lenguajes con el fin de analizar y
  • estandarizar sistemas existentes.
  • KDM está alineado con MOF 2.0. KDM
  • representa a los principales artefactos del
    software
  • (propios) o aquellos externos con los que
    interactúa

32
ADMTask Force- Roadmap
  • OMG Adopted Specification ptc/06-06-07
  • RFP 1 ADM Knowledge Discovery Meta
  • Model Package
  • Facilitar el intercambio de metadatos de
  • sistemas existentes para varias herramientas
  • de modernización.
  • RFP 2 ADM Abstract Syntax Tree Meta
  • Model (ASTM)
  • Construido sobre KDM para representar
  • software bajo el nivel procedural

33
ADMTask Force- Roadmap
  • RFP 3 ADM Analysis Package
  • Un estándar para facilitar el análisis de
  • metadatos estructurales a fin de derivar
  • metadatos de comportamiento de sistemas.
  • RFP 4 ADM Metrics Package
  • RFP 5 ADM Visualization Package
  • RFP 6 ADM Refactoring Package
  • RFP 7 ADM Target Mapping Transformation
  • Package
Write a Comment
User Comments (0)
About PowerShow.com