Model Driven Architecture

(Traducción y resumen libre del artículo "Model Driven Architecture: A Technical Perspective")
Introducción


MDA es un conjunto de estándares de la OMG que pretende extender UML.

MDA se utiliza para la reducción de costes y la mejora de tiempos para iniciativas tales como:
  • Modelado formal de arquitecturas y procesos de negocios

  • Diseño de SOAs

  • Desarrollo de nuevas aplicaciones

  • Integración y modernización de sistemas propietarios

  • Cumplimiento de CMMI, Six-Sigma, y otros procesos de calidad

La pregunta que MDA pretende responder es cómo pueden asegurarse las empresas de que sus sistemas críticos se basan en estándares acoplables a nuevo HW y SW.

OMG MDA separa la lógica de especificación de características concretas del middleware que lo implemente (p.e. CORBA, J2EE, .NET, ...). Para ello, MDA define una arquitectura de modelos que sirven de guía para la creación de especificaciones. Esto permite desarrollar rápidamente nuevas especificaciones de interoperabilidad.

Tecnologías Utilizadas

MDA ofrece un enfoque abierto y neutral en cuanto a la interoperabilidad, basándose en estándares de modelado de la OMG: Unified Modeling Language (UML); Meta-Object Facility (MOF); Common Warehouse Meta-model (CWM). A partir de estos estándares, MDA permite la creación de Modelos de Dominio estandarizados para industrias verticales específicas.

Descripción

En qué consiste una especificación MDA:
  1. Un modelo base final, independiente de plataforma,
  2. uno o más modelos para plataformas específicas (PSM, Platform-Specific Models)
  3. conjuntos de definiciones de interfaces, cada una de las cuáles describe cómo el modelo base se implementa en una plataforma middleware concreta.
Por otra parte, una APLICACIÓN MDA completa consiste en:
  1. un PIM definitivo,
  2. uno o más PSMs
  3. implementaciones completas, una en cada plataforma que el desarrollador genere

UML y MOF en MDA

MetaObject Facility (MOF) es el estándar base que se requiere formalmente para que una herramienta se pueda considerar "MDA Compliant", y se utiliza para modelar los lenguajes. MOF es lo que permite que los modelos estructural y de comportamiento de UML, y los modelos de datos CWM se transmitan a través de XMI, se almacenen en repositorios que cumplan MOF, y se transformen y manipulen en herramientas que cumplan MOF y generadores de código.

Servicios en un entorno MDA

Los OMG CORBAServices se han renombrado como Pervasive Services en MDA. El nombre implica que una única implementación de un servicio puede dar servicio a toda aplicación que lo requiera debido a que existirán "bridges" entre las diferentes plataformas. En la actualidad existen cuatro servicios:
  • Directory Services
  • Transaction Services
  • Security Services
  • Distributed Event y Notification Services
Algunos conceptos
  • Modelo: un modelo es una representación de una parte de la función, estructura y/o comportamiento de un sistema
  • Refinamiento
  • Abstracción
  • Viewpoints
  • Zooming in/zooming out
PIMs con UML
  1. UML se define mediante conceptos de modelado UML que mejoran la potencia de MDA (está pensado para ello).
  2. Los modelos UML se pueden expresar tanto textual como gráficamente.
  3. Los modelos UML son semanticamente ricos (más que otros lenguajes declarativos):
  • Restrictiones sobre invariantes estáticas
  • Pre y post-condiciones en la especificación de operaciones
  • Se puede definir si un parámetro univaluado puede ser null o no
  • Si una operación tiene efectos colaterales
  • Si los subtipos de un supertipo son tipos disjuntos o forman una partición
  • Patrones de especificaciones, diseños y refinamientos

XMI

XMI es un mecanismo de intercambio entre herramientas, repositorios y middleware. XMI puede producir DTDs XML de modelos UML y MOF, de manera que provee un mecanismo de serialización XML (UML XMI DTD, CWM XMI DTD, IDL DTD, Java DTD).

MOF

MOF permite que MDA define modelos y construcciones de intermcabio. De esta manera, UML o CWN se define en sus términos. MOF es la base del intercambio modelo/metadatos y la interoperabilidad.


Siguiente parada, por tanto: MOF!!!

Comments

Popular Posts