Un lenguaje de transformación de modelos en la ingeniería de sistemas y software es un lenguaje diseñado específicamente para la transformación de modelos .
Descripción general
La noción de transformación de modelos es fundamental para el desarrollo impulsado por modelos . Una transformación de modelo, que es esencialmente un programa que opera sobre modelos, se puede escribir en un lenguaje de programación de propósito general, como Java . Sin embargo, los lenguajes de transformación de modelos de propósito especial pueden ofrecer ventajas, como la sintaxis que facilita la referencia a los elementos del modelo. Para escribir transformaciones de modelos bidireccionales, que mantienen la coherencia entre dos o más modelos, un lenguaje de transformación de modelos bidireccionales especializado es particularmente importante, ya que puede ayudar a evitar la duplicación que resultaría de escribir cada dirección de la transformación por separado.
Actualmente, la mayoría de los lenguajes de transformación de modelos se están desarrollando en el ámbito académico. El OMG ha estandarizado una familia de lenguajes de transformación de modelos llamada QVT , pero el campo aún es inmaduro. [1]
Idiomas de transformación disponibles
- ATL : un lenguaje de transformación desarrollado por INRIA
- Beanbag (ver [1] ): un lenguaje basado en operaciones para establecer coherencia sobre los datos de forma incremental
- GReAT : un lenguaje de transformación disponible en el GME
- Familia Epsilon (ver [2] ): una plataforma de gestión de modelos que proporciona lenguajes de transformación para transformaciones de modelo a modelo, modelo a texto, actualización en el lugar, migración y fusión de modelos.
- F-Alloy [3] : un DSL que reutiliza parte de la sintaxis de Alloy y permite la especificación concisa de transformaciones de modelos computables de manera eficiente.
- Henshin (ver [4] ): un lenguaje de transformación de modelos para EMF , basado en conceptos de transformación de gráficos , que proporciona capacidades de exploración espacial de estados.
- JTL : un lenguaje de transformación de modelo bidireccional diseñado específicamente para soportar transformaciones no biyectivas y propagación de cambios (ver [5] ).
- Kermeta : un lenguaje de programación y modelado de propósito general, también capaz de realizar transformaciones
- Familia Lx (ver [6] ): un conjunto de lenguajes de transformación de bajo nivel
- M2M es la implementación de Eclipse del estándar OMG QVT
- Mia-TL: un lenguaje de transformación desarrollado por Mia-Software
- Modelo MOF a lenguaje de transformación de texto : OMG ha definido un estándar para expresar transformaciones M2T
- MOLA (ver [7] ): un lenguaje gráfico de transformación de alto nivel integrado en Lx.
- MT: un lenguaje de transformación desarrollado en King's College, Londres (Reino Unido) (basado en Converge PL )
- QVT : el OMG ha definido un estándar para expresar transformaciones M2M, llamado MOF / QVT o en abreviatura QVT.
- SiTra [8] : un enfoque de transformación pragmático basado en el uso de un lenguaje de programación estándar, por ejemplo, Java, C #
- Stratego / XT : un lenguaje de transformación basado en la reescritura con estrategias programables
- Tefkat : un lenguaje de transformación y un motor de transformación de modelos
- Tom : un lenguaje basado en la reescritura del cálculo, con coincidencia de patrones y estrategias.
- UML-RSDS [9] : una transformación de modelo y un enfoque MDD utilizando UML y OCL
- VIATRA : un marco para el entorno de verificación y validación basado en la transformación
Ver también
Referencias
- ^ Francia, Robert; Rumpe, Bernhard (2007). Desarrollo basado en modelos de software complejo: una hoja de ruta de investigación . Futuro de la Ingeniería de Software (FOSE '07). arXiv : 1409,6620 . doi : 10.1109 / FOSE.2007.14 .
Otras lecturas
- The MDA Journal: Arquitectura basada en modelos directamente de los maestros
- Arquitectura basada en modelos: aplicación de MDA a la informática empresarial , David S. Frankel , John Wiley & Sons, ISBN 0-471-31920-1
- Guía OMG MDA Guía MDA Versión 1.0.1
- Arquitectura basada en modelos : visión, estándares y tecnologías emergentes en omg.org
- Introducción a la arquitectura basada en modelos en ibm.com
- De la composición de objetos a la transformación de modelos con el MDA en omg.org
- Mens, T y Van Gorp, P: A Taxonomy of Model Transformation , Electronic Notes in Theoretical Computer Science, Volumen 152, 27 de marzo de 2006, páginas 125-142
- Czarnecki, K y Helsen, S: Clasificación de enfoques de transformación de modelos. En: Actas del taller OOPSLA'03 sobre técnicas generativas en el contexto de la arquitectura basada en modelos, Anaheim, California, EE. UU. Publicado en la web.
- Gronmo, R y Oldevik, J: Un estudio empírico de la herramienta de transformación del modelo UML (UMT). [10]