Ingeniería basada en modelos


La ingeniería dirigida por modelos ( MDE ) es una metodología de desarrollo de software que se enfoca en crear y explotar modelos de dominio , que son modelos conceptuales de todos los temas relacionados con un problema específico. Por lo tanto, destaca y tiene como objetivo las representaciones abstractas del conocimiento y las actividades que gobiernan un dominio de aplicación particular , en lugar de los conceptos informáticos (es decir, algorítmicos).

El enfoque MDE está destinado a aumentar la productividad al maximizar la compatibilidad entre sistemas (mediante la reutilización de modelos estandarizados), simplificar el proceso de diseño (mediante modelos de patrones de diseño recurrentes en el dominio de la aplicación) y promover la comunicación entre personas y equipos que trabajan en el sistema. (a través de una estandarización de la terminología y las mejores prácticas utilizadas en el dominio de la aplicación).

Un paradigma de modelado para MDE se considera efectivo si sus modelos tienen sentido desde el punto de vista de un usuario que está familiarizado con el dominio y si pueden servir como base para implementar sistemas. Los modelos se desarrollan a través de una amplia comunicación entre los gerentes de producto, diseñadores, desarrolladores y usuarios del dominio de la aplicación. A medida que los modelos se acercan a su finalización, permiten el desarrollo de software y sistemas.

Las primeras herramientas para admitir MDE fueron las herramientas de ingeniería de software asistida por computadora ( CASE ) 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 el campo.

El gobierno de los EE. UU. se involucró en las definiciones de modelado creando las especificaciones IDEF . Con varias variaciones de las definiciones de modelado (ver Booch , Rumbaugh , Jacobson , Gane and Sarson, Harel , Shlaer and Mellor , y otros) finalmente se unieron creando el Lenguaje de modelado unificado (UML). Rosa racional, un producto para la implementación de UML, fue realizado por Rational Corporation (Booch) respondiendo a la automatización que produce 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 basada en modelos (MDA), construyendo una base para este enfoque avanzado centrado en la arquitectura.

Según Douglas C. Schmidt , las tecnologías de ingeniería basadas en 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 eficaz. [2]


Un gráfico que muestra las instancias y los vínculos de representación entre un metamodelo, un modelo y un original