Difference between revisions of "ATL 2.0.0 New and Noteworthy"

From Eclipsepedia

Jump to: navigation, search
(IDE Improvement)
Line 15: Line 15:
 
* 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
 
* 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
  
==IDE Improvement==
+
==Content assist==
  
* Added shortcut to comment/uncomment in the ATL Editor
+
To make model elements completion available, you have to put some information on the top of the file :
[[Image:ATLEditor_shortcut.PNG|frame|right|ATL Editor shorcut]]
+
* '''-- @nsURI''' : the nsURI for a given metamodel, if you want to load a metamodel from the EMF registry,
* Added option to disable attribute helper cache
+
* '''-- @path''' : the path of a given metamodel, if you want to dynamically load a metamodel from an ecore file.
* New execution options are available:
+
Only EMF metamodels are supported. You must spécify the relative path of the file into the workspace.
  * added option to disable attribute helper cache
+
 
  * added notice about stopwatch available only in run mode
+
Here is the top of an UML2AnyMM transformation :
* Added a stopwatch that prints execution times of transformations (see advanced tab)
+
-- @path AnyMM=/AnyProject/AnyFolder/AnyMM.ecore
* A new launch configuration UI is available (contributed by Mikael Barbero). When the ATL file is selected, the launch configuration is pre-filled in. This avoids errors with ATL header section.
+
-- @nsURI UML=http://www.eclipse.org/uml2/2.1.0/UML
[[Image:ATLIDE_LaunchConfig1.PNG|ATL Launch Configuration - Main tab]]
+
[[Image:ATLIDE_LaunchConfig2.PNG|ATL Launch Configuration - Advanced tab]]
+
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.
 +
 
 +
[[Image:ATL_content_assist.JPG]]
  
 
==Developer Improvement==
 
==Developer Improvement==

Revision as of 08:24, 18 June 2008

Contents

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.

Language Improvement

  • 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

Content assist

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.

ATL content assist.JPG

Developer Improvement

  • An extension point was created, which enables the invocation of other ATL Virtual Machines from the launch configuration or ATL ant tasks. The list of ATL VM available is located in the advanced tab
  • Added accessor to ATL resourceSet (may, for instance, be used by other tools to access ATL-registered metamodels)
  • Added a Problem target model to the ATL compiler so that it may report problems more appropriately
  • Added location as comment after each bytecode
  • Deprecated the old injector and extractor methods