Jump to: navigation, search

Difference between revisions of "ATL 3.1.0 New and Noteworthy"

(ATL Language)
(ATL Editor improvements)
 
(10 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
==Helios Release==
 
==Helios Release==
  
The ATL Toolkit is now compatible with Eclipse Helios (Eclipse 3.6, EMF 2.6). ATL is still compatible with Eclipse 3.4, 3.3 and 3.2.
+
The ATL Toolkit is now compatible with Eclipse Helios (Eclipse 3.6, EMF 2.6). ATL is still compatible with Eclipse 3.5, 3.4, 3.3 and 3.2.
  
 
==ATL Editor improvements==
 
==ATL Editor improvements==
  
*Hover informations
+
*'''Hover informations''': when hovering code parts into an atl file, a yellow popup displays informations about the element type if available.
TODO
+
 
 
[[Image:ATL_hover.png]]
 
[[Image:ATL_hover.png]]
  
*Open declaration (both available with F3 and Ctrl-click)
+
 
TODO
+
*'''Open declaration''' (both available with F3 and Ctrl-click): this feature eases the navigation inside of an ATL file, by opening the corresponding declaration of the selected element. When selecting a ModelElement the action opens the metamodel (.ecore file) and highlights the selected element.
 +
 
 
[[Image:ATL_open_declaration.png]]
 
[[Image:ATL_open_declaration.png]]
  
*Content assist
+
 
TODO
+
*'''Content assist''': now content assist is more powerful and works inside of complex OCL expressions
 +
 
 
[[Image:ATL_advanced_content_assist2.png]]
 
[[Image:ATL_advanced_content_assist2.png]]
  
*Occurences highlighting
+
 
TODO
+
*'''Occurences highlighting''': when selecting an element, all references to the same one are highlighted.
 +
 
 +
[[Image:ATL_show_references.png]]
  
 
==ATL Language==
 
==ATL Language==
Line 26: Line 30:
 
A miss in the ATL syntax has just been corrected: the '''in''' keyword is now available for both input and output patterns. It mainly allow to specify in which model you want to create elements, when the old semantics forbade the use of several output models conforming to the same metamodel declaration. The workaround wasn't very intuitive as it consists on declaring the same metamodel with different names...
 
A miss in the ATL syntax has just been corrected: the '''in''' keyword is now available for both input and output patterns. It mainly allow to specify in which model you want to create elements, when the old semantics forbade the use of several output models conforming to the same metamodel declaration. The workaround wasn't very intuitive as it consists on declaring the same metamodel with different names...
  
The use of this keyword is described at the end of [[ATL/User_Guide_-_The_ATL_Language#Simple_target_pattern_element|this]] section.
+
Here is a sample transformation header:
 +
 
 +
create OUT1 : MM_B, OUT2 : MM_B from ... ;
 +
 
 +
Below is an output pattern which creates elements in the OUT2 model:
 +
 
 +
to
 +
    o : MM_B!Class2 in OUT2
  
 
==Debugging & Profiling==
 
==Debugging & Profiling==
  
 
===debugger refactoring===
 
===debugger refactoring===
TODO
+
Until ATL 3.0, the debugger was part of the Regular ATL VM only. EMF-specific VM didn't provide debugging facilities. Now the debugger (UI plus debugging protocol, ADWP) has been extracted from the Regular VM and refactored to be more generic. Finally a debugging protocol support has been added to the EMF-specific VM.
 +
So now the debugger can work with both VMs.
 +
 
 +
The debugger also had some small enhancements, like variables presentation, breakpoints available in the ATL editor.
  
 
===profiler===
 
===profiler===
TODO
+
The profiler contribution has finally been integrated. It provides a profiler available for both VMs, usable through the launch configuration "Advanced" tab, in the VM selection. The profiling of an ATL transformation is very helpful to find the performance issues inside of a transformation, by displaying various informations about the execution in the dedicated views.
 +
 
 +
[[Image:ATL_profiler.png]]
  
 
==ATL Plugins==
 
==ATL Plugins==
  
 
The ATL plugin wizard is a new feature which helps achieving an ATL programmatic launch. This utility first will ask for transformation parameters (metamodels, libraries paths, transformation modules paths):
 
The ATL plugin wizard is a new feature which helps achieving an ATL programmatic launch. This utility first will ask for transformation parameters (metamodels, libraries paths, transformation modules paths):
 +
  
 
[[Image:ATL_plugin_wizard.png]]
 
[[Image:ATL_plugin_wizard.png]]
 +
  
 
Then a new plug-in will be generated, embedding:
 
Then a new plug-in will be generated, embedding:
Line 46: Line 64:
 
*a propery file containing URIs, atl file paths
 
*a propery file containing URIs, atl file paths
 
*a Java class which allow to programmatically launch the ATL transformation
 
*a Java class which allow to programmatically launch the ATL transformation
 +
  
 
[[Image:ATL_plugin_wizard_result.png]]
 
[[Image:ATL_plugin_wizard_result.png]]
  
Finally you will be able to launch the transformation using the generated main, or integrating the launcher class into an existing application. To use the transformation as a standalone app, you can use Eclipse PDE export options:
+
 
 +
Finally you will be able to launch the transformation using the generated main, or integrating the launcher class into an existing application. To use the transformation as a standalone app, you can use Eclipse Java export options:
 +
 
  
 
[[Image:ATL_plugin_wizard_result_export.png]]
 
[[Image:ATL_plugin_wizard_result_export.png]]
 +
  
 
This will product a .jar containing all the required ATL, Eclipse and EMF libraries.
 
This will product a .jar containing all the required ATL, Eclipse and EMF libraries.

Latest revision as of 09:10, 9 June 2010

Helios Release

The ATL Toolkit is now compatible with Eclipse Helios (Eclipse 3.6, EMF 2.6). ATL is still compatible with Eclipse 3.5, 3.4, 3.3 and 3.2.

ATL Editor improvements

  • Hover informations: when hovering code parts into an atl file, a yellow popup displays informations about the element type if available.

ATL hover.png


  • Open declaration (both available with F3 and Ctrl-click): this feature eases the navigation inside of an ATL file, by opening the corresponding declaration of the selected element. When selecting a ModelElement the action opens the metamodel (.ecore file) and highlights the selected element.

ATL open declaration.png


  • Content assist: now content assist is more powerful and works inside of complex OCL expressions

ATL advanced content assist2.png


  • Occurences highlighting: when selecting an element, all references to the same one are highlighted.

ATL show references.png

ATL Language

Output Model selection

A miss in the ATL syntax has just been corrected: the in keyword is now available for both input and output patterns. It mainly allow to specify in which model you want to create elements, when the old semantics forbade the use of several output models conforming to the same metamodel declaration. The workaround wasn't very intuitive as it consists on declaring the same metamodel with different names...

Here is a sample transformation header:

create OUT1 : MM_B, OUT2 : MM_B from ... ;

Below is an output pattern which creates elements in the OUT2 model:

to
   o : MM_B!Class2 in OUT2

Debugging & Profiling

debugger refactoring

Until ATL 3.0, the debugger was part of the Regular ATL VM only. EMF-specific VM didn't provide debugging facilities. Now the debugger (UI plus debugging protocol, ADWP) has been extracted from the Regular VM and refactored to be more generic. Finally a debugging protocol support has been added to the EMF-specific VM. So now the debugger can work with both VMs.

The debugger also had some small enhancements, like variables presentation, breakpoints available in the ATL editor.

profiler

The profiler contribution has finally been integrated. It provides a profiler available for both VMs, usable through the launch configuration "Advanced" tab, in the VM selection. The profiling of an ATL transformation is very helpful to find the performance issues inside of a transformation, by displaying various informations about the execution in the dedicated views.

ATL profiler.png

ATL Plugins

The ATL plugin wizard is a new feature which helps achieving an ATL programmatic launch. This utility first will ask for transformation parameters (metamodels, libraries paths, transformation modules paths):


ATL plugin wizard.png


Then a new plug-in will be generated, embedding:

  • the transformation modules and libraries
  • a propery file containing URIs, atl file paths
  • a Java class which allow to programmatically launch the ATL transformation


ATL plugin wizard result.png


Finally you will be able to launch the transformation using the generated main, or integrating the launcher class into an existing application. To use the transformation as a standalone app, you can use Eclipse Java export options:


ATL plugin wizard result export.png


This will product a .jar containing all the required ATL, Eclipse and EMF libraries.