McGill University Proposal Exam School of Computer Science Ph.D. Candidate in the Modelling,...
-
Upload
aleesha-harvey -
Category
Documents
-
view
216 -
download
0
Transcript of McGill University Proposal Exam School of Computer Science Ph.D. Candidate in the Modelling,...
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