1 / 27

A Multi-Paradigm Foundation for Model Transformation Language Engineering

A Multi-Paradigm Foundation for Model Transformation Language Engineering. Eugene Syriani. Outline. Context Thesis Overview of the Approach Planning Conclusion. Model-Driven Engineering. Meta-Model. conforms to. Model. Transmission. Security. Wheel. Speed control.

yadid
Télécharger la présentation

A Multi-Paradigm Foundation for Model Transformation Language Engineering

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A Multi-Paradigm Foundation for Model Transformation Language Engineering Eugene Syriani

  2. Outline • Context • Thesis • Overview of the Approach • Planning • Conclusion

  3. Model-Driven Engineering Meta-Model conforms to Model Transmission Security Wheel Speed control Electric circuits Resistance to snow Mechanics of engine represented by System

  4. Multi-Paradigm Modelling (MPM) • Multi-formalism • Domain-specific formalisms • Multi-abstraction • Meta-Modelling • Model Transformation • Model everything • Explicitly • At the most appropriate level of abstraction • Using the most appropriate formalism

  5. Model Transformation • Manipulate: access & modify operations • Simulate: execution • Generatecode: compilation • Translate: into other models M1 M2 M3

  6. Model Transformation Development Meta-Model of domain

  7. Model Transformation Development Generate Modelling Environment

  8. Model Transformation Development Transformation Specification 1 1 5 pacLink ghostLink ghostLink 7 4 4 1 1 1 2 1 2 2 2 4 6 5 pacLink pacLink 2 2 3 3 3 3 6 3 3 ghostLink ghostLink gridLeft gridLeft foodLink 1: returnself.LHS.nodeWithLabel(1).score + 1 4 4 pacLink ghostLink pacLink 6 1 2 1 1 2 5 8 3 3 7 gridRight 4 gridRight 4

  9. Model Transformation Development Execution • Given input model • Run transformation • Rules • Unordered, Priority, Layer, Control Flow • Output • New model • Modified model

  10. Problem statement • Meta-Modelling: well established • Language for model specification • Automatic generation of modelling environments • Focus on transformations • Robust theoretical foundation (e.g., graph transformation) • Plethora of model transformation languages (MTL) AGG, ATL, AToM3, FUJABA, GReAT, MOFLON, ProGreS, QVT, VMTS, VIATRA2, ... • Each one provides tremendous value for its domain of expertise • No interoperability • Implementation of transformation paradigm is hard-coded

  11. My Thesis • Contribute to the engineering of model transformation languages • At the foundation level • Following MPM principles • Model everything: • syntax of MTL • semantics of MTL • Provide a framework for building MTLs • Design & implement a new MTL, following MPM principles • Core algorithms • Language building blocks • Formalism • Focusing on expressiveness of MTL

  12. Solution

  13. Explicit Modelling of Transformations • Consider MTLs as domain-specific languages • Explicitly model the patterns & the scheduling NAC LHS RHS Pre-condition Pattern Post-condition Pattern

  14. Modelling the MTL

  15. RAM Process (quasi-)Automatically generated environment for pattern language • Input Meta-Model • Output Meta-Model • Relax Augment Modify • Customized Pattern Meta-Model

  16. Transformation specification Domain-Specific Transformation Patterns

  17. Minimal Transformation Core Features that allow the execution of MTL • Pre-/post- patterns • Matching • Rewriting • Validation of consistent rule application • Matches manipulation • Iteration • Roll-back • Control flow • Choice • Concurrency • Composition • Common representation

  18. T-Core • Executable module • Efficient implementation of the Matcher & the Rewriter • Combine primitive transformation constructs with “glue language” • Programming language SBL, Python • Modelling language UML Activity Diagrams, DEVS

  19. Motif-Core T-Core DEVS

  20. Motif-Core DEVS T-Core MoTif-Core

  21. MoTif Meta-Model Semantics

  22. Transformation Exception Handling • Identification & classification • Modelling of transformation exceptions • Exception handling specification in the MT itself • Post-handling control flow • Propagation mechanism

  23. Motif Framework

  24. Planning

  25. What is Remaining? Mainly: implementation... • RAM process • Evaluate usability of a completely modelled environment for designing model transformation • T-Core • Module based on a model-centric virtual machine • Usable with Python & DEVS • Efficient Matcher & Rewriter • MoTif-Core • Compiler to DEVS • MoTif Framework • Insert in the loop • Support higher-order transformations • Support exception handling

  26. What is Remaining? ... and case studies • CD2RDBMS • Using MoTif • AntWorld Simulation • Using T-Core & Python • PacMan Game • Using MoTif & extended MoTif-Core • Aspect Weaving • Using MoTif

  27. Conclusion • Novel approach for designing MTLs • Based on MPM principles • Three model transformation formalisms • Primitive building blocks (T-Core) • Problem-specific pattern language • Modularly composable, asynchronous, timed transformations (MoTif-Core) • General purpose transformation (MoTif) • Performance analyses • Compare to other model transformation engineering approaches

More Related