|Xpand vs Acceleo vs JET [message #510287]
||Wed, 27 January 2010 01:17
| Erik Putrycz
Registered: December 2009
I would like to generate several artifacts from UML 2 classes (Java code and jsp pages) and I'm trying to select the best tool for the job.|
I found a decent amount of documentation for Acceleo and examples, it is reasonably straightforward to generate java code from UML.
Xpand seems quite powerful but I cannot figure out how to get started and not sure what kind of advantages I would get. Is there any updated documentation?
JET looks like JSP which I would like to avoid. I heard about JET2 but the most recent version is 1.1.
Any clues, recommendations or comments?
|Re: Xpand vs Acceleo vs JET [message #510312 is a reply to message #510287]
||Wed, 27 January 2010 03:34
| Erhard Weinell
Registered: January 2010
Location: Kassel, Germany
Am 27.01.2010 07:17, schrieb Erik Putrycz:
> Xpand seems quite powerful but I cannot figure out how to get started
> and not sure what kind of advantages I would get. Is there any updated
The reference manual is up-to-date as far as I know.
To get started, just create a new Xpand project and choose the "generate
sample" option. From there, you have to add a dependency to the
org.eclipse.uml2.uml plugin, and reference the uml2 metamodel in the
MWE-workflow. BTW, Xtend/Xpand have quite some decent support for UML
profiles, in case you need this.
|Re: Xpand vs Acceleo vs JET [message #510444 is a reply to message #510287]
||Wed, 27 January 2010 09:48
| Paul Elder
Registered: July 2009
With regard to JET. The 1.1 version is the 'in-development' version -
slated for release in June 2010. The most recent released version is
1.0. Both are sometimes know as 'JET2'. JET2 is an evolution of the JET
engine used by EMF (which I sometimes call JET1). Here's a quick rundown
of the differences:
* template language based on JSP-like 'scriptlets' and 'expressions'.
That is, you embed Java statements (scriptlets) and expressions into a
* Each template produces a Java class that transforms a Java Object into
a String object. As a developer, you are responsible for instantiating
this class, passing it the correct object and doing something useful
with the returned string.
* Because of its simplicity, JET1 templates have NO external dependences
other than the ones that you explicitly introduce.
* In additional to scriptlets and expressions, JET2 supports tag
libraries, and provides standard tag libraries for basic flow control,
model access, formatting and writing of template results to an Eclipse
* It is entirely feasible to write JET2 templates that includes no Java
* Further more, it is entirely feasible to write suites of JET2
templates (called a transformation) that traverse a model (such as a
UML2 model) and write results to an Eclipse workspace without writing
any Java code.
* JET2 tags navigate a model via XPath expressions. But this does not
constrain JET2 to reading only XML documents. The XPath engine can adapt
XPath expressions to just about any meta-model. JET2 supports EMF-based
models (including UML2) out of the box.
* JET2 is dependent on Eclipse. JET2 templates and transforms will not
run outside of an Eclipse runtime (although you do not need a UI).
If you are interested, IBM Developer Works has just published an article
on using JET against UML2 models. It should give you an idea of what is
Although it mentions IBM products, as far as I can see, you can
accomplish the same thing using only open source components. The IBM
products mentioned are using JET2 0.9.x. JET2 1.0 includes some
improvements with respect to stereotype access, and some attempts to
shorten markup. See:
Powered by FUDForum
. Page generated in 0.09338 seconds