SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

Similaire à 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
 

Similaire à 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
 

Plus de 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
 

Dernier

Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
ciinovamais
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
QucHHunhnh
 
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
 

Dernier (20)

Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Asian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptxAsian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptx
 
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
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
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).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
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
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
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 

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