Systematic Transformation Development

Download Report

Transcript Systematic Transformation Development

Proposal Exam
Eugene Syriani
Ph.D. Candidate in the Modelling, Simulation and Design Lab
School of Computer Science
McGill University
Proposal Exam
OUTLINE
 Context
 Thesis
 Overview of the Approach
 Planning
 Conclusion
2
Proposal Exam
MODEL-DRIVEN ENGINEERING
Meta-Model
conforms to
Transmission
Model
Security
Wheel
Speed control
Electric
circuits
Resistance to snow
Mechanics
of engine
represented by
System
3
Proposal 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
4
Proposal Exam
MODEL TRANSFORMATION
• Manipulate: access & modify operations
• Simulate: execution
• Generate code: compilation
• Translate: into other models
M1
M2
M3
5
Proposal Exam
MODEL TRANSFORMATION DEVELOPMENT
Meta-Model of domain
6
Proposal Exam
MODEL TRANSFORMATION DEVELOPMENT
Generate Modelling Environment
7
Proposal Exam
MODEL TRANSFORMATION DEVELOPMENT
Transformation Specification
1
5
1
pac
Link
4
4
2
1
2
5
3
6
2
1
4
2
pacLink
3
pacLink
3
3
ghostLink
foodLink
ghostLink
1: return
self.LHS.nodeWithLabel(1).score + 1
ghostLink
ghostLink
7
1
6
2
1
2
3
3
gridLeft
4
ghostLink
4
pacLink 6
1
1
2
8
4
pacLink
1
5
3
7
gridRight
gridLeft
2
3
4
gridRight
8
Proposal Exam
MODEL TRANSFORMATION DEVELOPMENT
Execution
• Given input model
• Run transformation
– Rules
– Unordered, Priority, Layer, Control Flow
• Output
– New model
– Modified model
9
Proposal 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
10
Proposal 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
11
Proposal Exam
SOLUTION
12
Proposal Exam
EXPLICIT MODELLING OF TRANSFORMATIONS
• Consider MTLs as domain-specific languages
• Explicitly model the patterns & the scheduling
NAC
LHS
Pre-condition Pattern
RHS
Post-condition Pattern
13
Proposal Exam
MODELLING THE MTL
14
Proposal Exam
RAM PROCESS
(quasi-)Automatically generated environment for pattern language
Input Meta-Model
Output Meta-Model
Relax Augment Modify
Customized Pattern Meta-Model
15
Proposal Exam
TRANSFORMATION SPECIFICATION
Domain-Specific Transformation Patterns
16
Proposal Exam
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
17
Proposal Exam
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
18
Proposal Exam
MOTIF-CORE
T-Core
DEVS
19
Proposal Exam
MOTIF-CORE
DEVS
T-Core
MoTif-Core
20
Proposal Exam
MOTIF
Meta-Model
Semantics
21
Proposal Exam
TRANSFORMATION EXCEPTION HANDLING
• Identification & classification
• Modelling of transformation exceptions
• Exception handling specification in the MT itself
– Post-handling control flow
– Propagation mechanism
22
Proposal Exam
MOTIF FRAMEWORK
23
Proposal Exam
PLANNING
24
Proposal Exam
WHAT IS REMAINING?
Mainly: implementation...
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
25
Proposal Exam
WHAT IS REMAINING?
... and case studies
1. CD2RDBMS
– Using MoTif
2. AntWorld Simulation
– Using T-Core & Python
3. PacMan Game
– Using MoTif & extended MoTif-Core
4. Aspect Weaving
– Using MoTif
26
Proposal 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
27