stringtranslate.com

Arquitectura basada en modelos

La arquitectura basada en modelos ( 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, que se expresan como modelos. La arquitectura basada en modelos es un tipo de ingeniería de dominio y admite la ingeniería basada en modelos de sistemas de software. Fue lanzada por Object Management Group (OMG) en 2001. [1]

Descripción general

La arquitectura basada en modelos (MDA®) "ofrece un enfoque para obtener valor de los modelos y la arquitectura en apoyo del ciclo de vida completo de los sistemas físicos, organizacionales y de TI". Un modelo es una (representación de) una abstracción de un sistema. La MDA® proporciona valor al producir modelos en distintos niveles de abstracción, desde una visión conceptual hasta el más mínimo detalle de implementación. La literatura de OMG habla de tres de estos 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 se pueden utilizar 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 solo tres de los 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, entre ellos el Lenguaje de modelado unificado (UML), la Herramienta de metaobjetos (MOF), el Intercambio de metadatos XML (XMI), la Computación de objetos distribuidos empresariales (EDOC), el 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 Arquitectura basada en modelos no se refiere a la arquitectura del sistema que se modela, sino a la arquitectura de los diversos estándares y formas de modelo que sirven como base tecnológica para MDA. [ cita requerida ]

El perfil UML ejecutable era el que se utilizaba cuando nació MDA. Ahora, OMG está promoviendo fUML en su lugar. (El lenguaje de acción para fUML es ALF).

Marca

Object Management Group posee marcas registradas del término Model Driven Architecture y su acrónimo MDA, así como marcas comerciales para términos como: Model Based Application Development, Model Driven Application Development, Model Based Application Development, Model Based Programming, Model Driven Systems y otros. [3]

Temas de arquitectura basada en modelos

Enfoque MDA

OMG centra la Arquitectura Dirigida por Modelos® en la ingeniería avanzada, es decir, en la producción de código a partir de diagramas de modelado abstractos elaborados por humanos (por ejemplo, diagramas de clases) [ cita requerida ] . El grupo ADTF (Grupo de Trabajo de Análisis y Diseño) de OMG lidera este esfuerzo. Con algo de humor, el grupo eligió ADM (MDA al revés) para nombrar el estudio de la ingeniería inversa. ADM decodifica a Modernización Dirigida por Arquitectura. El objetivo de ADM es producir estándares para la ingeniería inversa basada en modelos de sistemas heredados. [4] El Metamodelo de Descubrimiento de Conocimiento (KDM) es el más avanzado de estos esfuerzos y describe los sistemas de información en términos de varios activos (programas, especificaciones, datos, archivos de prueba, esquemas de bases de datos, etc.).

Como 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, disociarlos permite a los desarrolladores de sistemas elegir entre los mejores y más adecuados en ambos dominios. El diseño aborda los requisitos funcionales ( caso de uso ), mientras que la arquitectura proporciona la infraestructura a través de la cual se realizan los requisitos no funcionales como la escalabilidad, la confiabilidad y el rendimiento. MDA prevé que el modelo independiente de la plataforma (PIM), que representa un diseño conceptual que realiza 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 el concepto de transformación de modelos . OMG ha definido un lenguaje estándar específico para la transformación de modelos denominado 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 son creados manualmente por agentes humanos, mientras que los modelos derivados son creados automáticamente por programas. Por ejemplo, un analista puede crear un modelo UML inicial a partir de su observación de alguna situación empresarial poco definida, mientras que un modelo Java puede derivarse automáticamente de este modelo UML mediante una operación de transformación de modelo .

Una herramienta MDA puede ser una herramienta utilizada para verificar modelos en busca de integridad, inconsistencias o errores y condiciones de advertencia.

Algunas herramientas realizan más de una de las funciones mencionadas anteriormente. Por ejemplo, algunas herramientas de creación también pueden tener capacidades de transformación y prueba. Hay otras herramientas que son únicamente para creación, únicamente para presentación gráfica, únicamente para 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 la Fundación Eclipse (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 cierto, 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 , ya que la primera es mucho más amplia. Esta distinción se puede hacer más general si se distingue entre "herramientas de metamodelo variable" y "herramientas de metamodelo fijo". Una herramienta UML CASE es típicamente una "herramienta de metamodelo fijo", ya que ha sido programada para funcionar únicamente 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.

Generalmente, las herramientas MDA se centran en la especificación de una arquitectura rudimentaria, aunque en algunos casos las herramientas son independientes de la arquitectura (o de la plataforma).

Algunos ejemplos simples de especificaciones de arquitectura incluyen:

Preocupaciones de la MDA

Algunos conceptos clave que sustentan el enfoque MDA (lanzado en 2001) fueron elucidados por primera vez por el método Shlaer-Mellor a fines de la década de 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 ) al adaptar el lenguaje de acción Shlaer-Mellor original (modificado para UML) [ cita requerida ] . Sin embargo, durante este período, el enfoque MDA no ha ganado la aceptación general de la industria; el Grupo Gartner todavía identifica a MDA como una tecnología "en ascenso" en su " Ciclo de Hype " de 2006, [6] y Forrester Research declaró que MDA estaba "DOA" en 2006. [7] Las posibles preocupaciones que se han planteado con el enfoque MDA de OMG incluyen:

Véase 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 OMG MDA rev. 2.0". OMG | Object Management Group . El Object Management Group . Consultado el 4 de septiembre de 2021 .
  3. ^ "Marcas OMG | Grupo de Gestión de Objetos".
  4. ^ Sitio web de adm http://adm.omg.org
  5. ^ Bézivin, J; Gérard, S; Muller, PA; Rioux, L (2003). "Componentes de la MDA: desafíos y oportunidades" (PDF) . En: Metamodelling for MDA. Archivado desde el original (PDF) el 2006-12-06.
  6. ^ "Ciclo de promoción de las tecnologías emergentes, 2006" $495.00
  7. ^ "MDA está muerta, en parte gracias a SOA" Archivado el 13 de octubre de 2007 en 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 lo de..."
  10. ^ "Cómo incorporar MDA a Eclipse mediante 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 Wayback Machine.
  14. ^ "Cómo evitar otro elefante verde"

Lectura adicional

Enlaces externos