Download presentation

Presentation is loading. Please wait.

Published byDamion Fackrell Modified over 2 years ago

1
McGill University GT-VMT’10 School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani Hans Vangheluwe

2
GT-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 Conclusion 2

3
GT-VMT’10 MOTIVATION Rule-based transformation languages: most-widely used paradigm Many MTLs co-exist today ATL, 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 – Feature-specific MTL – Domain-specific – Domain-specific MTL

4
GT-VMT’10 FEATURE MATRIX [1] 4 [1] Syriani, E. and Vangheluwe, H. (2009) Matters of model transformation. Technical Report SOCS-TR-2009.2. McGill University, School of Computer Science.

5
GT-VMT’10 PROBLEMATIC Given this diversity, it is hard to: 1.Compare 1.Compare expressiveness interoperability 2.Provide framework for interoperability design 3.Rigorously design transformation languages 5

6
GT-VMT’10 PROPOSED SOLUTION Provide 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 6

7
GT-VMT’10 7

8
COMMONALITY patterns Pre-/Post- condition patterns Matching Matching Rewriting Rewriting Validation Validation of consistent rule application Matches manipulation – Iteration – Roll-back Control flow – Choice – Concurrency Composition Composition Structure & Semantics 8

9
GT-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 9

10
GT-VMT’10 T-CORE MODULE 10 Pattern representation Matches processed structure 8 primitive transformation operators

11
GT-VMT’10 T-CORE MODULE 11 Dissociate pre- from post- condition patterns ‒Query vs. Rule

12
GT-VMT’10 T-CORE MODULE 12 Packet ‒Host graph MatchSet ‒Matches for a given pattern Match ‒Sub-model of interest Pivot ‒Node binding (across match sets) ‒Parameterized rule

13
GT-VMT’10 T-CORE MODULE 13 Dissociate Match 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
GT-VMT’10 T-CORE MODULE 14 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
GT-VMT’10 T-CORE MODULE 15 Selector ‒Can store packets ‒Select one on demand Synchronizer ‒Can store packets ‒Merge packets on demand ‒Customizable merge function

16
GT-VMT’10 T-CORE MODULE 16 Meaningfully compose its sub-primitives User-defined composition Common interface

17
GT-VMT’10 17

18
GT-VMT’10 TRANSFORMATION LANGUAGE Combination 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) 18

19
GT-VMT’10 RE-CONSTRUCTION OF EXISTING MTLS 19

20
GT-VMT’10 FUJABA: FOR-ALL PATTERN [2] 20 [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
GT-VMT’10 FUJABA: FOR-ALL PATTERN 21

22
GT-VMT’10 FUJABA: FOR-ALL PATTERN 22

23
GT-VMT’10 AMALGAMATION RULES: REPOTTING THE GERANIUMS [3] “Repot all flowering geraniums whose pots have cracked” 23 [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.

24
GT-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
GT-VMT’10 MOTIF-CORE: TIMED MTLS Time Exceptions MoTif AtomicRule [5] 25 [5] Syriani, E. and Vangheluwe, H. (2009) Discrete-Event Modeling and Simulation: Theory and Applications. CRC Press, Boca Raton (USA).

26
GT-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.

27
GT-VMT’10 MOTIF-CORE: VISUAL REPRESENTATION More Readable: Repotting the geraniums 27

28
GT-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-Core 28 ?

Similar presentations

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google