Thursday, December 10, 2009

Acceleo Code Generation : Let's start with an Android example

This is the title of the tutorial I have just submitted for Eclipse Con 2010

Here is the description of the tutorial :


Acceleo is a pragmatic implementation of the OMG* standard for code generation called MTL*. Still in incubation state, we plan to have Acceleo graduate for the next Eclipse simultaneous release (Helios).

Being an expert at code generation or Acceleo is not necessary to get started on your first code generator : using the Acceleo editor and the powerful features it exposes (completion, syntax highlighting, on-the-fly compilation, quick outline, ...), it is very easy to get started once you understand the most basic principles.

This tutorial presents both the MTL language and the Acceleo Development Toolkit which is provided in the M2T project. Beginners will learn what code generation, M2T, and Acceleo are, as well as how to use them on a concrete case-study. Acceleo addicts will discover the new standard syntax, new functionalities and techniques. We will give you enough of the basics to create your own code generation for a specific target system. We have chosen the Android platform as a target to show that we can also use Acceleo for mobile software.

Here is the tutorial agenda :
- Acceleo : What's that new code generation engine?
- Create an Android prototype and its corresponding model
- Initialize your code generation project from the prototype
- Editing your code generation file to make the Android prototype run
- Launching your code generation on another model example
- Packaging as an eclipse plug-in and for standalone usage
- Create new Android applications in few clicks
- How to override a specific behavior in the target environment
- On the developper side : How to make your own extensions with Acceleo?

We'll end the tutorial with other complex code generation examples made with Acceleo : EEF, UML to Java, Ecore to python, Migrating from a language to another...

*OMG : Object Management Group
*MTL : Model to Text Language

Tuesday, November 10, 2009

Paris Eclipse DemoCamp 2009

The Eclipse DemoCamp comes to Paris the 17th of november at 18h30. I'll present the first Eclipse version of the Acceleo code generator. I hope we will have lot of attendees.

It's free and you can register here :
http://wiki.eclipse.org/Eclipse_DemoCamps_November_2009/Paris

Tuesday, July 7, 2009

Acceleo 2.6 and the next-gen version (0.8) cohabitation

Once you have installed the 2 versions of Acceleo in your eclipse (Acceleo 2.6 and the next-gen version actually named 0.8), you might need to identify the one you really want to use.

At the moment, the reference version is Acceleo 2.6 and all the wizards and the menus of this version are available in an "Acceleo" category. We often use a "Model To Text" category for the next-gen version because we try to use the eclipse projects conventions.

There was a conflict for the Acceleo Perspective, because we can't give the name "Model To Text" to our perspective ;-) , so we decided to change the icon of the Acceleo 2.6 perspective by adding a small "2.6" decorator.

Finally, if you want to disable temporarly the next-gen Acceleo, you can disable the eclipse acceleo capabilities in the general preferences, as in the following screenshot.

Wednesday, July 1, 2009

A wizard to migrate an Acceleo template from a version to another

The next-gen Acceleo has differences with the Acceleo.org one, especially the new syntax based on the MTL OMG standard.

Here is a demonstration of the first version of the wizard that will help you to migrate from the old syntax to the new one.

We are actually working on that. The final tooling will be available on June 2010.

Don't hesitate to track a new bug on the following page if an equivalence is not yet implemented : https://bugs.eclipse.org/bugs/enter_bug.cgi?product=M2T

Saturday, June 27, 2009

Acceleo 2.6.0 is out

Acceleo 2.6.0 is compatible with all the Eclipse releases of the last 4 years, named Eclipse Galileo (June 2009), Eclipse Ganymede (June 2008), Eclipse Europa (June 2007) and Eclipse Callisto (June 2006).

Acceleo.org was created 4 years ago, and as the time goes, the Team has been more and more convinced that the MOF Model To Text OMG specification was the way to go for the project. We started to code a reference implementation for the standard within the Eclipse M2T project. We have managed to provide nice tooling, simple syntax and efficient code generation with all the pragmatism we had about Acceleo.org. There aren't a lot of differences between the old version of acceleo and the new one.

We are confident that the Acceleo community gain value from moving to a self hosted project to an Eclipse one, and that end users will follow the transfert from Acceleo.org to Eclipse.org as we will provide the same level of functionnalities and we will insure an interoperability between the old syntax and the new syntax (the standard one).

The Acceleo Team will continue to maintain the old syntax of Acceleo outside of eclipse (www.acceleo.org ) during some few years, but the new versions and the new features will take place on Eclipse.org. In the next release you'll have an automated tooling helping you to migrate your templates from a syntax to another.

For Acceleo lover, you will find in Eclipse Acceleo everything you have loved in the Acceleo.org version and more (the standard compliance with more documentation). This specification is really a good one: http://www.omg.org/spec/MOFM2T/1.0/

At the moment, those who need a perfect stability must continue to use the Acceleo.org version (2.6). As time goes on, Eclipse Acceleo is better and better and you can already have a try right now (0.8). That said, we still need some few month to get the same stability level between our current stable version and the new one. The next generation Acceleo will be ready for the next Eclipse simultaneous release (Helios).

Thursday, April 9, 2009

Acceleo roadmap : Eclipse foundation and MTL standard

Hi,

Acceleo.org was created 4 years ago, and as the time goes, the Team has been more and more convinced that the MOF Model To Text OMG specification was the way to go for the project. More than one year ago now, we started to code a reference implementation for the standard within the Eclipse M2T project - named MTL. We're now convinced that we'll manage to provide nice tooling, simple syntax and efficient code generation with all the pragmatism we had about Acceleo.org and we asked
the Eclipse Foundation to rename MTL in "Acceleo".

Our goal is this one: a transparent development strategy and stop having two similar projects in 2 places : Eclipse MTL and Acceleo, but in a near future, promote just the Eclipse one as the "Next Gen Acceleo".

We are confident that the Acceleo community gain value from moving to a self hosted project to an Eclipse one, and that end users will follow the transfert from Acceleo.org to Eclipse.org as we will provide the same level of functionnalities and we will insure an interoperability between the old syntax and the new syntax (the standard one).

Don't worry. There aren't a lot of differences between the old version of acceleo and the new one

The Acceleo Team will continue to maintain the old syntax of Acceleo outside of eclipse (www.acceleo.org ) during some few years, but the new versions and features will take place on Eclipse.org. In the next few days you'll get an automated tooling helping you to migrate your templates from a syntax to another.

For Acceleo lover, you will find in Eclipse Acceleo everything you have loved in the Acceleo.org version and more (the standard compliance with more documentation)
This specification is really a good one : http://www.omg.org/spec/MOFM2T/1.0/

At the moment, those who need a perfect stability must continue to use the Acceleo.org version. As time goes on, Eclipse Acceleo is better and better and you can already have a try right now. That said, we still need a couple of month to get the same stability level between our current stable version and the new one.

I'm sure that Eclipse Acceleo will be a success ;-)
You can download the first builds (0.8.0) here :
http://www.eclipse.org/modeling/m2t/downloads/?project=acceleo


A presentation of Eclipse Acceleo took place at Eclipse Conference and had nice feedbacks.
http://www.eclipsecon.org/2009/sessions?id=387

Congrats to all the commiters and contributors involved in the first stable version of this component