a multi-paradigm foundation for model transformation language engineering
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
McGill University
Proposal Exam
School of Computer Science
Ph.D. Candidate in the Modelling, Simulation and Design Lab
A Multi-Paradigm Foundation for Model Transformation
Language Engineering
Eugene Syriani
Multi-Paradigm Foundation for MTL EngineeringProposal Exam
OUTLINE
Context
Thesis
Overview of the Approach
Planning
Conclusion2
3
Multi-Paradigm Foundation for MTL EngineeringProposal Exam
MODEL-DRIVEN ENGINEERING
Model
Wheel
Transmission
Mechanics of engine
Electric circuits
Security
Speed control
Resistance to snow
System
Meta-Model
represented by
conforms to
4
Multi-Paradigm Foundation for MTL EngineeringProposal Exam
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
Multi-Paradigm Foundation for MTL EngineeringProposal Exam
MODEL TRANSFORMATION• Manipulate: access & modify operations
• Simulate: execution
• Generate code: compilation
• Translate: into other models
M1
M3
M2
6
Multi-Paradigm Foundation for MTL EngineeringProposal Exam
MODEL TRANSFORMATION DEVELOPMENT
Meta-Model of domain
7
Multi-Paradigm Foundation for MTL EngineeringProposal Exam
MODEL TRANSFORMATION DEVELOPMENT
Generate Modelling Environment
8
Multi-Paradigm Foundation for MTL EngineeringProposal Exam
MODEL TRANSFORMATION DEVELOPMENT
Transformation Specification
14
2
5 pacLink
3ghostLink
1
23
ghostLink 1: returnself.LHS.nodeWithLabel(1).score + 1
1
2
3
1
2
35
4
pacLink
foodLink
6
4
pacLink
4
1 2
36
gridLeft
ghostLink
1 2
3
4
7
gridLeft
ghostLink
4
1 2
5
gridRight
pacLink
1 2
4
6
gridRight
pacLink
33
1
78
ghostLink
9
Multi-Paradigm Foundation for MTL EngineeringProposal Exam
MODEL TRANSFORMATION DEVELOPMENT
• Given input model
• Run transformation– Rules
– Unordered, Priority, Layer, Control Flow
• Output– New model
– Modified model
Execution
10
Multi-Paradigm Foundation for MTL EngineeringProposal Exam
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
Multi-Paradigm Foundation for MTL EngineeringProposal Exam
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
Multi-Paradigm Foundation for MTL EngineeringProposal Exam
SOLUTION
13
Multi-Paradigm Foundation for MTL EngineeringProposal Exam
EXPLICIT MODELLING OF TRANSFORMATIONS
• Consider MTLs as domain-specific languages
• Explicitly model the patterns & the scheduling
LHS RHSNAC
Pre-condition Pattern Post-condition Pattern
14
Multi-Paradigm Foundation for MTL EngineeringProposal Exam
MODELLING THE MTL
Multi-Paradigm Foundation for MTL EngineeringProposal Exam
RAM PROCESS
(quasi-)Automatically generated environment for pattern language
15
Input Meta-Model Output Meta-Model
Relax Augment Modify
Customized Pattern Meta-Model
16
Multi-Paradigm Foundation for MTL EngineeringProposal Exam
TRANSFORMATION SPECIFICATIONDomain-Specific Transformation Patterns
17
Multi-Paradigm Foundation for MTL EngineeringProposal Exam
MINIMAL TRANSFORMATION CORE
• Pre-/post- patterns• Matching• Rewriting• Validation of consistent
rule application• Matches manipulation
– Iteration– Roll-back
• Control flow– Choice– Concurrency
• Composition• Common
representation
Features that allow the execution of MTL
18
Multi-Paradigm Foundation for MTL EngineeringProposal Exam
T-CORE• Executable module
• Efficient implementation of the Matcher & the Rewriter
• Combine primitive transformation constructs with “glue language”– Programming language
SBL, Python
– Modelling languageUML Activity Diagrams, DEVS
19
Multi-Paradigm Foundation for MTL EngineeringProposal Exam
MOTIF-CORE
DEVST-Core
20
Multi-Paradigm Foundation for MTL EngineeringProposal Exam
MOTIF-CORE
DEVST-Core
MoTif-Core
21
Multi-Paradigm Foundation for MTL EngineeringProposal Exam
MOTIF
Meta-Model Semantics
22
Multi-Paradigm Foundation for MTL EngineeringProposal Exam
TRANSFORMATION EXCEPTION HANDLING• Identification & classification
• Modelling of transformation exceptions
• Exception handling specification in the MT itself– Post-handling control flow
– Propagation mechanism
23
Multi-Paradigm Foundation for MTL EngineeringProposal Exam
MOTIF FRAMEWORK
24
Multi-Paradigm Foundation for MTL EngineeringProposal Exam
PLANNING
25
Multi-Paradigm Foundation for MTL EngineeringProposal Exam
WHAT IS REMAINING?
1. RAM process– Evaluate usability of a completely modelled environment for designing model
transformation
2. T-Core– Module based on a model-centric virtual machine
– Usable with Python & DEVS
– Efficient Matcher & Rewriter
3. MoTif-Core– Compiler to DEVS
4. MoTif Framework– Insert in the loop
– Support higher-order transformations
– Support exception handling
Mainly: implementation...
26
Multi-Paradigm Foundation for MTL EngineeringProposal Exam
WHAT IS REMAINING?
1. CD2RDBMS– Using MoTif
2. AntWorld Simulation– Using T-Core & Python
3. PacMan Game– Using MoTif & extended MoTif-Core
4. Aspect Weaving– Using MoTif
... and case studies
27
Multi-Paradigm Foundation for MTL EngineeringProposal Exam
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