acceleo mtl code generation

18
© Copyright 2009 Obeo.; made available under the EPL v1.0 | Mar 26, 2009 Jonathan Musset [email protected] Obeo France A standard alternative for code generation : Acceleo MTL...

Upload: jonathan-musset

Post on 10-May-2015

6.833 views

Category:

Technology


0 download

DESCRIPTION

The Eclipse M2T project aims at developing Model To Text tools and reducing the duplicate effort involved in template languages development. Currently, there are three languages components within M2T : JET, Xpand and MTL being the OMG MOF Model to Text implementation. MTL is using OCL for model navigation and query. MTL can generate any technology (Java, C, J2EE frameworks, Php) and with a "production ready" release planned for galileo, MTL is right away a real standard alternative for code generation. Being a community based project, Eclipse MTL puts forward a think tank discussion about specification, implementation and gather overall thoughts on how to provide a long term and successful communication channel between the MTL project and the OMG representatives. The team is composed of the Acceleo's code generator creators and contributors of the MOF 2 Text and QVT-R OMG specifications. The team reuses its knowledge to build an examplary implementation of the OMG standard. We want to be as close as possible to the specification knowing that the understanding of a specification may not always be unique. During this talk, we'll present the Galileo release of the component and its features (Standalone generator engine, full featured editors, live code preview) through businesses examples.

TRANSCRIPT

Page 1: Acceleo MTL Code Generation

© Copyright 2009 Obeo.; made available under the EPL v1.0 | Mar 26, 2009

Jonathan Musset [email protected]

ObeoFrance

A standard alternative for code generation :

Acceleo MTL...

Page 2: Acceleo MTL Code Generation

© Copyright 2009 Obeo.; made available under the EPL v1.0 | Mar 26, 2009

Obeo

Eclipse Modeling Project M2T : MTL M2M : ATL EMF : EMF Compare, EEF Papyrus UML

Eclipse STP – SCA

Acceleo Acceleo MTL

Page 3: Acceleo MTL Code Generation

© Copyright 2009 Obeo.; made available under the EPL v1.0 | Mar 26, 2009

Demo - EEF

Page 4: Acceleo MTL Code Generation

© Copyright 2009 Obeo.; made available under the EPL v1.0 | Mar 26, 2009

Modules and Projects

Page 5: Acceleo MTL Code Generation

© Copyright 2009 Obeo.; made available under the EPL v1.0 | Mar 26, 2009

Template Editor Features

Page 6: Acceleo MTL Code Generation

© Copyright 2009 Obeo.; made available under the EPL v1.0 | Mar 26, 2009

Smart Completion on Syntax Constructs

Page 7: Acceleo MTL Code Generation

© Copyright 2009 Obeo.; made available under the EPL v1.0 | Mar 26, 2009

Smart Completion on Scripts and Meta-model

Page 8: Acceleo MTL Code Generation

© Copyright 2009 Obeo.; made available under the EPL v1.0 | Mar 26, 2009

Open Declaration and Search References

Page 9: Acceleo MTL Code Generation

© Copyright 2009 Obeo.; made available under the EPL v1.0 | Mar 26, 2009

Java Standalone API to run modules

Page 10: Acceleo MTL Code Generation

© Copyright 2009 Obeo.; made available under the EPL v1.0 | Mar 26, 2009

Run As > Ant Build

Page 11: Acceleo MTL Code Generation

© Copyright 2009 Obeo.; made available under the EPL v1.0 | Mar 26, 2009

Running modules

Page 12: Acceleo MTL Code Generation

© Copyright 2009 Obeo.; made available under the EPL v1.0 | Mar 26, 2009

Debugging modules

Page 13: Acceleo MTL Code Generation

© Copyright 2009 Obeo.; made available under the EPL v1.0 | Mar 26, 2009

Module UI – Create a Popup Action to Generate

Page 14: Acceleo MTL Code Generation

© Copyright 2009 Obeo.; made available under the EPL v1.0 | Mar 26, 2009

Dynamic templates

Create templates from an example

Advanced Eclipse Features

Page 15: Acceleo MTL Code Generation

© Copyright 2009 Obeo.; made available under the EPL v1.0 | Mar 26, 2009

OMG Specification – Compliance levels

80% for Galileo

Page 16: Acceleo MTL Code Generation

© Copyright 2009 Obeo.; made available under the EPL v1.0 | Mar 26, 2009

We would like to make MTL as easier as possible

Simplify OCL with a better tool support

OMG Specification – Complex?

Page 17: Acceleo MTL Code Generation

© Copyright 2009 Obeo.; made available under the EPL v1.0 | Mar 26, 2009

Galileo Train

Very useful right now

Examples are available : uml to java, ecore to python

Conclusion

Page 18: Acceleo MTL Code Generation

© Copyright 2009 Obeo.; made available under the EPL v1.0 | Mar 26, 2009

Thanks for your attention, any question ?

Further information : http://www.omg.org/ http://www.eclipse.org/m2t http://www.obeo.fr http://www.eclipse.org/modeling/m2t/downloads/?project=mtl

[email protected]