SlideShare une entreprise Scribd logo
1  sur  26
Télécharger pour lire hors ligne
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
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
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
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
Working with model transformations in Eclipse ?




© Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
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
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
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
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
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
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
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
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
Not easy to ensure interoperability with other standard tools (1)




© Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
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
What kind of ambiguities?




© Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
Ambiguities - QVT Relations
          The “delete” semantic



               A domain hasn't DIRECTION
               OD.DIRECTION => OD.TYPED_MODEL?


          Naming issues
               quot;ISCHECKEDquot; in the semantic and quot;isCkeckablequot; in the meta-model




© Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
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
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
Ambiguities - MTL

          Naming conventions
               The plural mustn't end with 's'




© Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
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
Ambiguities - MTL

          The given meta-model isn't valid




© Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
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
Not easy to ensure interoperability with other standard tools (2)




© Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
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
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

Contenu connexe

Tendances

4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture PortfolioMajong DevJfu
 
Automatically bridging UML profiles into MOF metamodels
Automatically bridging UML profiles into MOF metamodelsAutomatically bridging UML profiles into MOF metamodels
Automatically bridging UML profiles into MOF metamodelsIvano Malavolta
 
Model Driven Architecture (MDA): Motivations, Status & Future
Model Driven Architecture (MDA): Motivations, Status & FutureModel Driven Architecture (MDA): Motivations, Status & Future
Model Driven Architecture (MDA): Motivations, Status & Futureelliando dias
 
2 trasnformation design_patterns-sandeep_katoch
2 trasnformation design_patterns-sandeep_katoch2 trasnformation design_patterns-sandeep_katoch
2 trasnformation design_patterns-sandeep_katochIBM
 
MoDisco EclipseCon2010
MoDisco EclipseCon2010MoDisco EclipseCon2010
MoDisco EclipseCon2010fmadiot
 
UML: Once More with Meaning
UML: Once More with MeaningUML: Once More with Meaning
UML: Once More with MeaningEd Seidewitz
 
Model driven architecture
Model driven architectureModel driven architecture
Model driven architectureBiruk Mamo
 
UML 2.5: Specification Simplification
UML 2.5: Specification SimplificationUML 2.5: Specification Simplification
UML 2.5: Specification SimplificationEd Seidewitz
 
Executable UML Roadmap (as of September 2014)
Executable UML Roadmap (as of September 2014)Executable UML Roadmap (as of September 2014)
Executable UML Roadmap (as of September 2014)Ed Seidewitz
 
Programming in UML: An Introduction to fUML and Alf
Programming in UML: An Introduction to fUML and AlfProgramming in UML: An Introduction to fUML and Alf
Programming in UML: An Introduction to fUML and AlfEd Seidewitz
 
IBM Rhapsody and MATLAB/Simulink
IBM Rhapsody and MATLAB/SimulinkIBM Rhapsody and MATLAB/Simulink
IBM Rhapsody and MATLAB/Simulinkgjuljo
 
M05 Metamodel
M05 MetamodelM05 Metamodel
M05 MetamodelDang Tuan
 
MDD and modeling tools research
MDD and modeling tools researchMDD and modeling tools research
MDD and modeling tools researchRoger Xia
 
Eclipse Summit 2008 - Thales - SolFa
Eclipse Summit 2008 - Thales - SolFaEclipse Summit 2008 - Thales - SolFa
Eclipse Summit 2008 - Thales - SolFaBENOIT_LANGLOIS
 
Ui Modeling In Action With PMF, e4(XWT) And EGF
Ui Modeling In Action With PMF, e4(XWT) And EGFUi Modeling In Action With PMF, e4(XWT) And EGF
Ui Modeling In Action With PMF, e4(XWT) And EGFBENOIT_LANGLOIS
 
You need to extend your models? EMF Facet vs. EMF Profiles
You need to extend your models? EMF Facet vs. EMF ProfilesYou need to extend your models? EMF Facet vs. EMF Profiles
You need to extend your models? EMF Facet vs. EMF ProfilesPhilip Langer
 
