stringtranslate.com

Arquitectura basada en modelos

Model Driven Architecture ( MDA ) es un enfoque de diseño de software para el desarrollo de sistemas de software. Proporciona un conjunto de pautas para la estructuración de especificaciones, las cuales se expresan como modelos . La arquitectura basada en modelos es un tipo de ingeniería de dominio y admite la ingeniería de sistemas de software basada en modelos . Fue lanzado por el Object Management Group (OMG) en 2001. [1]

Descripción general

Model Driven Architecture® (MDA®) "proporciona un enfoque para obtener valor de los modelos y la arquitectura en apoyo del ciclo de vida completo de los sistemas físicos, organizativos y de TI". Un modelo es una (representación de) una abstracción de un sistema. MDA® proporciona valor al producir modelos en distintos niveles de abstracción, desde una vista conceptual hasta el detalle de implementación más pequeño. La literatura de OMG habla de tres niveles de abstracción o puntos de vista arquitectónicos: el modelo independiente de la computación (CIM), el modelo independiente de la plataforma (PIM) y el modelo específico de la plataforma (PSM). El CIM describe un sistema conceptualmente, el PIM describe los aspectos computacionales de un sistema sin hacer referencia a las tecnologías que pueden usarse para implementarlo y el PSM proporciona los detalles técnicos necesarios para implementar el sistema. La Guía OMG señala, sin embargo, que estos tres puntos de vista arquitectónicos son útiles, pero son sólo tres de muchos puntos de vista posibles. [2]

La organización OMG proporciona especificaciones en lugar de implementaciones, a menudo como respuestas a Solicitudes de Propuestas (RFP). Las implementaciones provienen de empresas privadas o grupos de código abierto.

Normas relacionadas

El modelo MDA está relacionado con múltiples estándares, incluido el Lenguaje de modelado unificado (UML), Meta-Object Facility (MOF), XML Metadata Interchange (XMI), Enterprise Distributed Object Computing (EDOC), Metamodelo de ingeniería de procesos de software (SPEM). y el metamodelo de almacén común (CWM). Tenga en cuenta que el término "arquitectura" en Model Driven Architecture no se refiere a la arquitectura del sistema que se está modelando, sino a la arquitectura de los diversos estándares y formas de modelo que sirven como base tecnológica para MDA. [ cita necesaria ]

UML ejecutable fue el perfil UML utilizado cuando nació MDA. Ahora, OMG está promoviendo fUML . (El lenguaje de acción para fUML es ALF).

Marca comercial

The Object Management Group posee marcas comerciales registradas para el término Model Driven Architecture y su acrónimo MDA, así como marcas comerciales para términos tales como: Desarrollo de aplicaciones basado en modelos, Desarrollo de aplicaciones basado en modelos, Desarrollo de aplicaciones basado en modelos, Programación basada en modelos, Sistemas impulsados ​​por modelos, y otros. [3]

Temas de arquitectura basada en modelos

Enfoque MDA

OMG enfoca Model Driven Architecture® en ingeniería avanzada, es decir, producir código a partir de diagramas de modelado abstractos elaborados por humanos (por ejemplo, diagramas de clases) [ cita necesaria ] . El grupo ADTF (Grupo de Trabajo de Análisis y Diseño) de OMG lidera este esfuerzo. Con cierto humor, el grupo eligió ADM (MDA al revés) para nombrar el estudio de la ingeniería inversa. ADM decodifica a la modernización impulsada por la arquitectura. El objetivo de ADM es producir estándares para la ingeniería inversa basada en modelos de sistemas heredados. [4] Knowledge Discovery Metamodel (KDM) es el más avanzado de estos esfuerzos y describe sistemas de información en términos de diversos activos (programas, especificaciones, datos, archivos de prueba, esquemas de bases de datos, etc.).

Dado que los conceptos y tecnologías utilizados para realizar diseños y los conceptos y tecnologías utilizados para realizar arquitecturas han cambiado a su propio ritmo, desacoplarlos permite a los desarrolladores de sistemas elegir lo mejor y más adecuado en ambos dominios. El diseño aborda los requisitos funcionales ( casos de uso ), mientras que la arquitectura proporciona la infraestructura a través de la cual se realizan los requisitos no funcionales como escalabilidad, confiabilidad y rendimiento. MDA prevé que el modelo independiente de plataforma (PIM), que representa un diseño conceptual que cumple con los requisitos funcionales, sobrevivirá a los cambios en las tecnologías de realización y las arquitecturas de software .

De particular importancia para la arquitectura basada en modelos es la noción de transformación del modelo . OMG ha definido un lenguaje estándar específico para la transformación de modelos llamado QVT .

herramientas MDA

La organización OMG proporciona especificaciones aproximadas en lugar de implementaciones, a menudo como respuestas a Solicitudes de Propuestas (RFP). La OMG documenta el proceso general en un documento llamado Guía MDA.

