270 likes | 431 Vues
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.
E N D
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 Electric circuits Resistance to snow Mechanics of engine represented by System
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
Model Transformation • Manipulate: access & modify operations • Simulate: execution • Generatecode: compilation • Translate: into other models M1 M2 M3
Model Transformation Development Meta-Model of domain
Model Transformation Development Generate Modelling Environment
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
Model Transformation Development Execution • Given input model • Run transformation • Rules • Unordered, Priority, Layer, Control Flow • Output • New model • Modified model
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
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
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
RAM Process (quasi-)Automatically generated environment for pattern language • Input Meta-Model • Output Meta-Model • Relax Augment Modify • Customized Pattern Meta-Model
Transformation specification Domain-Specific Transformation Patterns
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
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
Motif-Core T-Core DEVS
Motif-Core DEVS T-Core MoTif-Core
MoTif Meta-Model Semantics
Transformation Exception Handling • Identification & classification • Modelling of transformation exceptions • Exception handling specification in the MT itself • Post-handling control flow • Propagation mechanism
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
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
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