Using Model Driven Development to Easily Manage Variations in Software Define...
Using Model Driven Development to Easily Manage Variations in Software Define...Using Model Driven Development to Easily Manage Variations in Software Define...
Using Model Driven Development to Easily Manage Variations in Software Define...ADLINK Technology IoT
 
Model Transformation from BPMN to DEVS in a Prototype Implementation of the M...
Model Transformation from BPMN to DEVS in a Prototype Implementation of the M...Model Transformation from BPMN to DEVS in a Prototype Implementation of the M...
Model Transformation from BPMN to DEVS in a Prototype Implementation of the M...Daniele Gianni
 

Tendances (20)

4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio
 
Acceleo Code Generation
Acceleo Code GenerationAcceleo Code Generation
Acceleo Code Generation
 
Automatically bridging UML profiles into MOF metamodels
Automatically bridging UML profiles into MOF metamodelsAutomatically bridging UML profiles into MOF metamodels
Automatically bridging UML profiles into MOF metamodels
 
Model Driven Architecture (MDA): Motivations, Status & Future
Model Driven Architecture (MDA): Motivations, Status & FutureModel Driven Architecture (MDA): Motivations, Status & Future
Model Driven Architecture (MDA): Motivations, Status & Future
 
2 trasnformation design_patterns-sandeep_katoch
2 trasnformation design_patterns-sandeep_katoch2 trasnformation design_patterns-sandeep_katoch
2 trasnformation design_patterns-sandeep_katoch
 
MoDisco EclipseCon2010
MoDisco EclipseCon2010MoDisco EclipseCon2010
MoDisco EclipseCon2010
 
Introducing MDSD
Introducing MDSDIntroducing MDSD
Introducing MDSD
 
UML: Once More with Meaning
UML: Once More with MeaningUML: Once More with Meaning
UML: Once More with Meaning
 
Model driven architecture
Model driven architectureModel driven architecture
Model driven architecture
 
UML 2.5: Specification Simplification
UML 2.5: Specification SimplificationUML 2.5: Specification Simplification
UML 2.5: Specification Simplification
 
Executable UML Roadmap (as of September 2014)
Executable UML Roadmap (as of September 2014)Executable UML Roadmap (as of September 2014)
Executable UML Roadmap (as of September 2014)
 
Programming in UML: An Introduction to fUML and Alf
Programming in UML: An Introduction to fUML and AlfProgramming in UML: An Introduction to fUML and Alf
Programming in UML: An Introduction to fUML and Alf
 
IBM Rhapsody and MATLAB/Simulink
IBM Rhapsody and MATLAB/SimulinkIBM Rhapsody and MATLAB/Simulink
IBM Rhapsody and MATLAB/Simulink
 
M05 Metamodel
M05 MetamodelM05 Metamodel
M05 Metamodel
 
MDD and modeling tools research
MDD and modeling tools researchMDD and modeling tools research
MDD and modeling tools research
 
Eclipse Summit 2008 - Thales - SolFa
Eclipse Summit 2008 - Thales - SolFaEclipse Summit 2008 - Thales - SolFa
Eclipse Summit 2008 - Thales - SolFa
 
Ui Modeling In Action With PMF, e4(XWT) And EGF
Ui Modeling In Action With PMF, e4(XWT) And EGFUi Modeling In Action With PMF, e4(XWT) And EGF
Ui Modeling In Action With PMF, e4(XWT) And EGF
 
You need to extend your models? EMF Facet vs. EMF Profiles
You need to extend your models? EMF Facet vs. EMF ProfilesYou need to extend your models? EMF Facet vs. EMF Profiles
You need to extend your models? EMF Facet vs. EMF Profiles
 
Using Model Driven Development to Easily Manage Variations in Software Define...
Using Model Driven Development to Easily Manage Variations in Software Define...Using Model Driven Development to Easily Manage Variations in Software Define...
Using Model Driven Development to Easily Manage Variations in Software Define...
 
Model Transformation from BPMN to DEVS in a Prototype Implementation of the M...
Model Transformation from BPMN to DEVS in a Prototype Implementation of the M...Model Transformation from BPMN to DEVS in a Prototype Implementation of the M...
Model Transformation from BPMN to DEVS in a Prototype Implementation of the M...
 

Similaire à QVT & MTL In Eclipse

