Integration within eclipse
Development cycle management
Aiming at 100% code generation is not always the most efficient choice. Hand-coding is often faster and more maintainable than modeling.
Acceleo deals with incremental generation, by defining specific coding zones with user tags. These zones are conserved when generating again.
Acceleo offers an appropriate solution to avoid the extremist policy "Everything has to be specified within the model". We prefer "Use tools for what they are best for".
Additionaly, we deliver Acceleo with an integrated chain generation system. Project generation chainings is very easy and quickly customized.
Ability to cope with high level abstract models
Given a simple modelled class, it becomes easy to generate several files, such as XML files, Java classes, web service descriptors... We name this "asymetric generation".
With Acceleo you can embed architecture concepts and patterns in your modules and then guarantee best development practices are used automatically and consistently.
A model is not any more a contemplative artefact, but a real added value abstraction used in a productive way.
Example : You have to model a business object implemented as an EJB. Would you rather :
Acceleo syntax is designed to guarantee full visibility on the technical generated implementation.
It is the result of many years of experience with template generation technologies and provides peerless efficiency, maintainability and ability to evolve for modules.
Acceleo is based on the main industry standards to guarantee high level compatibility, interoperability and durability.
Acceleo is especially compatible with XMI 1.x and XMI 2, ensuring compatiblity with the main UML modelers on the market (RSM, Together, Poseidon, ...).
Acceleo was designed to work with any meta-model, implementing MOF and QVT recommandations as specified by the OMG.
So new UML versions or even any other meta-model can be instantly used with Acceleo.
In addition, Acceleo is independent from the targetted technology. You may generate Java, XML, documentation or any other textual format (C, VB, Cobol.....).