jobbra|bélyegkép|280x280px| ATL működési kontextus Az ATL (ATLAS transzformációs nyelv) egy olyan modelltranszformációs nyelv és eszköztár, amelyet az OBEO és az AtlanMod fejleszt. Az ATL-t eredetileg az AtlanMod csapat (régebbi nevén ATLAS csoport) hozta létre. A modellvezérelt fejlesztésben (MDE) az ATL lehetővé teszi, hogy különböző forrásmodellekből tetszőleges számú céltartománybeli modellt állítsunk elő.

Az Eclipse Public License alatt kiadott ATL egy, az Eclipse Modeling Project-en (EMP-n) belüli M2M (Eclipse) összetevő.

Áttekintés Az ATL egy modelltranszformációs nyelv (MTL), melyet az OBEO és az INRIA fejlesztett ki a QVT ajánlatkérésre válaszul. A QVT az Object Management Group szabványa modelltranszformációk végrehajtására, amely szintaktikai vagy szemantikai fordításra is alkalmas. Az ATL egy modelltranszformációs virtuális gépre alapozva működik.

Az ATL-t az ATLAS INRIA & LINA kutatócsoport fejlesztette ki, válaszul az OMG MOF/QVT ajánlatkérésére. Olyan modelltranszformációs nyelv, amelynek létezik metamodellezett és szöveges leírása is. Az ATL ötvözi a deklaratív és az imperatív programozási stílust. Az ATL ötvözi a deklaratív és az imperatív elemeket, de alapvetően a deklaratív stílust javasolják, mert ezzel az egyszerű átalakításokat is egyszerűen lehet megfogalmazni. Mindazonáltal imperatív szerkezetek is elérhetők, annak érdekében, hogy bizonyos, deklaratívan nehezen kezelhető megfeleltetések mégis megadhatók legyenek. Egy ATL transzformációs program olyan szabályokból épül fel, melyek definiálják, miként kell a forrásmodell-elemeket illeszteni és bejárni a célmodell-elemek létrehozása és kezdőértékkel való ellátása (inicializálása) érdekében.

Architektúra Az ATL futtatásához egy olyan virtuális gépet fejlesztettek, amelyet kifejezetten modelltranszformációk végrehajtására terveztek, és amely megőrzi a rugalmasságot a nyelv használata során. Az ATL végrehajthatóságát az teszi lehetővé, hogy a metamodellekből a virtuális gép számára értelmezhető bájtkódot generálnak. Az ATL bővítése emiatt főként abban áll, hogy az új nyelvi elemek működését, végrehajtási logikáját egyszerű utasítások – például modellelemek létrehozása vagy tulajdonságok beállítása – segítségével definiáljuk.

Példa középre|bélyegkép|600x600px Egy ATL program (T1.atl) nevű az Ma.xmi modellt használja bemenetként, és az Mb.xmi modellt hozza létre kimenetként. Mindkét modell az OMG által meghatározott XMI szabvány formátumában lehet megadva. Az Ma modell az MMa.km3 jelű metamodellnek felel meg, míg az Mb modell az MMb.km3 metamodellhez igazodik. A KM3 egy egyszerű és semleges jelölésrendszer metamodellek leírására.

Az ATL program (T1.atl) maga is modellnek számít, tehát megfelel egy metamodelnek (az ATL metamodelnek), amelyet itt nem részletezünk.

Egy ATL program három fő részből épül fel: fejlécből, mellékhatás nélküli segédfüggvényekből (helper-ek), illetve szabályokból.

Megvalósítások Az ATL Eclipse Modeling Project (EMP) részeként nyílt forráskódú ATL fejlesztői eszközkészlet (plugin) érhető el. Ez az eszköz az ATL transzformációs nyelv megvalósítását tartalmazza, amelyet a MOF Query/View/Transformation (QVT) nyelv ihletett. Nagyméretű transzformációs könyvtár áll rendelkezésre. A MOF QVT egy modelltranszformációra specializálódott, tartományspecifikus nyelv. Képes kezelni az Ecore, EMOF, KM3 (metamodellek leírására szolgáló, specifikus tartományspecifikus nyelv) és hasonló szabványoknak megfelelő modelleket. Emellett az ATL futtatható MDR NetBeans platformon is.

Jegyzetek

Fordítás

Felhasznált irodalom

The MDA Manifesto available from the MDA Journal Model Driven Architecture: Applying MDA to Enterprise Computing, David S. Frankel, John Wiley & Sons, , book On the Architectural Alignment of ATL and QVT. Frederic Jouault, Ivan Kurtev in: Proceedings of ACM Symposium on Applied Computing (SAC 06), Model Transformation Track, Dijon, Bourgogne, France, (April 2006), pdf paper.

További olvasmányok

Bohlen, M: QVT and multi metamodel transformation in MDA. Webpublished Wagelaar, D: MDE Case Study: Using Model Transformations for UML and DSLs. Webpublished Czarnecki, K, and 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, USA). Webpublished ModelBaset.net. MDA Tools SoftwareMag.com. MDA Tools. Webpublished

Cikkek

Model-Driven Architecture: Vision, Standards And Emerging Technologies at OMG.org An Introduction to Model Driven Architecture at IBM.com From Object Composition to Model Transformation with the MDA at OMG.org Jouault, F and 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), April 2006. Webpublished

ATL Atlas modelltranszformációs nyelv

Eclipse/M2M newsgroup: ATL discussion group. Jouault, F and 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), April 2006. Webpublished Eclipse : M2M/ATL is part of the new Top Level Modeling Project

UMT UML modell transzformációs eszköz

Grønmo, R, and Oldevik, J : An Empirical Study of the UML Model Transformation Tool (UMT). In: INTEROP-ESA'05, Feb. 2005. Webpublished

Kapcsolódó modellvezérelt fejlesztési megközelítések

Voelter, M: Model Driven Software Development. Webpublished Portal site MDA and Model Transformation:

Kapcsolódó szócikkek

Tartományspecifikus modellezés Modelltranszformációs nyelv

További információk

Kategória:Informatika