Acceleo MTL Code Generation
Acceleo MTL Code GenerationAcceleo MTL Code Generation
Acceleo MTL Code GenerationJonathan Musset
 
What's New in MDT?
What's New in MDT?What's New in MDT?
What's New in MDT?Kenn Hussey
 
Acceleo Day - Acceleo Mtl Code Generation
Acceleo Day - Acceleo Mtl Code GenerationAcceleo Day - Acceleo Mtl Code Generation
Acceleo Day - Acceleo Mtl Code GenerationCédric Brun
 
Together in Eclipse
Together in EclipseTogether in Eclipse
Together in EclipseTomasz Zarna
 
ATL tutorial - EclipseCon 2009
ATL tutorial - EclipseCon 2009 ATL tutorial - EclipseCon 2009
ATL tutorial - EclipseCon 2009 William Piers
 
Open Source Meets Open Specifications
Open Source Meets Open SpecificationsOpen Source Meets Open Specifications
Open Source Meets Open SpecificationsKenn Hussey
 
Mobile Tools for Java - Current Project Status
Mobile Tools for Java - Current Project StatusMobile Tools for Java - Current Project Status
Mobile Tools for Java - Current Project Statusgustavoeliano
 
Avantage BPM Key Features
Avantage BPM Key FeaturesAvantage BPM Key Features
Avantage BPM Key FeaturesGeoffrey Long
 
machine-translation-for-translators-and-terminology-applications-in-the-eu1.ppt
machine-translation-for-translators-and-terminology-applications-in-the-eu1.pptmachine-translation-for-translators-and-terminology-applications-in-the-eu1.ppt
machine-translation-for-translators-and-terminology-applications-in-the-eu1.pptinfojadranska
 
EclipseCon EU 2015 : EMF compare + EGit = Seamless Collaborative Modeling
EclipseCon EU 2015 : EMF compare + EGit = Seamless Collaborative ModelingEclipseCon EU 2015 : EMF compare + EGit = Seamless Collaborative Modeling
EclipseCon EU 2015 : EMF compare + EGit = Seamless Collaborative ModelingObeo
 
Team Work With Models Web
Team Work With Models WebTeam Work With Models Web
Team Work With Models WebCédric Brun
 
EclipseCon Eu 2015 - Breathe life into your Designer!
EclipseCon Eu 2015 - Breathe life into your Designer!EclipseCon Eu 2015 - Breathe life into your Designer!
EclipseCon Eu 2015 - Breathe life into your Designer!melbats
 
Modeling With Eclipse @SoftShake 2011
Modeling With Eclipse @SoftShake 2011Modeling With Eclipse @SoftShake 2011
Modeling With Eclipse @SoftShake 2011Mickael Istria
 
Markus Voelter Textual DSLs
Markus Voelter Textual DSLsMarkus Voelter Textual DSLs
Markus Voelter Textual DSLsdeimos
 
Avantage Enterprise Architecture
Avantage Enterprise ArchitectureAvantage Enterprise Architecture
Avantage Enterprise ArchitectureGeoffrey Long
 
Model Execution: Past, Present and Future
Model Execution: Past, Present and FutureModel Execution: Past, Present and Future
Model Execution: Past, Present and FutureBenoit Combemale
 
MQTT and SensorThings API MQTT Extension
MQTT and SensorThings API MQTT ExtensionMQTT and SensorThings API MQTT Extension
MQTT and SensorThings API MQTT ExtensionSensorUp
 
Bpmn 2.0 Eclipse OMG/Symposium
Bpmn 2.0 Eclipse OMG/SymposiumBpmn 2.0 Eclipse OMG/Symposium
Bpmn 2.0 Eclipse OMG/SymposiumAntoine Toulme
 

Similaire à QVT & MTL In Eclipse (20)

Acceleo MTL Code Generation
Acceleo MTL Code GenerationAcceleo MTL Code Generation
Acceleo MTL Code Generation
 
Compare framework
Compare frameworkCompare framework
Compare framework
 
What's New in MDT?
What's New in MDT?What's New in MDT?
What's New in MDT?
 
