|
|
Line 1: |
Line 1: |
− | ATL, the Atlas Transformation Language, is the ATLAS INRIA & LINA research group’s answer to the OMG MOF [1]/QVT RFP [2].
| |
− | It is a model transformation language specified as both a metamodel and a textual concrete syntax.
| |
− | In the field of Model-Driven Engineering (MDE), ATL provides developers with a mean to specify the way to produce a number of target models from a set of source models.
| |
| | | |
− | The ATL language is a hybrid of declarative and imperative programming.
| |
− | The preferred style of transformation writing is the declarative one: it enables to simply express mappings between the source and target model elements.
| |
− | However, ATL also provides imperative constructs in order to ease the specification of mappings that can hardy be expressed declaratively.
| |
− |
| |
− | An ATL transformation program is composed of rules that define how source model elements are matched and navigated to create and initialize the elements of the target models.
| |
− | Besides basic model transformations, ATL defines an additional model querying facility that enables to specify requests onto models.
| |
− | ATL also allows code factorization through the definition of ATL libraries.
| |
− |
| |
− | Developed over the Eclipse platform, the ATL Integrated Development Environment (IDE) [3] provides a number of standard development tools (syntax highlighting, debugger, etc.) that aim to ease the design of ATL transformations.
| |
− | The ATL development environment also offers a number of additional facilities dedicated to models and metamodels handling.
| |
− | These features include a simple textual notation dedicated to the specification of metamodels, but also a number of standard bridges between common textual syntaxes and their corresponding model representations.
| |
− |
| |
− | The present manual aims at providing both an exhaustive reference of the ATL transformation language and a comprehensive guide for the users of the ATL IDE.
| |
− | For this purpose, this manual is organized in three main parts: the first part (Section 2 and Section 3) introduces the main concepts of model transformation and provides an overview of the structure and the semantics of the ATL language.
| |
− | The second part (corresponding to Section 4) focuses on the description of the ATL language while the last part (Section 5) deals with the use of the ATL tools.
| |
− |
| |
− | The detailed structure of the document looks as follows:
| |
− | * [[ATL/User Manual/An Introduction to Model Transformation|Section 2]] provides a short introduction to the model transformation area;
| |
− | * [[ATL/User Manual/Overview of the Atlas Transformation Language|Section 3]] offers an overview of the ATL capabilities;
| |
− | * [[ATL/User Manual/The ATL Language|Section 4]] is dedicated to the description of the ATL language;
| |
− | * [[ATL/User Manual/The ATL Tools|Section 5]] describes the IDE that has been developed around the ATL transformation language;
| |
− | * [[ATL/User Manual/Additional ATL Resources|Section 6]] provides ATL programmers with a number of pointers to available ATL resources;
| |
− | * Finally, [[ATL/User Manual/Conclusion|Section 7]] concludes the document.
| |