mcgill university gt-vmt’10 school of computer science ph.d. candidate in the modelling,...
TRANSCRIPT
![Page 1: McGill University GT-VMT’10 School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani Hans Vangheluwe](https://reader037.vdocuments.net/reader037/viewer/2022110304/551c05ff550346b24f8b4e8c/html5/thumbnails/1.jpg)
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
![Page 2: McGill University GT-VMT’10 School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani Hans Vangheluwe](https://reader037.vdocuments.net/reader037/viewer/2022110304/551c05ff550346b24f8b4e8c/html5/thumbnails/2.jpg)
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
![Page 3: McGill University GT-VMT’10 School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani Hans Vangheluwe](https://reader037.vdocuments.net/reader037/viewer/2022110304/551c05ff550346b24f8b4e8c/html5/thumbnails/3.jpg)
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
![Page 4: McGill University GT-VMT’10 School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani Hans Vangheluwe](https://reader037.vdocuments.net/reader037/viewer/2022110304/551c05ff550346b24f8b4e8c/html5/thumbnails/4.jpg)
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.
![Page 5: McGill University GT-VMT’10 School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani Hans Vangheluwe](https://reader037.vdocuments.net/reader037/viewer/2022110304/551c05ff550346b24f8b4e8c/html5/thumbnails/5.jpg)
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
![Page 6: McGill University GT-VMT’10 School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani Hans Vangheluwe](https://reader037.vdocuments.net/reader037/viewer/2022110304/551c05ff550346b24f8b4e8c/html5/thumbnails/6.jpg)
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
![Page 7: McGill University GT-VMT’10 School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani Hans Vangheluwe](https://reader037.vdocuments.net/reader037/viewer/2022110304/551c05ff550346b24f8b4e8c/html5/thumbnails/7.jpg)
7
De-/Re-constructing Model Transformation LanguagesGT-VMT’10
De-Construction Process
![Page 8: McGill University GT-VMT’10 School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani Hans Vangheluwe](https://reader037.vdocuments.net/reader037/viewer/2022110304/551c05ff550346b24f8b4e8c/html5/thumbnails/8.jpg)
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
![Page 9: McGill University GT-VMT’10 School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani Hans Vangheluwe](https://reader037.vdocuments.net/reader037/viewer/2022110304/551c05ff550346b24f8b4e8c/html5/thumbnails/9.jpg)
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
![Page 10: McGill University GT-VMT’10 School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani Hans Vangheluwe](https://reader037.vdocuments.net/reader037/viewer/2022110304/551c05ff550346b24f8b4e8c/html5/thumbnails/10.jpg)
10
De-/Re-constructing Model Transformation LanguagesGT-VMT’10
T-CORE MODULE
• Pattern representation
• Matches processed structure
• 8 primitive transformation operators
![Page 11: McGill University GT-VMT’10 School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani Hans Vangheluwe](https://reader037.vdocuments.net/reader037/viewer/2022110304/551c05ff550346b24f8b4e8c/html5/thumbnails/11.jpg)
11
De-/Re-constructing Model Transformation LanguagesGT-VMT’10
T-CORE MODULE
• Dissociatepre- from post- condition patterns
‒ Query vs. Rule
![Page 12: McGill University GT-VMT’10 School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani Hans Vangheluwe](https://reader037.vdocuments.net/reader037/viewer/2022110304/551c05ff550346b24f8b4e8c/html5/thumbnails/12.jpg)
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
![Page 13: McGill University GT-VMT’10 School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani Hans Vangheluwe](https://reader037.vdocuments.net/reader037/viewer/2022110304/551c05ff550346b24f8b4e8c/html5/thumbnails/13.jpg)
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
![Page 14: McGill University GT-VMT’10 School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani Hans Vangheluwe](https://reader037.vdocuments.net/reader037/viewer/2022110304/551c05ff550346b24f8b4e8c/html5/thumbnails/14.jpg)
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
![Page 15: McGill University GT-VMT’10 School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani Hans Vangheluwe](https://reader037.vdocuments.net/reader037/viewer/2022110304/551c05ff550346b24f8b4e8c/html5/thumbnails/15.jpg)
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
![Page 16: McGill University GT-VMT’10 School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani Hans Vangheluwe](https://reader037.vdocuments.net/reader037/viewer/2022110304/551c05ff550346b24f8b4e8c/html5/thumbnails/16.jpg)
16
De-/Re-constructing Model Transformation LanguagesGT-VMT’10
T-CORE MODULE
• Meaningfully compose its sub-primitives
• User-defined composition
• Common interface
![Page 17: McGill University GT-VMT’10 School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani Hans Vangheluwe](https://reader037.vdocuments.net/reader037/viewer/2022110304/551c05ff550346b24f8b4e8c/html5/thumbnails/17.jpg)
17
De-/Re-constructing Model Transformation LanguagesGT-VMT’10
Re-Construction Process
![Page 18: McGill University GT-VMT’10 School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani Hans Vangheluwe](https://reader037.vdocuments.net/reader037/viewer/2022110304/551c05ff550346b24f8b4e8c/html5/thumbnails/18.jpg)
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)
![Page 19: McGill University GT-VMT’10 School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani Hans Vangheluwe](https://reader037.vdocuments.net/reader037/viewer/2022110304/551c05ff550346b24f8b4e8c/html5/thumbnails/19.jpg)
De-/Re-constructing Model Transformation LanguagesGT-VMT’10
RE-CONSTRUCTION OF EXISTING MTLS
19
![Page 20: McGill University GT-VMT’10 School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani Hans Vangheluwe](https://reader037.vdocuments.net/reader037/viewer/2022110304/551c05ff550346b24f8b4e8c/html5/thumbnails/20.jpg)
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.
![Page 21: McGill University GT-VMT’10 School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani Hans Vangheluwe](https://reader037.vdocuments.net/reader037/viewer/2022110304/551c05ff550346b24f8b4e8c/html5/thumbnails/21.jpg)
21
De-/Re-constructing Model Transformation LanguagesGT-VMT’10
FUJABA: FOR-ALL PATTERN
![Page 22: McGill University GT-VMT’10 School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani Hans Vangheluwe](https://reader037.vdocuments.net/reader037/viewer/2022110304/551c05ff550346b24f8b4e8c/html5/thumbnails/22.jpg)
22
De-/Re-constructing Model Transformation LanguagesGT-VMT’10
FUJABA: FOR-ALL PATTERN
![Page 23: McGill University GT-VMT’10 School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani Hans Vangheluwe](https://reader037.vdocuments.net/reader037/viewer/2022110304/551c05ff550346b24f8b4e8c/html5/thumbnails/23.jpg)
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.
![Page 24: McGill University GT-VMT’10 School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani Hans Vangheluwe](https://reader037.vdocuments.net/reader037/viewer/2022110304/551c05ff550346b24f8b4e8c/html5/thumbnails/24.jpg)
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
![Page 25: McGill University GT-VMT’10 School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani Hans Vangheluwe](https://reader037.vdocuments.net/reader037/viewer/2022110304/551c05ff550346b24f8b4e8c/html5/thumbnails/25.jpg)
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).
![Page 26: McGill University GT-VMT’10 School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani Hans Vangheluwe](https://reader037.vdocuments.net/reader037/viewer/2022110304/551c05ff550346b24f8b4e8c/html5/thumbnails/26.jpg)
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.
![Page 27: McGill University GT-VMT’10 School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani Hans Vangheluwe](https://reader037.vdocuments.net/reader037/viewer/2022110304/551c05ff550346b24f8b4e8c/html5/thumbnails/27.jpg)
De-/Re-constructing Model Transformation LanguagesGT-VMT’10
MOTIF-CORE: VISUAL REPRESENTATIONMore Readable: Repotting the geraniums
27
![Page 28: McGill University GT-VMT’10 School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani Hans Vangheluwe](https://reader037.vdocuments.net/reader037/viewer/2022110304/551c05ff550346b24f8b4e8c/html5/thumbnails/28.jpg)
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
?