ATL 2.0.0 New and Noteworthy
Eclipse Ganymede compatibility
The ATL Toolkit is now compatible with Eclipse Ganymede (Eclipse 3.4, EMF 2.4).
ANTLR 3.0 support
The ATL Toolkit is now using ANTLR 3.0. ANTLR 3.0 Runtime has been approved by Eclipse Foundation (see IPzilla CQ 1548, in which this was approved). ANTLR 2.X dependency has been removed and ANTLR 3.0 is externalized in a plugin, installed from an Orbit package. From user point of view, this simplifies ATL installation.
- Support for specification of source model(s) to match a source element in.
- It is possible now to define attribute helpers in ATL libraries.
- allInstances return value has been changed from Set to OrderedSet.
- A new feature is available : ATL Superimposition. Superimposition allows you to load an ATL transformation module on top of another in your "Run..." configuration. It allows for the superimposing module to import and override matched rules from the module it is superimposed upon. More details are available here: http://wiki.eclipse.org/ATL_Superimposition
To make model elements completion available, you have to put some information on the top of the file :
- -- @nsURI : the nsURI for a given metamodel, if you want to load a metamodel from the EMF registry,
- -- @path : the path of a given metamodel, if you want to dynamically load a metamodel from an ecore file.
Only EMF metamodels are supported. You must spécify the relative path of the file into the workspace.
Here is the top of an UML2AnyMM transformation :
-- @path AnyMM=/AnyProject/AnyFolder/AnyMM.ecore -- @nsURI UML=http://www.eclipse.org/uml2/2.1.0/UML module Class2Relational; create OUT : AnyMM from IN : UML; -- ...transformation helpers and rules
Completion is triggered with the Ctrl + space keys, or when typing a space in a context where some content assist is available.
A new ATL VM dedicated to EMF has been included in this release, which strongly increase performances. There is still missing features, so there is a page for watch and report developments around the EMFVM : [EMFVM testing http://wiki.eclipse.org/ATL_VM_Testing]. This page show the results of the new ATL regression test, which checks the validity of old transformation by reusing the [ATL Transformation Zoo http://www.eclipse.org/m2m/atl/atlTransformations/]. The resulting models are compared using [EMFCompare http://wiki.eclipse.org/index.php/EMF_Compare]. Non regression is evaluated for parsing, compilation, execution.