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/Developer Guide"

< ATL
(New page: == ATL Language == === Overview === ATL language which can be split into two parts : declarative : matched rules, and called rules body. The main use of ATL is declarative. Imperative pa...)
 
(ATL Language)
Line 1: Line 1:
 +
== ATL Plugins ==
 +
 +
=== Overview ===
 +
 +
The following schema purposes an overview of the plugins constituting ATL.
 +
[[Image:Example.jpg]]
 +
 +
Dependencies map : (plugin1 --- [depends] ---> plugin2)
 +
[[Image:Example.jpg]]
 +
 +
=== External dependencies ===
 +
 +
==== ATL ====
 +
 +
Historically, ATL imports two libraries : ANTLR and MDR. Those libraries are not authorized in Eclipse because of their non-EPL license. Consequently, ATL imposes users to download those libraries by themselves and install them into Eclipse plugin folder.
 +
Today, ATL dependencies have been strongly reduced : ATL only needs ANTLR-runtime library, which is EPL and included into ATL source code. The MDR library is only necessary for the MDR Model Handler. According to the fact that most of people uses EMF Model Handler (which seems to be more powerful),  MDR Model Handler has been separated into a single feature, which is not natively required for ATL.
 +
 +
==== Other tools ====
 +
 +
TCS (Textual Concrete Syntax), a tool for parsing and extraction, is used to generate some ATL components (e.g. ATL-Parser). Unlike ATL, TCS uses both ANTLR library, in version 2 and newly in version 3. TCS is available on GMT Eclipse subsection. ATL doesn't have any dependency with TCS.
 +
Specific injectors depend on ANTLR too. But an other solution can be implemented using third party tools like Safari (http://www.eclipsecon.org/2007/index.php?page=sub/&id=3759).
 +
TGE, Textual Generic Editor, is an other GMT tool, which generates an Eclipse editor from a KM3 and a TCS file. Notice that ATL Editor is not generated with GMT in order to avoid the dependencies between GMT and M2M.
 +
 
== ATL Language ==
 
== ATL Language ==
  
Line 8: Line 31:
 
ATL VM is intercalated between the ATL compiler and the used frameworks (EMF, MDR), allowing modularity. Consequently, changes on ATL Language only involve ATL compiler.
 
ATL VM is intercalated between the ATL compiler and the used frameworks (EMF, MDR), allowing modularity. Consequently, changes on ATL Language only involve ATL compiler.
 
The following schema describes ATL components and their role during the execution of a transformation.
 
The following schema describes ATL components and their role during the execution of a transformation.
 
+
[[Image:ATL_compilation_process.JPG]]
[[Image:ATL_compilation_process.bmp]]
+

Revision as of 11:48, 1 August 2007

ATL Plugins

Overview

The following schema purposes an overview of the plugins constituting ATL. Example.jpg

Dependencies map : (plugin1 --- [depends] ---> plugin2) Example.jpg

External dependencies

ATL

Historically, ATL imports two libraries : ANTLR and MDR. Those libraries are not authorized in Eclipse because of their non-EPL license. Consequently, ATL imposes users to download those libraries by themselves and install them into Eclipse plugin folder. Today, ATL dependencies have been strongly reduced : ATL only needs ANTLR-runtime library, which is EPL and included into ATL source code. The MDR library is only necessary for the MDR Model Handler. According to the fact that most of people uses EMF Model Handler (which seems to be more powerful), MDR Model Handler has been separated into a single feature, which is not natively required for ATL.

Other tools

TCS (Textual Concrete Syntax), a tool for parsing and extraction, is used to generate some ATL components (e.g. ATL-Parser). Unlike ATL, TCS uses both ANTLR library, in version 2 and newly in version 3. TCS is available on GMT Eclipse subsection. ATL doesn't have any dependency with TCS. Specific injectors depend on ANTLR too. But an other solution can be implemented using third party tools like Safari (http://www.eclipsecon.org/2007/index.php?page=sub/&id=3759). TGE, Textual Generic Editor, is an other GMT tool, which generates an Eclipse editor from a KM3 and a TCS file. Notice that ATL Editor is not generated with GMT in order to avoid the dependencies between GMT and M2M.

ATL Language

Overview

ATL language which can be split into two parts : declarative : matched rules, and called rules body. The main use of ATL is declarative. Imperative part should only be used in specific cases. imperative : called rules (imperatively called), and action blocks (« do », usable in any rules) ATL VM is intercalated between the ATL compiler and the used frameworks (EMF, MDR), allowing modularity. Consequently, changes on ATL Language only involve ATL compiler. The following schema describes ATL components and their role during the execution of a transformation. ATL compilation process.JPG

Back to the top