Difference between revisions of "ATL 3.1.0 New and Noteworthy"

From Eclipsepedia

Jump to: navigation, search
(ATL Editor improvements)
 
(14 intermediate revisions by one user not shown)
Line 1: Line 1:
 
==Helios Release==
 
==Helios Release==
  
NOTE: this page will be completed soon...
+
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==
  
The ATL Toolkit is now compatible with Eclipse Helios (Eclipse 3.6, EMF 2.6).
+
*'''Hover informations''': when hovering code parts into an atl file, a yellow popup displays informations about the element type if available.
  
==ATL Editor improvements==
+
[[Image:ATL_hover.png]]
  
*content assist
+
 
*open declaration
+
*'''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.
*hover
+
 
*syntax colors
+
[[Image:ATL_open_declaration.png]]
*occurences highlighting
+
 
 +
 
 +
*'''Content assist''': now content assist is more powerful and works inside of complex OCL expressions
 +
 
 +
[[Image:ATL_advanced_content_assist2.png]]
 +
 
 +
 
 +
*'''Occurences highlighting''': when selecting an element, all references to the same one are highlighted.
 +
 
 +
[[Image:ATL_show_references.png]]
  
 
==ATL Language==
 
==ATL Language==
  
*pcall
+
===Output Model selection===
*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==
 
==Debugging & Profiling==
  
*debugger refactoring
+
===debugger refactoring===
*profiler
+
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.
 +
 
 +
[[Image:ATL_profiler.png]]
  
 
==ATL Plugins==
 
==ATL Plugins==
  
*programmatic launch
+
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):
*standalone use
+
 
 +
 
 +
[[Image: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
 +
 
 +
 
 +
[[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 Java export options:
 +
 
 +
 
 +
[[Image:ATL_plugin_wizard_result_export.png]]
 +
 
 +
 
 +
This will product a .jar containing all the required ATL, Eclipse and EMF libraries.

Latest revision as of 10:10, 9 June 2010

Contents

[edit] 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.

[edit] 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

[edit] ATL Language

[edit] 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

[edit] Debugging & Profiling

[edit] 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.

[edit] 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

[edit] 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.