Acceleo Day - Acceleo Mtl Code Generation
Acceleo Day - Acceleo Mtl Code GenerationAcceleo Day - Acceleo Mtl Code Generation
Acceleo Day - Acceleo Mtl Code Generation
 
2010 06 22 omg - obeo
2010 06 22   omg - obeo2010 06 22   omg - obeo
2010 06 22 omg - obeo
 
Together in Eclipse
Together in EclipseTogether in Eclipse
Together in Eclipse
 
ATL tutorial - EclipseCon 2009
ATL tutorial - EclipseCon 2009 ATL tutorial - EclipseCon 2009
ATL tutorial - EclipseCon 2009
 
Open Source Meets Open Specifications
Open Source Meets Open SpecificationsOpen Source Meets Open Specifications
Open Source Meets Open Specifications
 
Mobile Tools for Java - Current Project Status
Mobile Tools for Java - Current Project StatusMobile Tools for Java - Current Project Status
Mobile Tools for Java - Current Project Status
 
Avantage BPM Key Features
Avantage BPM Key FeaturesAvantage BPM Key Features
Avantage BPM Key Features
 
machine-translation-for-translators-and-terminology-applications-in-the-eu1.ppt
machine-translation-for-translators-and-terminology-applications-in-the-eu1.pptmachine-translation-for-translators-and-terminology-applications-in-the-eu1.ppt
machine-translation-for-translators-and-terminology-applications-in-the-eu1.ppt
 
EclipseCon EU 2015 : EMF compare + EGit = Seamless Collaborative Modeling
EclipseCon EU 2015 : EMF compare + EGit = Seamless Collaborative ModelingEclipseCon EU 2015 : EMF compare + EGit = Seamless Collaborative Modeling
EclipseCon EU 2015 : EMF compare + EGit = Seamless Collaborative Modeling
 
Team Work With Models Web
Team Work With Models WebTeam Work With Models Web
Team Work With Models Web
 
EclipseCon Eu 2015 - Breathe life into your Designer!
EclipseCon Eu 2015 - Breathe life into your Designer!EclipseCon Eu 2015 - Breathe life into your Designer!
EclipseCon Eu 2015 - Breathe life into your Designer!
 
Modeling With Eclipse @SoftShake 2011
Modeling With Eclipse @SoftShake 2011Modeling With Eclipse @SoftShake 2011
Modeling With Eclipse @SoftShake 2011
 
Markus Voelter Textual DSLs
Markus Voelter Textual DSLsMarkus Voelter Textual DSLs
Markus Voelter Textual DSLs
 
Avantage Enterprise Architecture
Avantage Enterprise ArchitectureAvantage Enterprise Architecture
Avantage Enterprise Architecture
 
Model Execution: Past, Present and Future
Model Execution: Past, Present and FutureModel Execution: Past, Present and Future
Model Execution: Past, Present and Future
 
MQTT and SensorThings API MQTT Extension
MQTT and SensorThings API MQTT ExtensionMQTT and SensorThings API MQTT Extension
MQTT and SensorThings API MQTT Extension
 
Bpmn 2.0 Eclipse OMG/Symposium
Bpmn 2.0 Eclipse OMG/SymposiumBpmn 2.0 Eclipse OMG/Symposium
Bpmn 2.0 Eclipse OMG/Symposium
 

Dernier

Trailblazer Community - Flows Workshop (Session 2)
Trailblazer Community - Flows Workshop (Session 2)Trailblazer Community - Flows Workshop (Session 2)
Trailblazer Community - Flows Workshop (Session 2)Muhammad Tiham Siddiqui
 
Stobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
Stobox 4: Revolutionizing Investment in Real-World Assets Through TokenizationStobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
Stobox 4: Revolutionizing Investment in Real-World Assets Through TokenizationStobox
 
Novo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4jNovo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4jNeo4j
 
Graphene Quantum Dots-Based Composites for Biomedical Applications
Graphene Quantum Dots-Based Composites for  Biomedical ApplicationsGraphene Quantum Dots-Based Composites for  Biomedical Applications
Graphene Quantum Dots-Based Composites for Biomedical Applicationsnooralam814309
 
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024Alkin Tezuysal
 
3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud Data3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud DataEric D. Schabell
 
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptxGraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptxNeo4j
 
