160 likes | 614 Views
Arquitectura de software dirigida por modelos (Model-Driven Architecture). Liliana Favre UNCPBA 2006. HERRAMIENTAS CASE . CASE-UML Rational Rose, Argo/UML, Together, UModel, MagicDraw, MetaEdit+, Poseidon CASE-Tiempo Real Rapsody, Rational Rose Real Time, RapidRMA CASE-MDA
E N D
Arquitectura de software dirigida por modelos(Model-Driven Architecture) Liliana Favre UNCPBA 2006
HERRAMIENTAS CASE CASE-UML Rational Rose, Argo/UML, Together, UModel, MagicDraw, MetaEdit+, Poseidon CASE-Tiempo Real Rapsody, Rational Rose Real Time, RapidRMA CASE-MDA OptimalJ, AndroMDA, Ameos, Together Architect, Codagen, ArcStyler, MDE Studio, Objecteering
Herramientas CASE-MDA Unas 120 herramientas CASE se basan en UML y sólo un 10% soporta parcialmente MDA. Limitaciones en procesos de: • ingeniería directa (forward engineering) • ingeniería reversa (reverse engineering) • transformaciones (refinamientos, refactoring) • análisis de consistencia • No proveen asistencia en reenginería de sistemas legacy
Herramientas CASE y tecnologías MDA Tecnologías MDA • UML (Unified Modeling Language) • UML Profiles • MOF (Meta Object Facility) • XMI ( XML Metadata Interchange) • CWM (Common Warehouse Model)
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 (eXtensible Markup Language). Especifica cómo los modelos MOF pueden ser representados en la forma de XML tags; los meta- modelos 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 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 MDAOptimalJ OptimalJ (Compuware) es una herramienta que soporta MDD a nivel de PIM para dos plataformas J2EE y.NET. Modelos • Modelo de dominio • Modelo de clases • Modelo de servicio • Modelo de la aplicación • Modelo de presentación • Modelo de negocio • DBMS • Modelo de código
CASE basadas en MDAOptimalJ Transformaciones Basadas en TPL ( Template Pattern Language) Patrones de tecnología • Transformación de modelos de dominio a modelos de aplicación Patrones de implementación • Transformación de modelo de aplicación a código
CASE basadas en MDAOptimalJ Proceso de desarrollo • 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 • Distinción entre bloques libres y protegidos en el código para impedir la modificación del código generado. • La interfaz web generada proporciona una navegación por defecto para cada objeto de negocio.
CASE basadas en MDAArcStyler ArcStyler( 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 MDAArcStyler 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/J2EE y C#/.NET a partir de diagramas UML y la especificación de los procesos de negocio
CASE basadas en MDAArcStyler 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 MDAArcStyler Transformaciones Arquitectura CARAT Un cartucho contiene un conjunto de reglas de transformación. Existen numerosos cartuchos para numerosas plataformasJ2EE, .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/MDALimitaciones • En general, representan extensiones de CASE UML, muchas están basadas en UML 1.X que no están alineadas on MOF. • Limitada o inexistente integración de niveles de CIM y PIM. • Los procesos de ingeniería directa( forwardengineering) no integran especificaciones OCL. Generan esqueletos de código. • Escaso o nulo soporte para la validación de modelos y transformaciones.
CASE basadas en UML/MDALimitaciones • No existen rigorosos fundamentos para definir transformaciones entre modelos. • Escasa trazabilidad • Escaso soporte de ingeniería inversa y en general de round-trip ingeniería. • Soporte nulo para la reingeniería de sistemas legacy. • No integran técnicas de refactoring en distintos niveles.