Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
ATL 2 beta notes
Contents
Eclipse Europa compatibility
The ATL Toolkit is now compatible with Eclipse Europa (Eclipse 3.3, EMF 2.3, and UML 2.1).
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 runtime was added in the ATL Engine. 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
UML2 Driver for ATL
- A UML2 driver for ATL has been created. It was contributed by C-S (see: https://bugs.eclipse.org/bugs/show_bug.cgi?id=193924). This UML driver enables to take into account the notion of profiles and stereotypes during an ATL transformation.
Other Engine Improvement
- EMF Driver performance has been improved.
- Problem with memory leaks has been solved (https://bugs.eclipse.org/bugs/show_bug.cgi?id=175703).
IDE Improvement
- Added shortcut to comment/uncomment in the ATL Editor
- Added option to disable attribute helper cache
- New execution options are available:
* added option to disable attribute helper cache * added notice about stopwatch available only in run mode
- Added a stopwatch that prints execution times of transformations (see advanced tab)
- 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.
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
ANT Tasks
- Added support for option specification in the am3.atl ant task
- An online user guide is now available: http://wiki.eclipse.org/AM3_Ant_Tasks
Various enhancements
- Added support for libraries in OclQueries
- Set saved model as derived
- Added/modified synchronized blocks to get thread safety at low (parallel) performance impact
- Added usage of EMFModelLoader (i.e., old command-line API) in order for ASMString.inject(...) to work
- No longer try to load metamodel-by-uri before loading instance model
- Disabled execution time print out for debug mode (it would take into account the time during which the VM is stopped)
- Use ASMModel cache (models are parsed several times to build dialog)
- Refactored common code out of the compilers. Added a stand-alone version of the compiler that must not use the Eclipse platform API. This version can then run outside Eclipse, too.
- Added a main operation to libraries with registration of attribute helpers
- Added injector extension point to engine plugin, so that these injectors can be used with String.inject(...); because there is already an injector extension point in AM3, this should probably be simplified in the future
- Updated ATL metamodel