Acceleo MTL
 A Standard Alternative for Code Generation

       Cédric Brun     cedric.brun@obeo.fr



       Obeo
       France



                                              1
Acceleo MTL
                                                          A Standard Alternative for Code Generation




Eclipse Strategic Member

Eclipse Modeling Project
     M2T : Acceleo
M2M : ATL
EMFT : EMF Compare, EEF
Papyrus UML, OCL, ...



Eclipse STP – SCA



      © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
Acceleo MTL
                                                         A Standard Alternative for Code Generation




Generating Code ?




     © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
Acceleo MTL
                                                    A Standard Alternative for Code Generation




© Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
Acceleo MTL
                                                    A Standard Alternative for Code Generation




      Code Generation




© Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
Acceleo MTL
                                                          A Standard Alternative for Code Generation




Some people are already using it ...
                                           (and suffered for you...)




      © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
Acceleo MTL
                                                                  A Standard Alternative for Code Generation




EEF     Extended Editing Framework

the first available use case




              © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
Acceleo MTL
                                                     A Standard Alternative for Code Generation




D:UsersJonathanObeotodoeclipse-con-2009videos01-papyrus-properties.htm


D:UsersJonathanObeotodoeclipse-con-2009videos02-papyrus-code.htm


D:UsersJonathanObeotodoeclipse-con-2009videos03-papyrus-config.htm


D:UsersJonathanObeotodoeclipse-con-2009videos04-eef-gen-templates.htm




© Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
Acceleo MTL
                                                          A Standard Alternative for Code Generation




What's that Acceleo Next Gen Stuff ?




      © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
Acceleo MTL
                                                            A Standard Alternative for Code Generation



Acceleo Syntax – Model to Text Language (MTL)




                D:UsersJonathanObeotodoeclipse-con-2009videos05-acceleo-syntax.htm




        © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
Acceleo MTL
                                                              A Standard Alternative for Code Generation



Editing Features in Eclipse : Completion, F3...




         D:UsersJonathanObeotodoeclipse-con-2009videos06-acceleo-editor-features.htm




         © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
Acceleo MTL
                                                             A Standard Alternative for Code Generation



User Code

Protected Areas



JMerge




         © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
Acceleo MTL
                                                             A Standard Alternative for Code Generation



Create and run your first module in 2 clicks




          D:UsersJonathanObeotodoeclipse-con-2009videos07-acceleo-new-module.htm




         © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
Acceleo MTL
                                                             A Standard Alternative for Code Generation


Debugging modules




       D:UsersJonathanObeotodoeclipse-con-2009videos08-acceleo-debug.htm




        © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
Acceleo MTL
                                                             A Standard Alternative for Code Generation



Packaging – Create a Popup Action to Generate




                                                                                     09-acceleo-ui-runner




         © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
Acceleo MTL
                                                              A Standard Alternative for Code Generation



Advanced Eclipse Features
 Dynamic contributions / Template Aspects




          © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
Acceleo MTL
                                                               A Standard Alternative for Code Generation



Advanced Eclipse Features
 Java invocation




 M2M and M2T interoperability (coming soon)




           © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
Acceleo MTL
                                                          A Standard Alternative for Code Generation




But, why should I bother to migrate ?




      © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
Acceleo MTL
                                                               A Standard Alternative for Code Generation



Acceleo : Migrate from a version to another...




        D:UsersJonathanObeotodoeclipse-con-2009videos10-acceleo-migrate.htm




          © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
Acceleo MTL
                                                              A Standard Alternative for Code Generation


OMG Specification

 Compliance Level




 STD versus Non-STD library                                        80% for Galileo

 Standard evolution at the OMG




          © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
Acceleo MTL
                                                              A Standard Alternative for Code Generation



Traceability for Generation Preview




               D:UsersJonathanObeotodoeclipse-con-2009videos10-acceleo-traceability.htm




         © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
Acceleo MTL
                                                              A Standard Alternative for Code Generation


Roadmap
 2010 : all the website and infrastructures moved to
 Eclipse.org
 Rock stable and production-ready release : Eclipse Helios
 Simpler model navigation syntax
 STD versus Non-STD validation markers
 Migration tooling from .mt to .mtl
 Acceleo.org maintenance builds




          © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
Acceleo MTL
                                                                 A Standard Alternative for Code Generation



  Conclusion

In the Galileo Train and Eclipse Modeling Package




Ready to use, try it !

Examples are available : uml to java, ecore to python




             © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
Acceleo MTL
                                                                              A Standard Alternative for Code Generation




                                 Thanks for your attention



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



Further information :
http://www.eclipse.org/m2t
                                                                                               cedric.brun@obeo.fr
http://www.omg.org/docs/ptc/07-08-16.pdf
http://www.obeo.fr
http://www.eclipse.org/proposals/eef



                          © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009

