SlideShare ist ein Scribd-Unternehmen logo
1 von 27
EEF powered by Acceleo
 Eclipse Acceleo ... and punishment !

 Goulwen Le Fur - goulwen.lefur@obeo.fr


 Obeo
 France



                                          1
EEF powered by Eclipse Acceleo
                                                                Eclipse Acceleo ... and punishment !


The need




       © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
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
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
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
EEF powered by Eclipse Acceleo
                                                                 Eclipse Acceleo ... and punishment !



EEF Runtime




        © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
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
EEF powered by Eclipse Acceleo
                                                                 Eclipse Acceleo ... and punishment !



EEF Metamodels




        © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
EEF powered by Eclipse Acceleo
                                                                 Eclipse Acceleo ... and punishment !



EEF Metamodels




        © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
EEF powered by Eclipse Acceleo
                                                                 Eclipse Acceleo ... and punishment !



EEF Metamodels




        © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
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
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
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
EEF powered by Eclipse Acceleo
                                                                 Eclipse Acceleo ... and punishment !



EEF Generators




        © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
EEF powered by Eclipse Acceleo
                                                                 Eclipse Acceleo ... and punishment !



EEF Generators




        © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
EEF powered by Eclipse Acceleo
                                                                   Eclipse Acceleo ... and punishment !




Some results




          © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
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
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
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
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
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
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
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
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
EEF powered by Eclipse Acceleo
                                                                       Eclipse Acceleo ... and punishment !




No pain ...




              © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
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
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

Weitere ähnliche Inhalte

Ähnlich wie 09 Eef Powered By Acceleo Mtl Acceleo Mtl ... And Punishment! Obeo

From Acceleo.org To Eclipse Modeling
From Acceleo.org To Eclipse ModelingFrom Acceleo.org To Eclipse Modeling
From Acceleo.org To Eclipse Modeling
Cédric Brun
 

Ähnlich wie 09 Eef Powered By Acceleo Mtl Acceleo Mtl ... And Punishment! Obeo (10)

From Acceleo.org To Eclipse Modeling
From Acceleo.org To Eclipse ModelingFrom Acceleo.org To Eclipse Modeling
From Acceleo.org To Eclipse Modeling
 
Acceleo MTL Code Generation
Acceleo MTL Code GenerationAcceleo MTL Code Generation
Acceleo MTL Code Generation
 
Riena on-e4-ese2010
Riena on-e4-ese2010Riena on-e4-ese2010
Riena on-e4-ese2010
 
OSGi Versioning & Testing
OSGi Versioning & TestingOSGi Versioning & Testing
OSGi Versioning & Testing
 
CDO Ignite
CDO IgniteCDO Ignite
CDO Ignite
 
Team Work With Models Web
Team Work With Models WebTeam Work With Models Web
Team Work With Models Web
 
EclipseCon 2009: TmL Tutorial
EclipseCon 2009: TmL TutorialEclipseCon 2009: TmL Tutorial
EclipseCon 2009: TmL Tutorial
 
EEF past, present and future
EEF past, present and futureEEF past, present and future
EEF past, present and future
 
EEF You Want Sexy Properties ...
EEF You Want Sexy Properties ...EEF You Want Sexy Properties ...
EEF You Want Sexy Properties ...
 
Eclipse Summit 2009 - Aspect Oriented Modeling
Eclipse Summit 2009 - Aspect Oriented ModelingEclipse Summit 2009 - Aspect Oriented Modeling
Eclipse Summit 2009 - Aspect Oriented Modeling
 

Mehr von glefur (6)

SiriusCon2016 - Let's talk about your future sirius project
SiriusCon2016 - Let's talk about your future sirius projectSiriusCon2016 - Let's talk about your future sirius project
SiriusCon2016 - Let's talk about your future sirius project
 
Acceleo to generate jee applications
Acceleo to generate jee applicationsAcceleo to generate jee applications
Acceleo to generate jee applications
 
Ece2011 ifp obeo
Ece2011 ifp obeoEce2011 ifp obeo
Ece2011 ifp obeo
 
Hithhiker guide to eclipse presentation frameworks galaxy
Hithhiker guide to eclipse presentation frameworks galaxyHithhiker guide to eclipse presentation frameworks galaxy
Hithhiker guide to eclipse presentation frameworks galaxy
 
Eclipse4 et acceleo
Eclipse4 et acceleoEclipse4 et acceleo
Eclipse4 et acceleo
 
Eef 1.0 for eclipse indigo
Eef 1.0 for eclipse indigoEef 1.0 for eclipse indigo
Eef 1.0 for eclipse indigo
 

Kürzlich hochgeladen

The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 

Kürzlich hochgeladen (20)

Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
REMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxREMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptx
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptx
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
 
Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 

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