EMEA What is ThousandEyes? Webinar
EMEA What is ThousandEyes? WebinarEMEA What is ThousandEyes? Webinar
EMEA What is ThousandEyes? WebinarThousandEyes
 
The Importance of Indoor Air Quality (English)
The Importance of Indoor Air Quality (English)The Importance of Indoor Air Quality (English)
The Importance of Indoor Air Quality (English)IES VE
 
LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0DanBrown980551
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
 
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedIn
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedInOutage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedIn
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedInThousandEyes
 
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENT
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENTSIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENT
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENTxtailishbaloch
 
2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdf2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdfThe Good Food Institute
 
Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.IPLOOK Networks
 
Extra-120324-Visite-Entreprise-icare.pdf
Extra-120324-Visite-Entreprise-icare.pdfExtra-120324-Visite-Entreprise-icare.pdf
Extra-120324-Visite-Entreprise-icare.pdfInfopole1
 
Explore the UiPath Community and ways you can benefit on your journey to auto...
Explore the UiPath Community and ways you can benefit on your journey to auto...Explore the UiPath Community and ways you can benefit on your journey to auto...
Explore the UiPath Community and ways you can benefit on your journey to auto...DianaGray10
 
UiPath Studio Web workshop Series - Day 3
UiPath Studio Web workshop Series - Day 3UiPath Studio Web workshop Series - Day 3
UiPath Studio Web workshop Series - Day 3DianaGray10
 
CyberSecurity - Computers In Libraries 2024
CyberSecurity - Computers In Libraries 2024CyberSecurity - Computers In Libraries 2024
CyberSecurity - Computers In Libraries 2024Brian Pichman
 

Dernier (20)

Trailblazer Community - Flows Workshop (Session 2)
Trailblazer Community - Flows Workshop (Session 2)Trailblazer Community - Flows Workshop (Session 2)
Trailblazer Community - Flows Workshop (Session 2)
 
Stobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
Stobox 4: Revolutionizing Investment in Real-World Assets Through TokenizationStobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
Stobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
 
Novo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4jNovo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4j
 
Graphene Quantum Dots-Based Composites for Biomedical Applications
Graphene Quantum Dots-Based Composites for  Biomedical ApplicationsGraphene Quantum Dots-Based Composites for  Biomedical Applications
Graphene Quantum Dots-Based Composites for Biomedical Applications
 
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
 
SheDev 2024
SheDev 2024SheDev 2024
SheDev 2024
 
3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud Data3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud Data
 
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptxGraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
 
EMEA What is ThousandEyes? Webinar
EMEA What is ThousandEyes? WebinarEMEA What is ThousandEyes? Webinar
EMEA What is ThousandEyes? Webinar
 
The Importance of Indoor Air Quality (English)
The Importance of Indoor Air Quality (English)The Importance of Indoor Air Quality (English)
The Importance of Indoor Air Quality (English)
 
LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedIn
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedInOutage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedIn
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedIn
 
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENT
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENTSIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENT
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENT
 
2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdf2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdf
 
Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.
 
Extra-120324-Visite-Entreprise-icare.pdf
Extra-120324-Visite-Entreprise-icare.pdfExtra-120324-Visite-Entreprise-icare.pdf
Extra-120324-Visite-Entreprise-icare.pdf
 
Explore the UiPath Community and ways you can benefit on your journey to auto...
Explore the UiPath Community and ways you can benefit on your journey to auto...Explore the UiPath Community and ways you can benefit on your journey to auto...
Explore the UiPath Community and ways you can benefit on your journey to auto...
 
UiPath Studio Web workshop Series - Day 3
UiPath Studio Web workshop Series - Day 3UiPath Studio Web workshop Series - Day 3
UiPath Studio Web workshop Series - Day 3
 
CyberSecurity - Computers In Libraries 2024
CyberSecurity - Computers In Libraries 2024CyberSecurity - Computers In Libraries 2024
CyberSecurity - Computers In Libraries 2024
 

QVT & MTL In Eclipse

  • 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 quot;ISCHECKEDquot; in the semantic and quot;isCkeckablequot; 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