Contenu connexe
Similaire à 09 Eef Powered By Acceleo Mtl Acceleo Mtl ... And Punishment! Obeo (10)
09 Eef Powered By Acceleo Mtl Acceleo Mtl ... And Punishment! Obeo
- 1. EEF powered by Acceleo
Eclipse Acceleo ... and punishment !
Goulwen Le Fur - goulwen.lefur@obeo.fr
Obeo
France
1
- 2. EEF powered by Eclipse Acceleo
Eclipse Acceleo ... and punishment !
The need
© Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
- 3. EEF powered by Eclipse Acceleo
Eclipse Acceleo ... and punishment !
History
First project : Acceleo.org on Ecore
Second project (papyrus part I) : Acceleo.org on DSL
Iteration of the first project : Eclipse Acceleo on DSL
EEF
Update of papyrus : EEF
© Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
- 4. EEF powered by Eclipse Acceleo
Eclipse Acceleo ... and punishment !
What is EEF ?
© Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
- 5. EEF powered by Eclipse Acceleo
Eclipse Acceleo ... and punishment !
What is EEF ?
© Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
- 6. EEF powered by Eclipse Acceleo
Eclipse Acceleo ... and punishment !
EEF Runtime
© Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
- 7. EEF powered by Eclipse Acceleo
Eclipse Acceleo ... and punishment !
What is EEF ?
© Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
- 8. EEF powered by Eclipse Acceleo
Eclipse Acceleo ... and punishment !
EEF Metamodels
© Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
- 9. EEF powered by Eclipse Acceleo
Eclipse Acceleo ... and punishment !
EEF Metamodels
© Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
- 10. EEF powered by Eclipse Acceleo
Eclipse Acceleo ... and punishment !
EEF Metamodels
© Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
- 11. EEF powered by Eclipse Acceleo
Eclipse Acceleo ... and punishment !
What is EEF ?
© Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
- 12. EEF powered by Eclipse Acceleo
Eclipse Acceleo ... and punishment !
EEF Editing Environment
© Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
- 13. EEF powered by Eclipse Acceleo
Eclipse Acceleo ... and punishment !
What is EEF ?
© Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
- 14. EEF powered by Eclipse Acceleo
Eclipse Acceleo ... and punishment !
EEF Generators
© Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
- 15. EEF powered by Eclipse Acceleo
Eclipse Acceleo ... and punishment !
EEF Generators
© Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
- 16. EEF powered by Eclipse Acceleo
Eclipse Acceleo ... and punishment !
Some results
© Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
- 17. EEF powered by Eclipse Acceleo
Eclipse Acceleo ... and punishment !
EEF Acceleo module
EEF generates code with an Acceleo module
Currently 25 templates
16 create files
9 provide generic services
Organized in 6 packages
Like in Acceleo.org
© Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
- 18. EEF powered by Eclipse Acceleo
Eclipse Acceleo ... and punishment !
EEF Acceleo module
The EEF module also contains an initializer
Creates default EEF models from a given metamodel
Initializers can be added by extension points
© Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
- 19. EEF powered by Eclipse Acceleo
Eclipse Acceleo ... and punishment !
Acceleo : a standard
At the first steps EEF was based on Acceleo.org
Quickly done (but poor in features at this time)
Some bugs due to the use of Ecore and GenModel
But creation very easy (stability !)
Module not packaged at this time
For the second version we had the new Acceleo with a
standard syntax (MTL)
And we wanted to become and Eclipse Project
So we decided to switch on the new version
© Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
- 20. EEF powered by Eclipse Acceleo
Eclipse Acceleo ... and punishment !
The light side of the Standard
Syntax more precise in some case
End of blocks ([/template], …)
Distinction template/query/...
Syntax more powerful in some case
Generating 1 file for a couple of Eobjects
Guards
Template extension
© Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
- 21. EEF powered by Eclipse Acceleo
Eclipse Acceleo ... and punishment !
“I have never been lost, but I will admit to being
confused for several weeks” (Daniel Boone)
EEF was the first « real » Acceleo module
With many trap for code generation
Many surprises for the first users
Problems in the engine
Problems in the parsers
Problems with indentation
Fortunately the Acceleo Team was very efficient to help us
to fix this problems
© Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
- 22. EEF powered by Eclipse Acceleo
Eclipse Acceleo ... and punishment !
The A-cceleo Team
Promotional picture of the cast of The A-Team. Retrieved from NBC.com:
Vintage Shows - The A-Team on February 19, 2009
Thanks ! All is fixed !
© Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
- 23. EEF powered by Eclipse Acceleo
Eclipse Acceleo ... and punishment !
The dark side of the standard
Navigation in OCL
What a complexity !
No java services
Everything to be describe in OCL
Cf the first point
Management of the string less powerful than in Acceleo.org
Unicode
...
© Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
- 24. EEF powered by Eclipse Acceleo
Eclipse Acceleo ... and punishment !
Thanks again to the Acceleo Team
Non-standard library
Use of OCL 1.3
Use of tricks
Template encoding for example
And the Acceleo Team works to
simplify as much as possible the
OCL standard and the use of Acceleo
© Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
- 25. EEF powered by Eclipse Acceleo
Eclipse Acceleo ... and punishment !
No pain ...
© Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
- 26. EEF powered by Eclipse Acceleo
Eclipse Acceleo ... and punishment !
… no gain
Now EEF is an eclipse project
We have more and more user
Pole Emploi (former Unedic)
Thales
Papyrus
And we have so many ideas to make an even better use of
Acceleo
And improve EEF by this way ...
© Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
- 27. EEF powered by Eclipse Acceleo
Eclipse Acceleo ... and punishment !
Thanks for your attention, any question ?
goulwen.lefur@obeo.fr
Further information :
http://www.obeo.fr
http://www.eclipse.org/proposals/eef
© Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009