Linguagem de transformação ATLAS - ATLAS Transformation Language

ATLAS Transformation Language
Desenvolvedor (s) OBEO, INRIA
Comunidade de software livre
Versão estável
4.3.0 / 22 de fevereiro de 2021 ; 2 meses atrás  ( 2021-02-22 )
Sistema operacional Plataforma cruzada
Licença Licença Pública Eclipse
Local na rede Internet www .eclipse .org / atl
Contexto operacional ATL

ATL ( ATLAS Transformation Language ) é uma linguagem de transformação de modelo e um kit de ferramentas desenvolvido e mantido pela OBEO e AtlanMod. Foi iniciado pela equipe AtlanMod (anteriormente chamada de Grupo ATLAS). No campo de Model-Driven Engineering (MDE), a ATL fornece maneiras de produzir um conjunto de modelos de destino a partir de um conjunto de modelos de origem.

Distribuído sob os termos da Licença Pública Eclipse , ATL é um componente M2M (Eclipse) , dentro do Eclipse Modeling Project (EMP).

Visão geral

ATL é uma linguagem de transformação de modelo (MTL) desenvolvida pela OBEO e INRIA para responder à solicitação de proposta QVT . QVT é um padrão do Grupo de gerenciamento de objetos para realizar transformações de modelo . Ele pode ser usado para fazer tradução sintática ou semântica . ATL é construído em cima de uma máquina virtual de transformação de modelo .

ATL é a resposta do grupo de pesquisa ATLAS INRIA & LINA ao OMG MOF / QVT RFP. É uma linguagem de transformação de modelo especificada tanto como um metamodelo quanto como uma sintaxe textual concreta. É um híbrido de declarativo e imperativo. O estilo preferido de escrita de transformação é declarativo, o que significa que mapeamentos simples podem ser expressos de forma simples. No entanto, construções imperativas são fornecidas para que alguns mapeamentos muito complexos para serem manipulados declarativamente possam ser especificados. Um programa de transformação ATL é composto de regras que definem como os elementos do modelo de origem são correspondidos e navegados para criar e inicializar os elementos dos modelos de destino.

Arquitetura

Uma máquina virtual orientada para a transformação de modelo foi definida e implementada para fornecer suporte de execução para ATL enquanto mantém um certo nível de flexibilidade. Na verdade, ATL se torna executável simplesmente porque existe uma transformação específica de seu metamodelo para o bytecode da máquina virtual. Estender ATL é, portanto, principalmente uma questão de especificar a nova semântica de execução de recursos de linguagem em termos de instruções simples: ações básicas em modelos (criação de elementos e atribuições de propriedades).

Exemplo

ATL presentation.png

Um programa ATL ( T1.atl aqui) tomará o modelo Ma.xmi como entrada e produzirá o modelo Mb.xmi como saída. Ambos os modelos podem ser expressos no padrão OMG XMI . O modelo Ma está em conformidade com o metamodelo MMa.km3 . O modelo Mb está em conformidade com o metamodelo MMb.km3 . A notação KM3 é uma linguagem de especificação de metamodelo simples e neutra.

O próprio programa ATL ( T1.atl aqui) também é um modelo, portanto, está em conformidade com um metamodelo (o metamodelo ATL) não apresentado aqui.

Um programa ATL é composto de um cabeçalho, de um conjunto de funções livres de efeitos colaterais chamadas auxiliares e de um conjunto de regras .

Implementações

Há um plug - in ATL Development Toolkit associado disponível em código aberto no ATL Eclipse Modeling Project (EMP) que implementa a linguagem de transformação ATL que é inspirada na linguagem MOF Query / View / Transformation QVT . Uma grande biblioteca de transformações está disponível. MOF QVT é uma linguagem específica de domínio para transformação de modelo. Ele suporta modelos em conformidade com Ecore, EMOF, KM3 (uma linguagem específica de domínio para especificação de metamodelo), etc. ATL também está sendo executado em MDR / NetBeans .

Veja também

Referências

Leitura adicional

  • Bohlen, M: QVT e transformação multi-metamodelo em MDA . Webpublished .pdf (en) , (ger)
  • Wagelaar, D: Estudo de caso de MDE: Usando transformações de modelo para UML e DSLs . Webpublished .pdf
  • Czarnecki, K e Helsen, S: Classification of Model Transformation Approaches. In: Proceedings of the OOPSLA'03 Workshop on the Generative Techniques in the Context Of Model-Driven Architecture. Anaheim (CA, EUA). Webpublished .pdf
  • ModelBaset.net. Ferramentas MDA . Local na rede Internet
  • SoftwareMag.com. Ferramentas MDA . Webpublished .html
Artigos
Linguagem de transformação do modelo ATL Atlas
  • Grupo de notícias Eclipse / M2M: grupo de discussão ATL .
  • Jouault, F e Kurtev, I: On the Architectural Alignment of ATL and QVT . In: Proceedings of ACM Symposium on Applied Computing (SAC 06), Model Transformation Track. Dijon (Bourgogne, FRA), abril de 2006. Webpublished .pdf
  • Eclipse: M2M / ATL faz parte do novo Projeto de Modelagem de Nível Superior [1]
Ferramenta de transformação de modelo UML UMT
  • Grønmo, R e Oldevik, J: Um Estudo Empírico da Ferramenta de Transformação de Modelos UML (UMT) . In: INTEROP-ESA'05, fevereiro de 2005. Webpublished .pdf
Abordagens de desenvolvimento baseadas em modelos relacionados
  • Voelter, M: Model Driven Software Development . Webpublished .pdf
  • MDA do site do portal e transformação do modelo : acesso ao site

links externos