Atlas Transformation Language

Die Atlas Transformation Language (kurz ATL) ist eine Programmiersprache zum Transformieren von Modellen, also zur Durchführung von automatischen Modell-zu-Modell-Transformationen.

ATL wurde von ATLAS INRIA & LINA als Antwort auf die Ausschreibung für eine Transformationssprache (QVT Ausschreibung) der Object Management Group (OMG) eingereicht. ATL steht als Eclipse Plug-In mit einem Editor und Debugger zu Verfügung.

ATL ist eine hybride Sprache, das heißt, sie vereint Konzepte imperativer und deklarativer Programmierung. Um Abfragen auf Modellen durchzuführen, wird OCL eingesetzt (zum Teil modifiziert). Eine Transformation besteht in ATL im Wesentlichen aus einem Satz von Regeln, die einzelne Elemente des Ausgangsmodells in Elemente des Zielmodells überführen.

Eine einfache Transformation in ATL sieht so aus:[1]

   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 dem Beispiel wird ein Ausgangsmodell "IN", das konform zu einem Metamodell "Book" ist (vereinfacht der Typ des Modells) in ein Modell "OUT" gemäß dem Metamodell "Publication" überführt. Die aufgeführte Regel Author überführt Elemente des Ausgangsmodells vom Typ "Author" in Elemente vom Typ "Person" im Zielmodell. Dabei werden die Attribute des Zielelements mit Werten aus dem Ausgangsmodell belegt.

Weblinks

Einzelnachweise

  1. ATL User Manual