Atlas Transformation Language

from Wikipedia, the free encyclopedia

The Atlas Transformation Language ( ATL for short ) is a programming language for transforming models , i.e. for performing automatic model-to-model transformations.

ATL was submitted by ATLAS INRIA & LINA in response to the tender for a transformation language ( QVT tender) of the Object Management Group (OMG). ATL is available as an Eclipse plug-in with an editor and debugger .

ATL is a hybrid language , which means that it combines concepts of imperative and declarative programming. OCL is used (partially modified) to carry out queries on models . In ATL, a transformation essentially consists of a set of rules that convert individual elements of the original model into elements of the target model.

A simple transformation in ATL looks like this:

   module Book2Publication;
   create OUT : Publication from IN : Book;
   rule Author {
     from
       a : MMAuthor!Author
     to
       p : MMPerson!Person (
             name <- a.name,
             surname <- a.surname
             )
   }

In the example, an output model “IN” which conforms to a metamodel “Book” (in simplified terms the type of the model) is converted into a model “OUT” according to the metamodel “Publication”. The listed rule Author transfers elements of the source model of the "Author" type to elements of the "Person" type in the target model. The attributes of the target element are assigned values ​​from the original model.

Web links

Individual evidence

  1. ^ ATL User Manual