Acceleo Day - Acceleo Mtl Code Generation

  • 1.
    Acceleo MTL AStandard Alternative for Code Generation Cédric Brun cedric.brun@obeo.fr Obeo France 1
  • 2.
    Acceleo MTL A Standard Alternative for Code Generation Eclipse Strategic Member Eclipse Modeling Project M2T : Acceleo M2M : ATL EMFT : EMF Compare, EEF Papyrus UML, OCL, ... Eclipse STP – SCA © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
  • 3.
    Acceleo MTL A Standard Alternative for Code Generation Generating Code ? © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
  • 4.
    Acceleo MTL A Standard Alternative for Code Generation © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
  • 5.
    Acceleo MTL A Standard Alternative for Code Generation Code Generation © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
  • 6.
    Acceleo MTL A Standard Alternative for Code Generation Some people are already using it ... (and suffered for you...) © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
  • 7.
    Acceleo MTL A Standard Alternative for Code Generation EEF Extended Editing Framework the first available use case © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
  • 8.
    Acceleo MTL A Standard Alternative for Code Generation D:UsersJonathanObeotodoeclipse-con-2009videos01-papyrus-properties.htm D:UsersJonathanObeotodoeclipse-con-2009videos02-papyrus-code.htm D:UsersJonathanObeotodoeclipse-con-2009videos03-papyrus-config.htm D:UsersJonathanObeotodoeclipse-con-2009videos04-eef-gen-templates.htm © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
  • 9.
    Acceleo MTL A Standard Alternative for Code Generation What's that Acceleo Next Gen Stuff ? © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
  • 10.
    Acceleo MTL A Standard Alternative for Code Generation Acceleo Syntax – Model to Text Language (MTL) D:UsersJonathanObeotodoeclipse-con-2009videos05-acceleo-syntax.htm © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
  • 11.
    Acceleo MTL A Standard Alternative for Code Generation Editing Features in Eclipse : Completion, F3... D:UsersJonathanObeotodoeclipse-con-2009videos06-acceleo-editor-features.htm © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
  • 12.
    Acceleo MTL A Standard Alternative for Code Generation User Code Protected Areas JMerge © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
  • 13.
    Acceleo MTL A Standard Alternative for Code Generation Create and run your first module in 2 clicks D:UsersJonathanObeotodoeclipse-con-2009videos07-acceleo-new-module.htm © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
  • 14.
    Acceleo MTL A Standard Alternative for Code Generation Debugging modules D:UsersJonathanObeotodoeclipse-con-2009videos08-acceleo-debug.htm © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
  • 15.
    Acceleo MTL A Standard Alternative for Code Generation Packaging – Create a Popup Action to Generate 09-acceleo-ui-runner © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
  • 16.
    Acceleo MTL A Standard Alternative for Code Generation Advanced Eclipse Features Dynamic contributions / Template Aspects © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
  • 17.
    Acceleo MTL A Standard Alternative for Code Generation Advanced Eclipse Features Java invocation M2M and M2T interoperability (coming soon) © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
  • 18.
    Acceleo MTL A Standard Alternative for Code Generation But, why should I bother to migrate ? © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
  • 19.
    Acceleo MTL A Standard Alternative for Code Generation Acceleo : Migrate from a version to another... D:UsersJonathanObeotodoeclipse-con-2009videos10-acceleo-migrate.htm © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
  • 20.
    Acceleo MTL A Standard Alternative for Code Generation OMG Specification Compliance Level STD versus Non-STD library 80% for Galileo Standard evolution at the OMG © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
  • 21.
    Acceleo MTL A Standard Alternative for Code Generation Traceability for Generation Preview D:UsersJonathanObeotodoeclipse-con-2009videos10-acceleo-traceability.htm © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
  • 22.
    Acceleo MTL A Standard Alternative for Code Generation Roadmap 2010 : all the website and infrastructures moved to Eclipse.org Rock stable and production-ready release : Eclipse Helios Simpler model navigation syntax STD versus Non-STD validation markers Migration tooling from .mt to .mtl Acceleo.org maintenance builds © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
  • 23.
    Acceleo MTL A Standard Alternative for Code Generation Conclusion In the Galileo Train and Eclipse Modeling Package Ready to use, try it ! Examples are available : uml to java, ecore to python © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009
  • 24.
    Acceleo MTL A Standard Alternative for Code Generation Thanks for your attention M2T newsgroup and mailling list #acceleo or #eclipse-modeling on freenode Further information : http://www.eclipse.org/m2t cedric.brun@obeo.fr http://www.omg.org/docs/ptc/07-08-16.pdf http://www.obeo.fr http://www.eclipse.org/proposals/eef © Copyright 2009 Obeo.; made available under the EPL v1.0 | July 10, 2009