En los últimos años ha tomado relevancia la necesidad de mejorar el proceso de desarrollo de software. Surgieron paradigmas como MDE (por sus siglas en inglés, Model Driven Engineering) [2], que promueven el uso eficiente de modelos en el desarrollo de software. Evidentemente el modelo se vuelve el foco de atención. Un modelo puede representarse y especificarse a través de una notación visual (a través de símbolos o graficas) o por medio de textos o escritos. Si se reduce la complejidad del modelo, delimitándolo a un ámbito particular, se puede representar utilizando la metodología DSM (Domain-Specific Modeling por sus siglas en inglés), para modelado específico de dominio. Y se puede utilizar para su representación el Lenguaje Específico de Dominio, por sus siglas en ingles DSL (Domain Specific Language). El modelado específico incluye la generación automática de código y la creación de código ejecutable desde los modelos. Recurriendo a estas herramientas, las aplicaciones finales de usuario se pueden generar a partir de especificaciones de alto nivel, los modelos.
DSM se diferencia de tentativas anteriores para la generación del código, al reducirse la complejidad y trabajar sobre un dominio.