Ingeniería dirigida por modelos
# Ingeniería dirigida por modelos

La Ingeniería dirigida por modelos (IDM) es un paradigma de ingeniería de software, el cual se centra en la creación y explotación de modelos de dominio (es decir, representaciones abstractas de los conocimientos y actividades que rigen un dominio de aplicación particular), más que en conceptos informáticos (o algoritmos).

## Descripción

El enfoque IDM tiene por objeto aumentar la productividad mediante la maximización de la compatibilidad entre los sistemas (a través de la reutilización de modelos estandarizados), simplificando el proceso de diseño (a través de modelos de patrones de diseño que se repiten en el dominio de aplicación), y promoviendo la comunicación entre los individuos 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 aplicación).

Un paradigma de modelado para el IDM se considera eficaz si los modelos tienen sentido desde el punto de vista de un usuario que está familiarizado con el dominio, y si ellos pueden servir como base para la implementación de sistemas. Los modelos son desarrollados a través de una amplia comunicación entre los gerentes de producto, diseñadores, miembros del equipo de desarrollo y usuarios del dominio de la aplicación. Como conclusión, se obtienen modelos, que permiten el desarrollo de software y sistemas.

Algunas de las iniciativas IDM más conocidas son:

* la arquitectura dirigida por modelos (ADM) del Object Management Group (OMG), que es una marca registrada de la OMG.
* el ecosistema de herramientas de modelado y programación Eclipse.

## Historia

Las primeras herramientas para soportar IDM fueron las CASE desarrolladas en los ochenta. Compañías tales 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. Excepto por HTI de AXES Universal Systems Language (USL) y su automatización asociada (001), los CASE tenían el mismo problema que las actuales herramientas ADM/IDM tienen hoy: el modelo se desincroniza de la aplicación.

El gobierno de los EE. UU. se involucró en las definiciones de modelamiento creando las especificaciones IDEF. Con varias variaciones de las definiciones de modelamiento (ver Booch, Rumbaugh, Jacobson, Gane y Sarson, Harel, Shlaer y Mellor, y otros), ellas fueron eventualmente fusionadas, creando el lenguaje unificado de modelado (UML).

Rational Rose, un producto para la implementación UML, fue creado por Rational Corporation (Booch). Esta abstracción promueve modelos más simples con un foco mayor en el dominio del problema. Combinado con semántica ejecutable, esto eleva el nivel total de automatización posible.

El Object Management Group (OMG) ha desarrollado un conjunto de estándares llamados arquitectura dirigida por modelos (ADM), construyendo una base para este avanzado enfoque arquitectural.

