QVT & MTL In Eclipse

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    QVT & MTL In Eclipse - Presentation Transcript

    1. OMG model transformation standard in Eclipse 2 similar experiences : QVT-R and MTL ... Jonathan Musset jonathan.musset@obeo.fr quentin.glineur@obeo.fr Obeo France © Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
    2. Obeo  8 Eclipse commiters  Eclipse Modeling Project  M2M  Declarative QVT  ATL industrialization  M2T : MTL  EMF : EMF Compare  Eclipse STP – SCA  OW2 Consortium - Acceleo © Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
    3. OMG OMG adopts standard  To facilitate portability, interoperability and reusability Needs for software development  System complexity, Business ability, Projects duration Solution : MDA approach  High level design models at the heart of the development process Software development automation Benefits : Productivity, agility, reliability © Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
    4. OMG Two complementary approaches for automation  Model To Model QVT addresses the needs of model – to – model transformation PIM – to – PIM, PIM – to – PSM, PSM – to – PSM... MOF Model To Text MTL : How to translate a model to various text artifacts? PSM – to – code, PSM – to – report... © Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
    5. Working with model transformations in Eclipse ? © Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
    6. M2M : Transform models to models  ATL - Atlas Transformation Language  QVTOM - Procedural QVT (Operational Mappings)  QVTR - Declarative QVT (Core and Relations)  Java/EMF? © Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
    7. M2T : Generate text from models  3 languages JET : JSP-like template files MTL : OMG Standard Xpand : OAW Language  1 framework M2T Core With a Backend, Like a VM © Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
    8. M2M : Focus on QVT Relations  Work started in August 2007  History and roadmap Common proposal Obeo-Lina in July 2007 Initial implementation : QVT-R compiler targeting ATL-VM First release in February 2008 - Run a QVT-R transformation (check and enforce) Next steps : Design and edit within the Eclipse IDE QVT-Core targeting ATL-VM © Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
    9. M2M : Focus on QVT Relations  Architecture « An abstract and a concrete syntax » Driven by the will to reuse some existing Eclipse components Generation of the ATL Virtual Machine byte code © Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
    10. M2T : Focus on MTL  Work started in January 2008  History and roadmap Relaunch proposal in December 2007 First stable version in June 2008 Standalone engine and parser Abstract syntax compliance – model form Concrete syntax compliance – concrete syntax form (Text explicit only) First release in June 2009 Eclipse IDE components : editors, builders... Core feature compliance : Template, Query, and Module. First step for the Advanced feature compliance © Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
    11. M2T : Focus on MTL  Architecture « An abstract and a concrete syntax » Driven by the will to reuse some existing Eclipse components : EMF, M2T, OCL © Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
    12. A standard in Eclipse – What does it mean?  Reusing frameworks : EMF, M2T Backend...  Interoperability with strategic languages QVT - ATL MTL - JET - Xpand  Ecore vs MOF QVT Relations abstract syntax is defined as an extension of MOF MTL abstract syntax is also defined as an extension of MOF In Eclipse, We have to use Ecore and EMF... EMF URI to identify a metamodel – An interoperability issue © Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
    13. A standard in Eclipse – What does it mean?  What can we do when an Eclipse concept is better? A transformation module is an eclipse plugin... What else? The MANIFEST.MF file should be used to declare dependencies between modules EMF URI problems : “plugin” or “workspace”?  © Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
    14. Not easy to ensure interoperability with other standard tools (1) © Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
    15. An ambiguity in the specification – What can I do?  OMG Help All specifications are subject to continuous review and improvement The OMG encourages readers to report any ambiguities But, not easy to make changes in the specification (a lot of authors) We need a human understanding to solve ambiguities  MTL experience We haven't 200 pages 2 authors of the specifications are in the team Arjan Kok Wim Bast A solution? The best way to solve ambiguities © Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
    16. What kind of ambiguities? © Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
    17. Ambiguities - QVT Relations  The “delete” semantic A domain hasn't DIRECTION OD.DIRECTION => OD.TYPED_MODEL?  Naming issues \"ISCHECKED\" in the semantic and \"isCkeckable\" in the meta-model © Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
    18. Ambiguities - QVT Relations  The “enforce” semantic What is the difference between “domain_pattern” and “domain_condition”? Semantic : Is “domain_pattern” a boolean? © Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
    19. Ambiguities - QVT Relations  The QVT Base Package Redundancy – TemplateExpression (referredClass == bindsTo.type) ➔ TemplateExpression's bind to a Variable (typed element) ➔ ObjectTemplateExpression's subtype © Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
    20. Ambiguities - MTL  Naming conventions The plural mustn't end with 's' © Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
    21. Ambiguities - MTL  ProtectedArea (interoperability issue) The delimiters of the protected area are not defined is the standard It should define how to specify the target delimiter in the generated code © Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
    22. Ambiguities - MTL  The given meta-model isn't valid © Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
    23. Ambiguities – QVT and MTL  String libraries are different QVT : toFirstUpper MTL : toUpperFirst  Link resolution : MTL example - TemplateInvocation Meta-model : The “definition” reference to the invoked template must be set and a template can be in another plugin. Real life : The compiler can't choose the template to invoke Solution : string, template registry, classloader...  QVT and MTL interoperability Is it possible to call a MTL template in a QVT transformation? © Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
    24. Not easy to ensure interoperability with other standard tools (2) © Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
    25. Conclusion  Abstract syntax – priority is Eclipse (execution)  Concrete syntax – priority is the specification (reusability)  OMG - QVT and MTL interoperability?  Eclipse - M2T and M2M interoperability?  OMG Specifications and Eclipse Projects interoperability ;-) © Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
    26. Thanks for your attention, any question ?  Further information :  http://www.omg.org/  http://www.eclipse.org/m2m  http://www.eclipse.org/m2t  http://www.obeo.fr © Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
    SlideShare Zeitgeist 2009

    + Jonathan MussetJonathan Musset Nominate

    custom

    770 views, 0 favs, 0 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 770
      • 770 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 14
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories