Język transformacji ATLAS - ATLAS Transformation Language

Język transformacji ATLAS
Deweloper (y) OBEO, INRIA
Społeczność wolnego oprogramowania
Wersja stabilna
4.3.0 / 22 lutego 2021 r . ; 2 miesiące temu  ( 2021-02-22 )
System operacyjny Wieloplatformowy
Licencja Licencja publiczna Eclipse
Stronie internetowej www .eclipse .org / atl
Kontekst operacyjny ATL

ATL ( ATLAS Transformation Language ) to modelowy język transformacji i zestaw narzędzi opracowany i utrzymywany przez OBEO i AtlanMod. Został zainicjowany przez zespół AtlanMod (wcześniej nazywany ATLAS Group). W dziedzinie inżynierii opartej na modelach (MDE) ATL zapewnia sposoby tworzenia zestawu modeli docelowych z zestawu modeli źródłowych.

Wydany na warunkach Licencji Publicznej Eclipse , ATL jest komponentem M2M (Eclipse), wchodzącym w skład Eclipse Modeling Project (EMP).

Przegląd

ATL to model transformacji języka (MTL) opracowany przez OBEO i INRIA w celu udzielenia odpowiedzi na zapytanie ofertowe QVT . QVT to standard Object Management Group służący do przeprowadzania transformacji modeli . Może być używany do tłumaczenia składniowego lub semantycznego . ATL jest zbudowany w oparciu o maszynę wirtualną do transformacji modelu .

ATL jest odpowiedzią grupy badawczej ATLAS INRIA & LINA na zapytanie ofertowe OMG MOF / QVT. Jest to język transformacji modelu określony zarówno jako metamodel, jak i jako tekstowa składnia konkretna. Jest to hybryda deklaratywnego i imperatywnego. Preferowanym stylem pisania transformacji jest deklaratywny, co oznacza, że ​​proste odwzorowania można wyrazić w prosty sposób. Jednak konieczne są konstrukcje, dzięki czemu nadal można określić niektóre mapowania zbyt złożone, aby można je było obsługiwać deklaratywnie. Program transformacji ATL składa się z reguł, które definiują sposób dopasowywania elementów modelu źródłowego i nawigacji w celu tworzenia i inicjowania elementów modeli docelowych.

Architektura

Zdefiniowano i zaimplementowano maszynę wirtualną zorientowaną na transformację modelu, aby zapewnić obsługę wykonywania ATL przy zachowaniu pewnego poziomu elastyczności. W rzeczywistości ATL staje się wykonywalny po prostu dlatego, że istnieje określona transformacja z jego metamodelu do kodu bajtowego maszyny wirtualnej. Rozszerzenie ATL polega więc głównie na sprecyzowaniu semantyki wykonywania funkcji nowego języka w kategoriach prostych instrukcji: podstawowych działań na modelach (tworzenie elementów i przypisywanie właściwości).

Przykład

Prezentacja ATL.png

Program ATL ( tutaj T1.atl ) przyjmie model Ma.xmi jako wejście i wyprodukuje model Mb.xmi jako wyjście. Oba modele można wyrazić w standardzie OMG XMI . W modelu Ma jest zgodna z metamodel MMa.km3 . Model Mb jest zgodny z metamodelem MMb.km3 . KM3 zapis jest prosty i neutralny opis Metamodel języka.

Sam program ATL ( tutaj T1.atl ) również jest modelem, więc jest zgodny z metamodelem (metamodelem ATL), którego tutaj nie przedstawiono.

Program ATL składa się z nagłówka, zestawu funkcji wolnych od skutków ubocznych zwanych pomocnikami oraz zestawu reguł .

Wdrożenia

Istnieje powiązana wtyczka ATL Development Toolkit dostępna w otwartym kodzie źródłowym z projektu ATL Eclipse Modeling Project (EMP), która implementuje język transformacji ATL, który jest inspirowany językiem zapytań / widoku / transformacji MOF QVT . Dostępna jest duża biblioteka przekształceń. MOF QVT to język specyficzny dla domeny do transformacji modelu. Obsługuje modele zgodne z Ecore, EMOF, KM3 (specyficzny język domeny dla specyfikacji metamodelu) itp. ATL działa również w MDR / NetBeans .

Zobacz też

Bibliografia

Dalsza lektura

  • Bohlen, M: QVT i transformacja wielu metamodeli w MDA . Opublikowane w sieci Web .pdf (en) , (ger)
  • Wagelaar, D: MDE Case Study: Using Model Transformations for UML and DSLs . Opublikowane w sieci Web .pdf
  • Czarnecki, K. i Helsen, S: Klasyfikacja podejść do transformacji modelu. W: Proceedings of the OOPSLA'03 Workshop on the Generative Techniques in Context Of Model-Driven Architecture. Anaheim (Kalifornia, USA). Opublikowane w sieci Web .pdf
  • ModelBaset.net. Narzędzia MDA . Stronie internetowej
  • SoftwareMag.com. Narzędzia MDA . Opublikowane w sieci Web .html
Artykuły
Język transformacji modelu ATL Atlas
  • Grupa dyskusyjna Eclipse / M2M: grupa dyskusyjna ATL .
  • Jouault, F i Kurtev, I: On the Architectural Alignment of ATL and QVT . W: Materiały ACM Symposium on Applied Computing (SAC 06), Model Transformation Track. Dijon (Bourgogne, FRA), kwiecień 2006. Publikacja internetowa .pdf
  • Eclipse: M2M / ATL jest częścią nowego projektu modelowania najwyższego poziomu [1]
Narzędzie do transformacji modelu UMT UML
  • Grønmo, R., i Oldevik, J: An Empirical Study of the UML Model Transformation Tool (UMT) . W: INTEROP-ESA'05, luty 2005. Publikacja internetowa .pdf
Powiązane podejścia programistyczne oparte na modelach
  • Voelter, M: Rozwój oprogramowania oparty na modelu . Opublikowane w sieci Web .pdf
  • MDA witryny portalu i transformacja modelu : dostęp do witryny

Linki zewnętrzne