from acceleo.org to eclipse modeling

24
1 Cédric Brun [email protected] From Acceleo.org to Eclipse Modeling Obeo Migrating an OSS project to Eclipse France

Upload: cedric-brun

Post on 10-May-2015

3.393 views

Category:

Technology


0 download

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

Page 1: From Acceleo.org To Eclipse Modeling

1

Cédric Brun [email protected]

From Acceleo.org to Eclipse Modeling

Obeo

Migrating an OSS project to Eclipse

France

Page 2: From 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

Once upon a time ...(a story of an OSS project building its own community and

then moving to Eclipse)

Page 3: From 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

Page 4: From 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

Page 5: From 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

● 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

Page 6: From 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

Then people gathered ...(well, we had to bring them together..)

Page 7: From 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

● 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

Page 8: From 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

● 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

Page 9: From 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

Ring a bell ?

Page 10: From 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

In the meantime

● OMG released the MOF Model To Text Language Specification● The Acceleo core team is convinced it's the way to go

Page 11: From 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

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 !

Page 12: From 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

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 »

Page 13: From 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

Keeping the spirit

Page 14: From 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

Acceleo's new implementation aka : Eclipse Acceleo

● Starting from scratch● Usable everywhere : Java jar, OSGi, Eclipse RCP or IDE● State of the Art ++ Tooling

Page 15: From 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

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

Page 16: From 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

But changing ...(for the good)

Page 17: From 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

Acceleo Syntax – Model to Text Language (MTL)

D:\Users\Jonathan\Obeo\todo\eclipse-con-2009\videos\05-acceleo-syntax.htm

Page 18: From 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

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 ..)

Page 19: From 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

Protected Areas (STD) / Jmerge (Non-STD)

Dynamic contributions / Template Aspects

Java, ATL, QVTO Invokation

Overrides view

Better, Faster, Stronger...

Page 20: From 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

Dealing with the change and going forward

Page 21: From 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

Assisted migration

D:\Users\Jonathan\Obeo\todo\eclipse-con-2009\videos\10-acceleo-migrate.htm

Page 22: From 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

● 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..

Page 23: From 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

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

Page 24: From 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

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

[email protected]

M2T newsgroup, mailling list and #acceleo or #eclipse-modeling on freenode