Arquitectura de software dirigida por modelos ModelDriven Architecture

  • Slides: 16
Download presentation
Arquitectura de software dirigida por modelos (Model-Driven Architecture) Liliana Favre UNCPBA 2006

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

HERRAMIENTAS CASE-UML Rational Rose, Argo/UML, Together, UModel, Magic. Draw, Meta. Edit+, Poseidon CASE-Tiempo Real

HERRAMIENTAS CASE-UML Rational Rose, Argo/UML, Together, UModel, Magic. Draw, Meta. Edit+, Poseidon CASE-Tiempo Real Rapsody, Rational Rose Real Time, Rapid. RMA CASE-MDA Optimal. J, Andro. MDA, Ameos, Together Architect, Codagen, Arc. Styler, MDE Studio, Objecteering

Herramientas CASE-MDA Unas 120 herramientas CASE se basan en UML y sólo un 10%

Herramientas CASE-MDA Unas 120 herramientas CASE se basan en UML y sólo un 10% soporta parcialmente MDA. Limitaciones en procesos de: n ingeniería directa (forward engineering) n ingeniería reversa (reverse engineering) n transformaciones (refinamientos, refactoring) n análisis de consistencia n No proveen asistencia en reenginería de sistemas legacy

MDA y Reingeniería

MDA y Reingeniería

Herramientas CASE y tecnologías MDA Tecnologías MDA n UML (Unified Modeling Language) n UML

Herramientas CASE y tecnologías MDA Tecnologías MDA n UML (Unified Modeling Language) n UML Profiles n MOF (Meta Object Facility) n XMI ( XML Metadata Interchange) n CWM (Common Warehouse Model)

Herramientas CASE y tecnologías MDA XMI Es un estándar de OMG para intercambio de

Herramientas CASE y tecnologías MDA XMI Es un estándar de OMG para intercambio de modelos UML. Es usado para mapear MOF a XML (e. Xtensible Markup Language). Especifica cómo los modelos MOF pueden ser representados en la forma de XML tags; los metamodelos MOF se traducen a XML Document Type Definition (DTD) y los modelos se traducen a XML documentos que se corresponden con los DTDs. Este XML basado en XMI permite el intercambio entre varias herramientas y repositorios: UML, software(Java, C#) tecnologías de components (EJB, IDL) y bases de datos.

Herramientas CASE y tecnologías MDA CWM Define un formato común de intercambio para metadatos

Herramientas CASE y tecnologías MDA CWM Define un formato común de intercambio para metadatos en data warehouse. Provee un lenguaje común y definiciones de metamodelos para datos en datawarehouse. El metamodelo tiene mucho en común con el metamodelo UML y agrega metaclases, por ejemplo, para modelar bases de datos relacionales. En el contexto de MDA, la especificación CWM es útil para la integración legacy.

CASE basadas en MDA Optimal. J (Compuware) es una herramienta que soporta MDD a

CASE basadas en MDA Optimal. J (Compuware) es una herramienta que soporta MDD a nivel de PIM para dos plataformas J 2 EE y. NET. Modelos n n n Modelo de dominio n Modelo de clases n Modelo de servicio Modelo de la aplicación n Modelo de presentación n Modelo de negocio n DBMS Modelo de código

CASE basadas en MDA Optimal. J Transformaciones Basadas en TPL ( Template Pattern Language)

CASE basadas en MDA Optimal. J Transformaciones Basadas en TPL ( Template Pattern Language) Patrones de tecnología n Transformación de modelos de dominio a modelos de aplicación Patrones de implementación n Transformación de modelo de aplicación a código

CASE basadas en MDA Optimal. J Proceso de desarrollo n Generación automática a partir

CASE basadas en MDA Optimal. J Proceso de desarrollo n Generación automática a partir del PIM de los modelos PSM de la capa de presentación (web), capa de negocio (EJB) y bases de datos n Distinción entre bloques libres y protegidos en el código para impedir la modificación del código generado. n La interfaz web generada proporciona una navegación por defecto para cada objeto de negocio.

CASE basadas en MDA Arc. Styler( Interactive Objects) soporta UML 1. 4, OCL y

CASE basadas en MDA Arc. Styler( Interactive Objects) soporta UML 1. 4, OCL y diseño centrado en modelos. Modelos Un PIM es representado en términos de modelos de clase. No distingue entre PIM y PSM. El modelo de código es representado como un subsistema donde diferentes paquetes de código son representados como componentes.

CASE basadas en MDA Arc. Styler Transformaciones Es un sistema basado en uso de

CASE basadas en MDA Arc. Styler Transformaciones Es un sistema basado en uso de cartuchos (cartridges) para descripción de transformaciones que permite generar aplicaciones de n capas codificadas en java/J 2 EE y C#/. NET a partir de diagramas UML y la especificación de los procesos de negocio

CASE basadas en MDA Arc. Styler Transformaciones Integra herramientas de modelado (UML) y desarrollo

CASE basadas en MDA Arc. Styler Transformaciones Integra herramientas de modelado (UML) y desarrollo (ingeniería directa, inversa, construcción y despliegue de modelos basados en MOF) con la arquitectura CARAT que permite la creación, edición y mantenimiento de cartuchos MDA que definen transformaciones

CASE basadas en MDA Arc. Styler Transformaciones Arquitectura CARAT Un cartucho contiene un conjunto

CASE basadas en MDA Arc. Styler Transformaciones Arquitectura CARAT Un cartucho contiene un conjunto de reglas de transformación. Existen numerosos cartuchos para numerosas plataformas. J 2 EE, . NET, web, . . Utilizan Profiles UML para incluir en los modelos aspectos específicos de una plataforma. Una propiedad es la herencia que permite definir un cartucho a partir de otro existente.

CASE basadas en UML/MDA Limitaciones En general, representan extensiones de CASE UML, muchas están

CASE basadas en UML/MDA Limitaciones En general, representan extensiones de CASE UML, muchas están basadas en UML 1. X que no están alineadas on MOF. n Limitada o inexistente integración de niveles de CIM y PIM. n Los procesos de ingeniería directa( forward engineering) no integran especificaciones OCL. Generan esqueletos de código. n Escaso o nulo soporte para la validación de modelos y transformaciones. n

CASE basadas en UML/MDA Limitaciones No existen rigorosos fundamentos para definir transformaciones entre modelos.

CASE basadas en UML/MDA Limitaciones No existen rigorosos fundamentos para definir transformaciones entre modelos. n Escasa trazabilidad n Escaso soporte de ingeniería inversa y en general de round-trip ingeniería. n Soporte nulo para la reingeniería de sistemas legacy. n No integran técnicas de refactoring en distintos niveles. n