mcgill university school of computer science ph.d. candidate in the modelling, simulation and design...
TRANSCRIPT
![Page 1: McGill University School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab MSDL09 De-/Re-constructing Model Transformation](https://reader038.vdocument.in/reader038/viewer/2022110116/55165e61550346a2698b50a1/html5/thumbnails/1.jpg)
McGill UniversitySchool of Computer Science
Ph.D. Candidate in the Modelling, Simulation and Design Lab
MSDL’09
De-/Re-constructing Model Transformation Languages
Eugene Syriani
![Page 2: McGill University School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab MSDL09 De-/Re-constructing Model Transformation](https://reader038.vdocument.in/reader038/viewer/2022110116/55165e61550346a2698b50a1/html5/thumbnails/2.jpg)
De-/Re-constructing Model Transformation LanguagesMSDL’09
OVERVIEW Context
De-Constructing Transformation Languages
— Collection of MT primitives
Re-Constructing Transformation Languages
— FUJABA
— More esoteric features
MoTif-Core: a re-construction example
— MoTif
— GReAT
Conclusion2
![Page 3: McGill University School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab MSDL09 De-/Re-constructing Model Transformation](https://reader038.vdocument.in/reader038/viewer/2022110116/55165e61550346a2698b50a1/html5/thumbnails/3.jpg)
De-/Re-constructing Model Transformation LanguagesMSDL’09
THE BIG PICTURE
![Page 4: McGill University School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab MSDL09 De-/Re-constructing Model Transformation](https://reader038.vdocument.in/reader038/viewer/2022110116/55165e61550346a2698b50a1/html5/thumbnails/4.jpg)
De-/Re-constructing Model Transformation LanguagesMSDL’09
IN THE CONTEXT• Many different model transformation languages (MTLs)
– Features [1]: atomicity, sequencing, branching, looping, non-determinism, recursion, parallelism, back-tracking, hierarchy, time
– Transformation rule: matching + rewriting + validation
• Hard to– Compare expressiveness
– Provide framework for interoperability
• Express MTLs in terms of primitive building blocks– De-Construction: small set of most primitive constructs
– Re-Construction: discover new MTLs + interoperation + optimization
4[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 School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab MSDL09 De-/Re-constructing Model Transformation](https://reader038.vdocument.in/reader038/viewer/2022110116/55165e61550346a2698b50a1/html5/thumbnails/5.jpg)
De-/Re-constructing Model Transformation LanguagesMSDL’09
DE-CONSTRUCTING TRANSFORMATION LANGUAGES
5
T-Core Module• 8 primitives
• Composition operator
• 3 types of messages
• Exchange of messages through methods
• 3 output states:– Success
– Fail
– Exception
![Page 6: McGill University School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab MSDL09 De-/Re-constructing Model Transformation](https://reader038.vdocument.in/reader038/viewer/2022110116/55165e61550346a2698b50a1/html5/thumbnails/6.jpg)
MSDL’09 De-/Re-constructing Model Transformation Languages
DE-CONSTRUCTING TRANSFORMATION LANGUAGES
Matcher
6
1. Find all matches (parameter)
2. Store result in packet
![Page 7: McGill University School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab MSDL09 De-/Re-constructing Model Transformation](https://reader038.vdocument.in/reader038/viewer/2022110116/55165e61550346a2698b50a1/html5/thumbnails/7.jpg)
MSDL’09 De-/Re-constructing Model Transformation Languages
DE-CONSTRUCTING TRANSFORMATION LANGUAGES
Rewriter
7
1. Check validity of packet
2. Apply transformation
3. Propagate changes in all match sets
4. Consume matchException possible!
![Page 8: McGill University School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab MSDL09 De-/Re-constructing Model Transformation](https://reader038.vdocument.in/reader038/viewer/2022110116/55165e61550346a2698b50a1/html5/thumbnails/8.jpg)
MSDL’09 De-/Re-constructing Model Transformation Languages
DE-CONSTRUCTING TRANSFORMATION LANGUAGES
Iterator
8
1. Check if match set is not empty
2. Randomly choose a match
![Page 9: McGill University School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab MSDL09 De-/Re-constructing Model Transformation](https://reader038.vdocument.in/reader038/viewer/2022110116/55165e61550346a2698b50a1/html5/thumbnails/9.jpg)
MSDL’09 De-/Re-constructing Model Transformation Languages
DE-CONSTRUCTING TRANSFORMATION LANGUAGES
Rollbacker
9
1. Push packet onto stack
1. Match set not empty:there are matches left (pass on)
2. No match set: back-track to previous state
![Page 10: McGill University School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab MSDL09 De-/Re-constructing Model Transformation](https://reader038.vdocument.in/reader038/viewer/2022110116/55165e61550346a2698b50a1/html5/thumbnails/10.jpg)
MSDL’09 De-/Re-constructing Model Transformation Languages
DE-CONSTRUCTING TRANSFORMATION LANGUAGES
Resolver
10
1. Conservative check for potentialconflict between differentmatches in match sets (parameter)
2. Customizable resolution functionException possible!
![Page 11: McGill University School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab MSDL09 De-/Re-constructing Model Transformation](https://reader038.vdocument.in/reader038/viewer/2022110116/55165e61550346a2698b50a1/html5/thumbnails/11.jpg)
MSDL’09 De-/Re-constructing Model Transformation Languages
DE-CONSTRUCTING TRANSFORMATION LANGUAGES
Selector
11
1.successIn: add to success set
2.failIn: add to fail set
3. Choose randomly first fromsuccess then from fail
Exception possible!
![Page 12: McGill University School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab MSDL09 De-/Re-constructing Model Transformation](https://reader038.vdocument.in/reader038/viewer/2022110116/55165e61550346a2698b50a1/html5/thumbnails/12.jpg)
MSDL’09 De-/Re-constructing Model Transformation Languages
DE-CONSTRUCTING TRANSFORMATION LANGUAGES
Synchronizer
12
1.successIn: add to success set
2.failIn: add to fail set
3. Merge only if all threadssucceeded
4. Customizable merge functionException possible!
![Page 13: McGill University School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab MSDL09 De-/Re-constructing Model Transformation](https://reader038.vdocument.in/reader038/viewer/2022110116/55165e61550346a2698b50a1/html5/thumbnails/13.jpg)
MSDL’09 De-/Re-constructing Model Transformation Languages
DE-CONSTRUCTING TRANSFORMATION LANGUAGES
Composer
13
1. Meaningfully composes its sub-primitives
2. User-defined composition
![Page 14: McGill University School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab MSDL09 De-/Re-constructing Model Transformation](https://reader038.vdocument.in/reader038/viewer/2022110116/55165e61550346a2698b50a1/html5/thumbnails/14.jpg)
MSDL’09 De-/Re-constructing Model Transformation Languages
DE-CONSTRUCTING TRANSFORMATION LANGUAGES
Motivating T-Core
14
• De-construct up to what level?
• What to include, what to exclude?– Pre/PostConditionPattern: rules, bi-directional, functions
– Separation match/rewrite: queries, nested transformaitons
– Packet: sufficient info to be processed by each primitive, designed for concurrent transformations
– Composition: scaling for large model transformations
– T-Core module: open for more building blocks, extendable
![Page 15: McGill University School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab MSDL09 De-/Re-constructing Model Transformation](https://reader038.vdocument.in/reader038/viewer/2022110116/55165e61550346a2698b50a1/html5/thumbnails/15.jpg)
De-/Re-constructing Model Transformation LanguagesMSDL’09
RE-CONSTRUCTING TRANSFORMATION LANGUAGES
15
![Page 16: McGill University School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab MSDL09 De-/Re-constructing Model Transformation](https://reader038.vdocument.in/reader038/viewer/2022110116/55165e61550346a2698b50a1/html5/thumbnails/16.jpg)
MSDL’09 De-/Re-constructing Model Transformation Languages
RE-CONSTRUCTING TRANSFORMATION LANGUAGES
FUJABA for-all Pattern [2]
16[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 17: McGill University School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab MSDL09 De-/Re-constructing Model Transformation](https://reader038.vdocument.in/reader038/viewer/2022110116/55165e61550346a2698b50a1/html5/thumbnails/17.jpg)
MSDL’09 De-/Re-constructing Model Transformation Languages
RE-CONSTRUCTING TRANSFORMATION LANGUAGES
FUJABA for-all Pattern
17
![Page 18: McGill University School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab MSDL09 De-/Re-constructing Model Transformation](https://reader038.vdocument.in/reader038/viewer/2022110116/55165e61550346a2698b50a1/html5/thumbnails/18.jpg)
MSDL’09 De-/Re-constructing Model Transformation Languages
RE-CONSTRUCTING TRANSFORMATION LANGUAGES
FUJABA for-all Pattern
18
![Page 19: McGill University School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab MSDL09 De-/Re-constructing Model Transformation](https://reader038.vdocument.in/reader038/viewer/2022110116/55165e61550346a2698b50a1/html5/thumbnails/19.jpg)
MSDL’09 De-/Re-constructing Model Transformation Languages
RE-CONSTRUCTING TRANSFORMATION LANGUAGES
“Repot all flowering geraniums whose pots have cracked”
Amalgamation rules: Repotting the geraniums [3]
19[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 20: McGill University School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab MSDL09 De-/Re-constructing Model Transformation](https://reader038.vdocument.in/reader038/viewer/2022110116/55165e61550346a2698b50a1/html5/thumbnails/20.jpg)
De-/Re-constructing Model Transformation LanguagesMSDL’09
MOTIF-CORE = DEVS + T-CORE [4]
20[4] Zeigler, B. P. (1984) Multifacetted Modelling and Discrete Event Simulation. Academic Press.
![Page 21: McGill University School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab MSDL09 De-/Re-constructing Model Transformation](https://reader038.vdocument.in/reader038/viewer/2022110116/55165e61550346a2698b50a1/html5/thumbnails/21.jpg)
MSDL’09 De-/Re-constructing Model Transformation Languages
MOTIF-CORE: TIMED MTLS
• Time
• Exceptions
MoTif AtomicRule [5]
21[5] Syriani, E. and Vangheluwe, H. (2009) Discrete-Event Modeling and Simulation: Theory and Applications. CRC Press, Boca Raton (USA).
![Page 22: McGill University School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab MSDL09 De-/Re-constructing Model Transformation](https://reader038.vdocument.in/reader038/viewer/2022110116/55165e61550346a2698b50a1/html5/thumbnails/22.jpg)
MSDL’09 De-/Re-constructing Model Transformation Languages
MOTIF-CORE: TIMED MTLS
• Asynchrony
• Parallelism
GReAT Test/Case block [6]
22[6] 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 23: McGill University School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab MSDL09 De-/Re-constructing Model Transformation](https://reader038.vdocument.in/reader038/viewer/2022110116/55165e61550346a2698b50a1/html5/thumbnails/23.jpg)
MSDL’09 De-/Re-constructing Model Transformation Languages
MOTIF-CORE: TIMED MTLSMore Readable: Repotting the geraniums
23
![Page 24: McGill University School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab MSDL09 De-/Re-constructing Model Transformation](https://reader038.vdocument.in/reader038/viewer/2022110116/55165e61550346a2698b50a1/html5/thumbnails/24.jpg)
De-/Re-constructing Model Transformation LanguagesMSDL’09
CONCLUSION• Collection of MT primitives: T-Core
• Re-construction of existing MTLs (comparable)
• New-Construction of novel MTLs: MoTif-Core
• Future Work– Efficiently implement these primitives
– Compare MoTif-Core with QVT-Core
24
![Page 25: McGill University School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab MSDL09 De-/Re-constructing Model Transformation](https://reader038.vdocument.in/reader038/viewer/2022110116/55165e61550346a2698b50a1/html5/thumbnails/25.jpg)
De-/Re-constructing Model Transformation LanguagesMSDL’09
Let’s discuss
25