Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "ATL/User Guide - Introduction"

< ATL
 
(12 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
[[Category:ATL]]
 
[[Category:ATL]]
 
<div name="Introduction"></div>
 
<div name="Introduction"></div>
ATL, the Atlas Transformation Language, is the ATLAS INRIA & LINA research group's answer to the [http://www.omg.org/docs/formal/02-04-03.pdf OMG MOF]/[http://www.omg.org/docs/ad/02-04-10.pdf QVT RFP].
+
ATL is the AtlanMod research group's (Inria, Ecole des Mines de Nantes & LINA) answer to the [http://www.omg.org/docs/formal/02-04-03.pdf OMG MOF]/[http://www.omg.org/docs/ad/02-04-10.pdf QVT RFP].
 
It is a model transformation language specified as both a metamodel and a textual concrete syntax.
 
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 means to specify the way to produce a number of target models from a set of source models.
 
In the field of Model-Driven Engineering (MDE), ATL provides developers with a means to specify the way to produce a number of target models from a set of source models.
Line 16: Line 16:
 
The ATL development environment also offers a number of additional facilities dedicated to models and metamodels handling.
 
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.
 
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.
 +
 +
[[ATL/User_Guide_-_Installation | ATL Installation]]
  
 
= Contents =
 
= Contents =
* [[ATL/User_Guide_-_Installation | Installation]] : this first section will guide you through the installation of ATL and all the other things requirements necessary for the creation of an ATL project
+
* [[ATL/Concepts | ATL Concepts]] : this section introduces you to the '''fundamental concepts of model transformation'''
* [[ATL/User_Guide_-_Overview_of_the_Atlas_Transformation_Language | Overview of the Atlas Transformation Language]] : the second section is a description of what can be done with ATL
+
* [[ATL/User_Guide_-_Overview_of_the_Atlas_Transformation_Language | ATL Overview]] : the section is a description of the '''very basic elements of ATL'''
* [[ATL/User_Guide_-_The_ATL_Language | The ATL Language]] : this section will provide you an help with the ATL language
+
* [[ATL/User_Guide_-_The_ATL_Language | The ATL Language]] : this section will provide you the '''reference documentation of the ATL language'''
* [[ATL/User_Guide_-_The_ATL_Tools | The ATL Tools]] : this section describes tools around the ATL project
+
* [http://www.jot.fm/issues/issue_2012_08/article2.pdf A catalog of refactorings for ATL transformations] : this paper provides a useful set of refactorings for '''improving the quality of ATL transformations'''
* [[ATL/User_Guide_-_Building_ATL_With_ANT_And_Maven | Building ATL With ANT And Maven]] : this last section describes how to automate the compilation of .atl files to .asm files.
+
* [[ATL/Design Patterns | ATL Design Patterns]] : this section lists various [http://en.wikipedia.org/wiki/Software_design_pattern design patterns] specific to ATL.
 +
* [[ATL/User_Guide_-_The_ATL_Tools | The ATL Tools]] : this section describes the various '''practical development tools around ATL'''
 +
* [[ATL/User_Guide_-_Building_ATL_With_ANT_And_Maven | Building ATL Files With ANT And Maven]] : this section describes how to automate the compilation of .atl files to .asm files.

Latest revision as of 05:02, 28 February 2015

ATL is the AtlanMod research group's (Inria, Ecole des Mines de Nantes & LINA) answer to the OMG MOF/QVT RFP. 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 means 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 hardly 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) 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.

ATL Installation

Contents

Back to the top