The Acceleo Project (previously named MTL) is an open source component under the Eclipse Modelling / Model To Text (M2T) project . Its primary goal is to provide an implementation of the MOF Model To Text OMG standard .
You do not need to be an expert to start using the plug-ins: using the provided example projects and the powerful completion feature of the Acceleo editor, it is very easy to get started once you understand the basic principles.
Concerning the language, almost all of the OMG specification keywords are supported (those marked with an asterisk are not fully supported yet):
module, import, extends, template, query, public, private, protected, guard, init, overrides, each, before, after, for, if, elseif, else, let, elselet, trace*, macro*, file, mode, text_explicit*, code_explicit*, super, stdout
For all the details about these keywords and the MOF Model to Text Language in general, you can consult the official MTL Specification available at the OMG website.
The Acceleo development team does its best to maintain downward compatibility towards Ganymede (Eclipse 3.4). Following is the compatibility chart :
|Accelo||Eclipse 3.4 - EMF 2.4||Eclipse 3.5 - EMF 2.5|
An empty cell indicates that the compatibility hasn't been tested for a particular combination.
Take note that some features are enabled in Galileo (Eclipse 3.5) that are not accessible on Ganymede and that Acceleo templates written within Galileo might not compile within Ganymede! This is mostly the case because of useless "oclAsType" calls in Galileo that were mandatory in Ganymede.
The Acceleo template editor is associated with Acceleo source files (.mtl files) and provides all the features of a modern programming editor to make you more productive when developing code generation modules:
Navigation to definitions and references
Some of these features are described in details in the Acceleo documentation plugin.
New & Noteworthy
Check the New And Noteworthy page for information on notable evolutions for each version.
Acceleo at Eclipse Con 2009 : a Real Standard Alternative for Code Generation