[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[News.eclipse.technology.mddi] Re: Accelo

In term of syntax, Acceleo is part of the same tool generation as oaw or MOFScript. So the tree like syntax is the ability to navigate through
the model by browsing features (attributes and associations) as you said but also to chain them with call to other templates and Java services.
The idea with this syntax is to keep the template as clean and easy to read as possible, by keeping it centered on the text to generate rather
than on the model navigation code.

how can you generate any useful code if you cannot navigate/query/select
the model? from our our perspective, you also need features such as template
polymorphism as well as aspects on template level to be able to keep the
complexity within reasonable bounds when the generator grows.


Acceleo also deals with incremental generation allowing final users to add code within the generated files without loosing it when generating again.

that's a feature that basically all code generators support. I think, however, that encouraging this way of mixing generated and manually written code is not a good idea, it creates all kinds of versioning nightmares.

Finally, Acceleo has a chaining system making it convenient for developers to apply several templates on models.

What is a chainign system? Can't you simply call templates from other templates? Can you elaborate?

eAllContents("Class").select("name.endsWith('EJB')")
enables you to work on all classes ending with "EJB" string for exemple.

the condition itself (name.endsWith('EJB')) is passed in as a String, right? So your editor cannot provide support?

Acceleo may not be designed to answer all needs, so I believe it can be very convenient and do nice things, but you may find it notappropriate if you have extensive needs for model navigation.

Again, how can you generate code if you can't conveniently navigate the model?

Markus

--
Markus Völter

voelter - ingenieurbüro für softwaretechnologie
Ziegeläcker 11, 89520 Heidenheim, Germany
Tel. +49 (0) 171 / 86 01 869
Email: voelter@xxxxxxx

Web: http://www.voelter.de
Blog: http://www.voelter.de/blog
Podcast: http://www.se-radio.net

PGP Public Key: http://www.voelter.de/data/MarkusVoelter.gpg