SlideShare a Scribd company logo
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

More Related Content

What's hot

4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio
Majong DevJfu
 
Acceleo Code Generation
Acceleo Code GenerationAcceleo Code Generation
Acceleo Code Generation
Stéphane Bégaudeau
 
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
Ivano 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 & Future
elliando dias
 
2 trasnformation design_patterns-sandeep_katoch
2 trasnformation design_patterns-sandeep_katoch2 trasnformation design_patterns-sandeep_katoch
2 trasnformation design_patterns-sandeep_katoch
IBM
 
MoDisco EclipseCon2010
MoDisco EclipseCon2010MoDisco EclipseCon2010
MoDisco EclipseCon2010
fmadiot
 
Introducing MDSD
Introducing MDSDIntroducing MDSD
Introducing MDSD
Pedro J. Molina
 
UML: Once More with Meaning
UML: Once More with MeaningUML: Once More with Meaning
UML: Once More with Meaning
Ed Seidewitz
 
Model driven architecture
Model driven architectureModel driven architecture
Model driven architecture
Biruk Mamo
 
UML 2.5: Specification Simplification
UML 2.5: Specification SimplificationUML 2.5: Specification Simplification
UML 2.5: Specification Simplification
Ed 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 Alf
Ed Seidewitz
 
IBM Rhapsody and MATLAB/Simulink
IBM Rhapsody and MATLAB/SimulinkIBM Rhapsody and MATLAB/Simulink
IBM Rhapsody and MATLAB/Simulink
gjuljo
 
M05 Metamodel
M05 MetamodelM05 Metamodel
M05 Metamodel
Dang Tuan
 
MDD and modeling tools research
MDD and modeling tools researchMDD and modeling tools research
MDD and modeling tools research
Roger Xia
 
Eclipse Summit 2008 - Thales - SolFa
Eclipse Summit 2008 - Thales - SolFaEclipse Summit 2008 - Thales - SolFa
Eclipse Summit 2008 - Thales - SolFa
BENOIT_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 EGF
BENOIT_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 Profiles
Philip 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
 

What's hot (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...
 

Similar to QVT & MTL In Eclipse

Acceleo MTL Code Generation
Acceleo MTL Code GenerationAcceleo MTL Code Generation
Acceleo MTL Code Generation
Jonathan Musset
 
Compare framework
Compare frameworkCompare framework
Compare framework
Tomasz Zarna
 
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 Generation
Cédric Brun
 
2010 06 22 omg - obeo
2010 06 22   omg - obeo2010 06 22   omg - obeo
2010 06 22 omg - obeo
Etienne Juliot
 
Together in Eclipse
Together in EclipseTogether in Eclipse
Together in Eclipse
Tomasz 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 Specifications
Kenn 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 Status
gustavoeliano
 
Avantage BPM Key Features
Avantage BPM Key FeaturesAvantage BPM Key Features
Avantage BPM Key Features
Geoffrey 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.ppt
infojadranska
 
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
Obeo
 
Team Work With Models Web
Team Work With Models WebTeam Work With Models Web
Team Work With Models Web
Cé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 2011
Mickael Istria
 
Markus Voelter Textual DSLs
Markus Voelter Textual DSLsMarkus Voelter Textual DSLs
Markus Voelter Textual DSLs
deimos
 
Avantage Enterprise Architecture
Avantage Enterprise ArchitectureAvantage Enterprise Architecture
Avantage Enterprise Architecture
Geoffrey Long
 
Model Execution: Past, Present and Future
Model Execution: Past, Present and FutureModel Execution: Past, Present and Future
Model Execution: Past, Present and Future
Benoit Combemale
 
MQTT and SensorThings API MQTT Extension
MQTT and SensorThings API MQTT ExtensionMQTT and SensorThings API MQTT Extension
MQTT and SensorThings API MQTT Extension
SensorUp
 
Bpmn 2.0 Eclipse OMG/Symposium
Bpmn 2.0 Eclipse OMG/SymposiumBpmn 2.0 Eclipse OMG/Symposium
Bpmn 2.0 Eclipse OMG/Symposium
Antoine Toulme
 

Similar to 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
 

Recently uploaded

CAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on BlockchainCAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on Blockchain
Claudio Di Ciccio
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
Things to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUUThings to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUU
FODUU
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
David Brossard
 
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdfAI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
Techgropse Pvt.Ltd.
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 

Recently uploaded (20)

CAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on BlockchainCAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on Blockchain
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
Things to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUUThings to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUU
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
 
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdfAI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 

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