from acceleo.org to eclipse modeling
DESCRIPTION
Acceleo.org was created many years ago outside of Eclipse... We created a real open source community around this Code Generation tool, with a public repository, a website, a wiki, a mailing list, a newsgroup, and an aggregation of blogs like the planet Eclipse one. Acceleo project won the Eclipse Award in the category "Best Open Source Eclipse-Based Developer Tool" rewarding several years of work of the Acceleo community to produce one of the best tool for model driven development. 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 and as we started to code we decided to move within the Eclipse M2T project changing the syntax to conform to the standard but keeping the spirit and pragmatism we had for Acceleo.org. We had our first stable release for the Galileo train, are planning to maintain the Acceleo.org implementation for years but the next generation Acceleo will be perfectly ready for the next Eclipse simultaneous release (Helios). We are confident that the Acceleo community is gaining 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 but such a move has impacts, both from a technical and community point of view : this talk will focus on those impacts, describing the change between both projects and providing experience feedback : Why did the project moved? How? What are the benefits for the Acceleo community and for the modeling project? What have been the community constraints? How to handle, technically, this kind of move ? What does moving to an OMG standard implementation mean for the users ? This talk will tackle all those issues while demonstrating changes through demos.TRANSCRIPT
1
Cédric Brun [email protected]
From Acceleo.org to Eclipse Modeling
Obeo
Migrating an OSS project to Eclipse
France
© Copyright 2009 Obeo made available under the EPL v1.0 | 27 October, 2009
Migrating an OSS Project to EclipseFrom Acceleo.org to Eclipse Modeling
Once upon a time ...(a story of an OSS project building its own community and
then moving to Eclipse)
© Copyright 2009 Obeo made available under the EPL v1.0 | 27 October, 2009
Migrating an OSS Project to EclipseFrom Acceleo.org to Eclipse Modeling
© Copyright 2009 Obeo made available under the EPL v1.0 | 27 October, 2009
Migrating an OSS Project to EclipseFrom Acceleo.org to Eclipse Modeling
● Built on Eclipse● GPL Licensed● Mainly an Obeo effort● OW2 consortium
Acceleo Core Tooling
© Copyright 2009 Obeo made available under the EPL v1.0 | 27 October, 2009
Migrating an OSS Project to EclipseFrom Acceleo.org to Eclipse Modeling
● Pragmatism : create a dedicated tool and keep using the others● State of the art tooling ● Easy to start with● Magic inside
Spirit ...
Picture under creativecommons.org/licenses/by/2.0/deed.fr, author : bageta
© Copyright 2009 Obeo made available under the EPL v1.0 | 27 October, 2009
Migrating an OSS Project to EclipseFrom Acceleo.org to Eclipse Modeling
Then people gathered ...(well, we had to bring them together..)
© Copyright 2009 Obeo made available under the EPL v1.0 | 27 October, 2009
Migrating an OSS Project to EclipseFrom Acceleo.org to Eclipse Modeling
● EPL licensing● Active presence both on Web and Real World
Generated code is a bridge between your model and any technology (and as such, any community)
Building the community
© Copyright 2009 Obeo made available under the EPL v1.0 | 27 October, 2009
Migrating an OSS Project to EclipseFrom Acceleo.org to Eclipse Modeling
● Acceleo Modules Repository ● JEE , C#, Python, PHP, C, Java, Zope,
Leonardi, ...
● Component lead, incubation status● Ecosystem : Cap Gemini NL, Makina Corpus, Lyria ...
SVN hosting, bug tracker, simultaneous release
© Copyright 2009 Obeo made available under the EPL v1.0 | 27 October, 2009
Migrating an OSS Project to EclipseFrom Acceleo.org to Eclipse Modeling
Ring a bell ?
© Copyright 2009 Obeo made available under the EPL v1.0 | 27 October, 2009
Migrating an OSS Project to EclipseFrom Acceleo.org to Eclipse Modeling
In the meantime
● OMG released the MOF Model To Text Language Specification● The Acceleo core team is convinced it's the way to go
© Copyright 2009 Obeo made available under the EPL v1.0 | 27 October, 2009
Migrating an OSS Project to EclipseFrom Acceleo.org to Eclipse Modeling
Why Eclipse ?● Obeo's involvement in Eclipse Modeling● Visibility, users and easier integration with other projects● OMG's reference implementations are in Eclipse● We loved the « Best Open Source Eclipse-Based Developer Tool » award !
© Copyright 2009 Obeo made available under the EPL v1.0 | 27 October, 2009
Migrating an OSS Project to EclipseFrom Acceleo.org to Eclipse Modeling
The challenges
● Keeping the spirit whereas moving to the OMG standard● Keeping the project's user base● Keeping what made the project successful at first ● Playing well : « The Eclipse Way »
© Copyright 2009 Obeo made available under the EPL v1.0 | 27 October, 2009
Migrating an OSS Project to EclipseFrom Acceleo.org to Eclipse Modeling
Keeping the spirit
© Copyright 2009 Obeo made available under the EPL v1.0 | 27 October, 2009
Migrating an OSS Project to EclipseFrom Acceleo.org to Eclipse Modeling
Acceleo's new implementation aka : Eclipse Acceleo
● Starting from scratch● Usable everywhere : Java jar, OSGi, Eclipse RCP or IDE● State of the Art ++ Tooling
© Copyright 2009 Obeo made available under the EPL v1.0 | 27 October, 2009
Migrating an OSS Project to EclipseFrom Acceleo.org to Eclipse Modeling
Features among others● Core language
● OMG-MTL implementation ● Template imports, inheritance and guards● Text indent, encoding management
●Tooling :● Init wizards, editors with advanced completion, validation, quick fixes, show
references...● Views to manage overrides , patterns● Debugger, Performances Profiler● Automatically generated Java API for your templates
© Copyright 2009 Obeo made available under the EPL v1.0 | 27 October, 2009
Migrating an OSS Project to EclipseFrom Acceleo.org to Eclipse Modeling
But changing ...(for the good)
© Copyright 2009 Obeo made available under the EPL v1.0 | 27 October, 2009
Migrating an OSS Project to EclipseFrom Acceleo.org to Eclipse Modeling
Acceleo Syntax – Model to Text Language (MTL)
D:\Users\Jonathan\Obeo\todo\eclipse-con-2009\videos\05-acceleo-syntax.htm
© Copyright 2009 Obeo made available under the EPL v1.0 | 27 October, 2009
Migrating an OSS Project to EclipseFrom Acceleo.org to Eclipse Modeling
OMG Specification
Helios : complete support excepted Macros and code explicit syntax
Compliance Level
Standard evolution at the OMG
Interactions with the OMG are slooooooow
STD versus Non-STD library for blocker features (encoding ..)
© Copyright 2009 Obeo made available under the EPL v1.0 | 27 October, 2009
Migrating an OSS Project to EclipseFrom Acceleo.org to Eclipse Modeling
Protected Areas (STD) / Jmerge (Non-STD)
Dynamic contributions / Template Aspects
Java, ATL, QVTO Invokation
Overrides view
Better, Faster, Stronger...
© Copyright 2009 Obeo made available under the EPL v1.0 | 27 October, 2009
Migrating an OSS Project to EclipseFrom Acceleo.org to Eclipse Modeling
Dealing with the change and going forward
© Copyright 2009 Obeo made available under the EPL v1.0 | 27 October, 2009
Migrating an OSS Project to EclipseFrom Acceleo.org to Eclipse Modeling
Assisted migration
D:\Users\Jonathan\Obeo\todo\eclipse-con-2009\videos\10-acceleo-migrate.htm
© Copyright 2009 Obeo made available under the EPL v1.0 | 27 October, 2009
Migrating an OSS Project to EclipseFrom Acceleo.org to Eclipse Modeling
● 2010 : website and infrastructures progressively moving to Eclipse.org● Generator modules : a decision by each lead
● Rock stable, graduated and production-ready release : Eclipse Helios
Next steps
Events● Sprints● Eclipse Acceleo Day● Eclipse DemoCamp at Paris● Conferences : ESE, Econ, Linux Solutions..
© Copyright 2009 Obeo made available under the EPL v1.0 | 27 October, 2009
Migrating an OSS Project to EclipseFrom Acceleo.org to Eclipse Modeling
We still have to evaluate the benefit of this move, positive feedback so far.
In the Galileo/Helios Train and Eclipse Modeling Package
Ready to use, try it !
Eclipse Project using Acceleo : EEF – talk at 2:20pm on Thursday
Examples are available : uml to java, ecore to python
Conclusion
© Copyright 2009 Obeo made available under the EPL v1.0 | 27 October, 2009
Migrating an OSS Project to EclipseFrom Acceleo.org to Eclipse Modeling
Thanks for your attention
Further information :
http://www.eclipse.org/m2t
http://www.omg.org/docs/ptc/07-08-16.pdf
http://www.obeo.fr
http://www.eclipse.org/proposals/eef
M2T newsgroup, mailling list and #acceleo or #eclipse-modeling on freenode