Lenguaje de transformación ATLAS - ATLAS Transformation Language

Lenguaje de transformación ATLAS
Desarrollador (es) OBEO, comunidad de software libre INRIA
Lanzamiento estable
4.3.0 / 22 de febrero de 2021 ; Hace 2 meses  ( 02/22/2021 )
Sistema operativo Multiplataforma
Licencia Licencia pública de Eclipse
Sitio web www .eclipse .org / atl
Contexto operativo ATL

ATL ( ATLAS Transformation Language ) es un lenguaje de transformación de modelos y un juego de herramientas desarrollado y mantenido por OBEO y AtlanMod. Fue iniciado por el equipo de AtlanMod (anteriormente llamado ATLAS Group). En el campo de la ingeniería dirigida por modelos (MDE), ATL proporciona formas de producir un conjunto de modelos de destino a partir de un conjunto de modelos de origen.

Lanzado bajo los términos de la Licencia Pública Eclipse , ATL es un componente M2M (Eclipse) , dentro del Proyecto de Modelado Eclipse (EMP).

Descripción general

ATL es un lenguaje de transformación de modelos (MTL) desarrollado por OBEO e INRIA para responder a la solicitud de propuesta de QVT . QVT es un estándar de Object Management Group para realizar transformaciones de modelos . Se puede utilizar para realizar traducciones sintácticas o semánticas . ATL se basa en una máquina virtual de transformación de modelos .

ATL es la respuesta del grupo de investigación ATLAS INRIA & LINA a la RFP OMG MOF / QVT. Es un lenguaje de transformación de modelos especificado tanto como metamodelo como sintaxis textual concreta. Es un híbrido de declarativo e imperativo. El estilo preferido de escritura de transformación es declarativo, lo que significa que las asignaciones simples se pueden expresar de manera simple. Sin embargo, se proporcionan construcciones imperativas para que aún se puedan especificar algunas asignaciones demasiado complejas para ser manejadas declarativamente. Un programa de transformación ATL se compone de reglas que definen cómo se hacen coincidir los elementos del modelo de origen y cómo se navega para crear e inicializar los elementos de los modelos de destino.

Arquitectura

Se ha definido e implementado una máquina virtual orientada a la transformación de modelos para proporcionar soporte de ejecución para ATL mientras se mantiene un cierto nivel de flexibilidad. De hecho, ATL se vuelve ejecutable simplemente porque existe una transformación específica de su metamodelo al código de bytes de la máquina virtual. Por lo tanto, extender ATL es principalmente una cuestión de especificar la semántica de ejecución de las nuevas características del lenguaje en términos de instrucciones simples: acciones básicas sobre modelos (creación de elementos y asignación de propiedades).

Ejemplo

Presentación ATL.png

Un programa ATL ( aquí T1.atl ) tomará el modelo Ma.xmi como entrada y producirá el modelo Mb.xmi como salida. Ambos modelos pueden expresarse en el estándar OMG XMI . El modelo Ma se ajusta al metamodelo MMa.km3 . El modelo Mb se ajusta al metamodelo MMb.km3 . La notación KM3 es un lenguaje de especificación de metamodelo simple y neutral.

El programa ATL en sí ( aquí T1.atl ) también es un modelo, por lo que se ajusta a un metamodelo (el metamodelo ATL) que no se presenta aquí.

Un programa ATL se compone de un encabezado, de un conjunto de funciones libres de efectos secundarios llamadas ayudantes y de un conjunto de reglas .

Implementaciones

Hay un complemento del kit de herramientas de desarrollo ATL asociado disponible en código abierto del Proyecto de modelado ATL Eclipse (EMP) que implementa el lenguaje de transformación ATL que está inspirado en el lenguaje QVT de consulta / visualización / transformación de MOF . Está disponible una gran biblioteca de transformaciones. MOF QVT es un lenguaje específico de dominio para la transformación de modelos. Admite modelos que cumplen con Ecore, EMOF, KM3 (un lenguaje específico de dominio específico para la especificación del metamodelo), etc. ATL también se ejecuta en MDR / NetBeans .

Ver también

Referencias

Otras lecturas

  • Bohlen, M: QVT y transformación de múltiples metamodelos en MDA . Publicado en la web .pdf (en) , (ger)
  • Wagelaar, D: Estudio de caso MDE: Uso de transformaciones de modelos para UML y DSL . Publicado en la web .pdf
  • Czarnecki, K y Helsen, S: Clasificación de enfoques de transformación de modelos. En: Actas del taller OOPSLA'03 sobre las técnicas generativas en el contexto de la arquitectura basada en modelos. Anaheim (CA, Estados Unidos). Publicado en la web .pdf
  • ModelBaset.net. Herramientas MDA . Sitio web
  • SoftwareMag.com. Herramientas MDA . Webpublished .html
Artículos
Lenguaje de transformación del modelo ATL Atlas
  • Grupo de noticias Eclipse / M2M: grupo de discusión ATL .
  • Jouault, F y Kurtev, I: Sobre la alineación arquitectónica de ATL y QVT . En: Proceedings of ACM Symposium on Applied Computing (SAC 06), Model Transformation Track. Dijon (Bourgogne, FRA), abril de 2006. Publicado en la web .pdf
  • Eclipse: M2M / ATL es parte del nuevo Proyecto de modelado de nivel superior [1]
Herramienta de transformación de modelos UMT UML
  • Grønmo, R y Oldevik, J: Un estudio empírico de la herramienta de transformación del modelo UML (UMT) . En: INTEROP-ESA'05, febrero de 2005. Publicado en la web .pdf
Enfoques de desarrollo basados ​​en modelos relacionados
  • Voelter, M: Desarrollo de software basado en modelos . Publicado en la web .pdf
  • MDA del sitio del portal y transformación del modelo : acceso al sitio

enlaces externos