de-/ re - constructing model transformation languages
DESCRIPTION
De-/ Re - constructing Model Transformation Languages. Eugene Syriani Hans Vangheluwe. Overview. Problematic De-Constructing Transformation Languages De-construction process Collection of model transformation primitives Re-Constructing Transformation Languages - PowerPoint PPT PresentationTRANSCRIPT
McGill University
GT-VMT’10
School of Computer Science
Ph.D. Candidate in the Modelling, Simulation and Design Lab
De-/Re-constructing Model Transformation Languages
Eugene SyrianiHans Vangheluwe
De-/Re-constructing Model Transformation LanguagesGT-VMT’10
OVERVIEW
Problematic
De-Constructing Transformation Languages
— De-construction process
— Collection of model transformation primitives
Re-Constructing Transformation Languages
— Common transformation languages
— More esoteric features
— Asynchronous transformations
Conclusion2
De-/Re-constructing Model Transformation LanguagesGT-VMT’10
MOTIVATION• Rule-based transformation languages: most-widely used
paradigm
• Many MTLs co-exist todayATL, FUJABA, GReAT, MoTif, QVT, VIATRA, VMTS, …
– Each one is better for solving a specific class of problems
• Problems are very different in nature– Not conceivable to have one ultimate MTL
– Feature-specific MTL
– Domain-specific MTL
4
De-/Re-constructing Model Transformation LanguagesGT-VMT’10
FEATURE MATRIX[1]
[1] Syriani, E. and Vangheluwe, H. (2009) Matters of model transformation. Technical Report SOCS-TR-2009.2. McGill University, School of Computer Science.
5
De-/Re-constructing Model Transformation LanguagesGT-VMT’10
PROBLEMATIC
Given this diversity, it is hard to:
1. Compare expressiveness
2. Provide framework for interoperability
3. Rigorously design transformation languages
6
De-/Re-constructing Model Transformation LanguagesGT-VMT’10
PROPOSED SOLUTIONProvide a common basis for MTLs, in terms of primitive
building blocks
1. De-Construction– Small set of most primitive constructs
2. Re-Construction– Existing MTLs in terms of primitive building blocks
– Optimization
– Discover new MTLs
7
De-/Re-constructing Model Transformation LanguagesGT-VMT’10
De-Construction Process
8
De-/Re-constructing Model Transformation LanguagesGT-VMT’10
COMMONALITY
• Pre-/Post- condition patterns
• Matching
• Rewriting
• Validation of consistent rule application
• Matches manipulation– Iteration
– Roll-back
• Control flow– Choice
– Concurrency
• Composition
Structure & Semantics
9
De-/Re-constructing Model Transformation LanguagesGT-VMT’10
REQUIREMENTS• Minimal collection of model transformation primitives
– De-construct to optimal granularity
• Not restricted to any form of specification of transformation unit– Rule-based, Constraint-based, Function-based
– Bidirectional, Functional
– Query, Transformation
• Modularly encapsulate combinations of primitives– Composition
– Re-use
– Interface
• Executable– Self-contained
– Easily integrable
10
De-/Re-constructing Model Transformation LanguagesGT-VMT’10
T-CORE MODULE
• Pattern representation
• Matches processed structure
• 8 primitive transformation operators
11
De-/Re-constructing Model Transformation LanguagesGT-VMT’10
T-CORE MODULE
• Dissociatepre- from post- condition patterns
‒ Query vs. Rule
12
De-/Re-constructing Model Transformation LanguagesGT-VMT’10
T-CORE MODULE
• Packet‒ Host graph
• MatchSet‒ Matches for a given pattern
• Match‒ Sub-model of interest
• Pivot‒ Node binding (across match
sets)
‒ Parameterized rule
13
De-/Re-constructing Model Transformation LanguagesGT-VMT’10
T-CORE MODULE
• DissociateMatch from Rewrite‒ match-rewrite- match-rewrite
‒ match-match-match
‒ match-match-rewrite-rewrite
• Matcher‒ Find all (parameter)
‒ Store matches in packet
• Rewriter‒ Apply transformation
‒ Consume matches
• Resolver‒ Conservative check of conflicts
among match sets
‒ Customizable resolution function
14
De-/Re-constructing Model Transformation LanguagesGT-VMT’10
T-CORE MODULE
• Iterator‒ Randomly choose a match in a
match set
‒ Number of iterations
• Rollbacker‒ Ensure transactional behaviour
‒ Restore packet when all matches exhausted
‒ Number of iterations
• Combine to handle multiple matches
15
De-/Re-constructing Model Transformation LanguagesGT-VMT’10
T-CORE MODULE
• Selector‒ Can store packets
‒ Select one on demand
• Synchronizer‒ Can store packets
‒ Merge packets on demand
‒ Customizable merge function
16
De-/Re-constructing Model Transformation LanguagesGT-VMT’10
T-CORE MODULE
• Meaningfully compose its sub-primitives
• User-defined composition
• Common interface
17
De-/Re-constructing Model Transformation LanguagesGT-VMT’10
Re-Construction Process
18
De-/Re-constructing Model Transformation LanguagesGT-VMT’10
TRANSFORMATION LANGUAGECombination of
1. Primitive transformation constructs– (Sub-set of) T-Core module
2. Glue language– Programming language (Python, Java)
– Modelling language (Activity Diagram, Petri-Net, DEVS)
De-/Re-constructing Model Transformation LanguagesGT-VMT’10
RE-CONSTRUCTION OF EXISTING MTLS
19
20
De-/Re-constructing Model Transformation LanguagesGT-VMT’10
FUJABA: FOR-ALL PATTERN [2]
[2] Fischer, T., et. al., (2000) Story diagrams: A new graph rewrite language based on the UML and Java. In Ehrig, H., et al., (eds.), Theory and Application of Graph Transformations, LNCS, 1764, pp. 296–309. Springer-Verlag.
21
De-/Re-constructing Model Transformation LanguagesGT-VMT’10
FUJABA: FOR-ALL PATTERN
22
De-/Re-constructing Model Transformation LanguagesGT-VMT’10
FUJABA: FOR-ALL PATTERN
23
De-/Re-constructing Model Transformation LanguagesGT-VMT’10
AMALGAMATION RULES:REPOTTING THE GERANIUMS [3]
“Repot all flowering geraniums whose pots have cracked”
[3] Rensink, A. and Kuperus, J.-H. (2009) Repotting the geraniums: On nested graph transformation rules. In Margaria, T., Padberg, J., and Taentzer, G. (eds.), GT-VMT’09, EASST.
De-/Re-constructing Model Transformation LanguagesGT-VMT’10
MOTIF-CORE:ASYNCHRONOUS TRANSFORMATIONS
24[4] Zeigler, B. P. (1984) Multifacetted Modelling and Discrete Event Simulation. Academic Press.
MoTif-Core =T-Core + DEVS
[4]
• 1-1 mapping between‒ T-Core primitive operator
‒ DEVS atomic/coupled model
• T-Core primitive embedded in the state of DEVS model
25
De-/Re-constructing Model Transformation LanguagesGT-VMT’10
MOTIF-CORE: TIMED MTLS
• Time
• Exceptions
MoTif AtomicRule [5]
[5] Syriani, E. and Vangheluwe, H. (2009) Discrete-Event Modeling and Simulation: Theory and Applications. CRC Press, Boca Raton (USA).
De-/Re-constructing Model Transformation LanguagesGT-VMT’10
MOTIF-CORE: ASYNCHRONOUS MTLS
• Asynchrony
• Parallelism
GReAT Test/Case block [5]
26[5] Agrawal, A., Karsai, G., Kalmar, Z., Neema, S., Shi, F., and Vizhanyo, A. (2006) The design of a language for model transformations. SoSym, 5, 261–288.
De-/Re-constructing Model Transformation LanguagesGT-VMT’10
MOTIF-CORE: VISUAL REPRESENTATIONMore Readable: Repotting the geraniums
27
De-/Re-constructing Model Transformation LanguagesGT-VMT’10
CONCLUSION
• Collection of MT primitives: T-Core
• Re-construction of existing MTLs (comparable)
• New-Construction of novel MTLs– Domain-specific, Problem-specific
– Framework for building such languages
• Efficiently implement these primitives
• Map other MTLs to T-Core28
?