Articulo de referencia

Ingeniería basada en modelos

La ingeniería dirigida por modelos ( MDE, por sus siglas en inglés) es una metodología de desarrollo de software que se centra en la creación y explotación de modelos de dominio...

La ingeniería dirigida por modelos ( MDE, por sus siglas en inglés) es una metodología de desarrollo de software que se centra en la creación y explotación de modelos de dominio , que son modelos conceptuales de todos los temas relacionados con un problema específico. Por lo tanto, destaca y busca representaciones abstractas del conocimiento y las actividades que rigen un dominio de aplicación particular , en lugar de los conceptos computacionales (es decir, algorítmicos ).

MDE es un subcampo de un enfoque de diseño de software conocido como ingeniería de ida y vuelta . El alcance de MDE es mucho más amplio que el de la arquitectura dirigida por modelos . [ 1 ]

Descripción general

El enfoque MDE busca aumentar la productividad maximizando la compatibilidad entre sistemas (mediante la reutilización de modelos estandarizados), simplificando el proceso de diseño (mediante modelos de patrones de diseño recurrentes en el dominio de la aplicación) y promoviendo la comunicación entre individuos y equipos que trabajan en el sistema (mediante la estandarización de la terminología y las mejores prácticas utilizadas en el dominio de la aplicación). Por ejemplo, en el desarrollo dirigido por modelos, los artefactos técnicos como el código fuente, la documentación, las pruebas, etc., se generan algorítmicamente a partir de un modelo de dominio. [ 2 ]

Un paradigma de modelado para MDE se considera eficaz si sus modelos tienen sentido desde la perspectiva de un usuario familiarizado con el dominio y si sirven de base para la implementación de sistemas. Los modelos se desarrollan mediante una comunicación fluida entre gestores de producto, diseñadores, desarrolladores y usuarios del dominio de la aplicación. A medida que los modelos se completan, permiten el desarrollo de software y sistemas.

Algunas de las iniciativas de MDE más conocidas son:

Historia

Un diagrama que muestra las instanciaciones y los vínculos de representación entre un metamodelo, un modelo y un original (en francés).

Las primeras herramientas para dar soporte al MDE fueron las herramientas de ingeniería de software asistida por ordenador ( CASE , por sus siglas en inglés) desarrolladas en la década de 1980. Empresas como Integrated Development Environments (IDE – StP), Higher Order Software (ahora Hamilton Technologies, Inc., HTI), Cadre Technologies, Bachman Information Systems y Logic Works (BP-Win y ER-Win) fueron pioneras en este campo.

El gobierno estadounidense se involucró en la definición de modelos, creando las especificaciones IDEF . Con varias variaciones de las definiciones de modelos (véase Booch , Rumbaugh , Jacobson , Gane y Sarson, Harel , Shlaer y Mellor , entre otros), finalmente se unieron para crear el Lenguaje Unificado de Modelado (UML). Rational Rose , un producto para la implementación de UML, fue desarrollado por Rational Corporation (Booch) en respuesta a la automatización que proporciona mayores niveles de abstracción en el desarrollo de software. Esta abstracción promueve modelos más simples con un mayor enfoque en el espacio del problema. Combinado con la semántica ejecutable, esto eleva el nivel total de automatización posible. El Object Management Group (OMG) ha desarrollado un conjunto de estándares llamado Arquitectura Dirigida por Modelos (MDA), que sienta las bases para este enfoque avanzado centrado en la arquitectura.

El primer artículo de investigación que hace referencia explícita a MDE parece ser [ 4 ] . Estas ideas se originaron a partir del trabajo del grupo "Precise UML" (pUML) de investigadores que incluyen a Robert France , Bernhard Rumpe , Kevin Lano y otros.

Ventajas

Según Douglas C. Schmidt , las tecnologías de ingeniería dirigida por modelos ofrecen un enfoque prometedor para abordar la incapacidad de los lenguajes de tercera generación para aliviar la complejidad de las plataformas y expresar conceptos de dominio de manera efectiva. [ 5 ]

Herramientas

Entre las herramientas de software más destacadas para la ingeniería basada en modelos se incluyen:

Véase también

Referencias

  1. "8 razones por las que los enfoques basados ​​en modelos (fracasarán)" . InfoQ . Consultado el 26 de julio de 2023 .
  2. Flatt, Amelie; Langner, Arne; Leps, Olof (2022). Desarrollo dirigido por modelos de perfiles de aplicaciones Akoma Ntoso: un marco conceptual para la generación basada en modelos de subesquemas XML (1.ª ed.). Heidelberg: Sprinter Nature. ISBN  978-3-031-14131-7.
  3. Object Management Group (24 de mayo de 2006). "Marcas comerciales de OMG" . Consultado el 26 de febrero de 2008 .
  4. Kent, Stuart (2002). «Ingeniería dirigida por modelos» . Métodos formales integrados . Notas de clase en ciencias de la computación. Vol. 2335. pp. 286–298 . doi : 10.1007/3-540-47884-1_16 . ISBN   978-3-540-43703-1.
  5. Schmidt, DC (febrero de 2006). "Ingeniería dirigida por modelos" (PDF) . IEEE Computer . 39 (2). doi : 10.1109/MC.2006.58 . S2CID 10006139. Archivado del original (PDF) el 9 de septiembre de 2006. Consultado el 16 de mayo de 2006 . " Un enfoque prometedor para abordar la complejidad de la plataforma —y la incapacidad de los lenguajes de tercera generación para aliviar esta complejidad y expresar conceptos de dominio de manera efectiva— es desarrollar tecnologías de ingeniería dirigida por modelos (MDE)..."

Lecturas adicionales

  • David S. Frankel , Arquitectura dirigida por modelos: Aplicación de MDA a la informática empresarial , John Wiley & Sons, ISBN 0-471-31920-1
  • Marco Brambilla, Jordi Cabot, Manuel Wimmer, Ingeniería de software basada en modelos en la práctica , prólogo de Richard Soley ( Presidente de OMG ), Morgan & Claypool, EE. UU., 2012, Synthesis Lectures on Software Engineering #1. 182 páginas. ISBN 9781608458820(tapa blanda), ISBN 9781608458837(libro electrónico). https://www.mdse-book.com
  • da Silva, Alberto Rodrigues (2015). "Ingeniería dirigida por modelos: una revisión respaldada por un modelo conceptual unificado" . Computer Languages, Systems & Structures . 43 (43): 139– 155. doi : 10.1016/j.cl.2015.06.001 .
  • Arquitectura basada en modelos: visión, estándares y tecnologías emergentes en omg.org