Básicamente, una herramienta MDA es una herramienta utilizada para desarrollar, interpretar, comparar, alinear, medir, verificar, transformar, etc. modelos o metamodelos. [5] En la siguiente sección, "modelo" se interpreta como cualquier tipo de modelo (por ejemplo, un modelo UML) o metamodelo (por ejemplo, el metamodelo CWM). En cualquier enfoque MDA tenemos esencialmente dos tipos de modelos: los modelos iniciales los crean manualmente agentes humanos, mientras que los modelos derivados los crean automáticamente los programas. Por ejemplo, un analista puede crear un modelo inicial UML a partir de su observación de alguna situación empresarial vaga, mientras que un modelo Java puede derivarse automáticamente de este modelo UML mediante una operación de transformación del modelo .

Una herramienta MDA puede ser una herramienta utilizada para verificar que los modelos estén completos, inconsistentes o condiciones de error y advertencia.

Algunas herramientas realizan más de una de las funciones enumeradas anteriormente. Por ejemplo, algunas herramientas de creación también pueden tener capacidades de transformación y prueba. Hay otras herramientas que son únicamente de creación, únicamente de presentación gráfica, únicamente de transformación, etc.

Las implementaciones de las especificaciones OMG provienen de empresas privadas o grupos de código abierto . Una fuente importante de implementaciones para las especificaciones OMG es Eclipse Foundation (EF). Muchas implementaciones de los estándares de modelado OMG se pueden encontrar en Eclipse Modeling Framework (EMF) o Graphical Modeling Framework (GMF), la fundación Eclipse también está desarrollando otras herramientas de varios perfiles como GMT. El cumplimiento de Eclipse con las especificaciones OMG a menudo no es estricto. Esto es válido, por ejemplo, para el estándar EMOF de OMG, al que EMF se aproxima con su implementación Ecore. Se pueden encontrar más ejemplos en el proyecto M2M que implementa el estándar QVT o en el proyecto M2T que implementa el estándar MOF2Text.

Hay que tener cuidado de no confundir la Lista de herramientas MDA y la Lista de herramientas UML , siendo la primera mucho más amplia. Esta distinción puede hacerse más general distinguiendo "herramientas de metamodelo variables" y "herramientas de metamodelo fijas". Una herramienta UML CASE suele ser una 'herramienta de metamodelo fijo' ya que ha sido programada para funcionar sólo con una versión determinada del metamodelo UML (por ejemplo, UML 2.1). Por el contrario, otras herramientas tienen capacidades genéricas internas que les permiten adaptarse a metamodelos arbitrarios o a un tipo particular de metamodelos.

Por lo general, las herramientas MDA se centran en especificaciones de arquitectura rudimentarias, aunque en algunos casos las herramientas son independientes de la arquitectura (o independientes de la plataforma).

Ejemplos simples de especificaciones de arquitectura incluyen:

Preocupaciones de la MDA

Algunos conceptos clave que sustentan el enfoque MDA (lanzado en 2001) fueron aclarados por primera vez mediante el método Shlaer-Mellor a finales de los años 1980. De hecho, algunos proveedores han superado un estándar técnico clave ausente del enfoque MDA (el de una sintaxis de lenguaje de acción para UML ejecutable ) adaptando el lenguaje de acción Shlaer-Mellor original (modificado para UML) [ cita necesaria ] . Sin embargo, durante este período el enfoque MDA no ha logrado la aceptación generalizada de la industria; Gartner Group todavía identifica a MDA como una tecnología "en aumento" en su " Hype Cycle " de 2006, [6] y Forrester Research declaró que MDA es "DOA" en 2006. [7] Posibles preocupaciones que se han planteado con la El enfoque de OMG MDA incluye:

Ver también

Referencias

  1. ^ "OMG busca una nueva dirección estratégica para aprovechar el éxito de esfuerzos anteriores" Archivado el 24 de septiembre de 2006 en Wayback Machine.
  2. ^ "Guía Dios mío MDA rev. 2.0". Dios mío | Grupo de administración de objetos . El grupo de gestión de objetos . Consultado el 4 de septiembre de 2021 .
  3. ^ "Marcas comerciales OMG | Grupo de gestión de objetos".
  4. ^ sitio web de administración http://adm.omg.org
  5. ^ Bézivin, J; Gerard, S; Müller, Pensilvania; Rioux, L (2003). "Componentes de la MDA: Desafíos y Oportunidades" (PDF) . En: Metamodelado para MDA. Archivado desde el original (PDF) el 6 de diciembre de 2006.
  6. ^ "Ciclo de exageración de las tecnologías emergentes, 2006" $ 495,00
  7. ^ "MDA es DOA, en parte gracias a SOA" Archivado el 13 de octubre de 2007 en la Wayback Machine.
  8. ^ "UML - ¿Lenguaje de modelado unificado o universal? UML2, OCL, MOF, EDOC - El emperador tiene demasiada ropa"
  9. ^ "MDA: Buena idea. Lástima que..."
  10. ^ "Llevar MDA a Eclipse, utilizando un enfoque pragmático"
  11. ^ "Una respuesta a Forrester"
  12. ^ "¿Estás listo para la MDA?"
  13. ^ "El ascenso y la caída de CORBA" Archivado el 2 de diciembre de 2008 en la Wayback Machine.
  14. ^ "Evitar otro elefante verde"

Otras lecturas

enlaces externos