de-/ re - constructing model transformation languages

28
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 Syriani Hans Vangheluwe

Upload: iris-morris

Post on 30-Dec-2015

32 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: De-/ Re - constructing  Model Transformation  Languages

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: De-/ Re - constructing  Model Transformation  Languages

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: De-/ Re - constructing  Model Transformation  Languages

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: De-/ Re - constructing  Model Transformation  Languages

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: De-/ Re - constructing  Model Transformation  Languages

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: De-/ Re - constructing  Model 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

Page 7: De-/ Re - constructing  Model Transformation  Languages

7

De-/Re-constructing Model Transformation LanguagesGT-VMT’10

De-Construction Process

Page 8: De-/ Re - constructing  Model Transformation  Languages

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: De-/ Re - constructing  Model Transformation  Languages

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: De-/ Re - constructing  Model Transformation  Languages

10

De-/Re-constructing Model Transformation LanguagesGT-VMT’10

T-CORE MODULE

• Pattern representation

• Matches processed structure

• 8 primitive transformation operators

Page 11: De-/ Re - constructing  Model Transformation  Languages

11

De-/Re-constructing Model Transformation LanguagesGT-VMT’10

T-CORE MODULE

• Dissociatepre- from post- condition patterns

‒ Query vs. Rule

Page 12: De-/ Re - constructing  Model Transformation  Languages

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: De-/ Re - constructing  Model Transformation  Languages

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: De-/ Re - constructing  Model Transformation  Languages

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: De-/ Re - constructing  Model Transformation  Languages

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: De-/ Re - constructing  Model Transformation  Languages

16

De-/Re-constructing Model Transformation LanguagesGT-VMT’10

T-CORE MODULE

• Meaningfully compose its sub-primitives

• User-defined composition

• Common interface

Page 17: De-/ Re - constructing  Model Transformation  Languages

17

De-/Re-constructing Model Transformation LanguagesGT-VMT’10

Re-Construction Process

Page 18: De-/ Re - constructing  Model Transformation  Languages

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: De-/ Re - constructing  Model Transformation  Languages

De-/Re-constructing Model Transformation LanguagesGT-VMT’10

RE-CONSTRUCTION OF EXISTING MTLS

19

Page 20: De-/ Re - constructing  Model Transformation  Languages

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: De-/ Re - constructing  Model Transformation  Languages

21

De-/Re-constructing Model Transformation LanguagesGT-VMT’10

FUJABA: FOR-ALL PATTERN

Page 22: De-/ Re - constructing  Model Transformation  Languages

22

De-/Re-constructing Model Transformation LanguagesGT-VMT’10

FUJABA: FOR-ALL PATTERN

Page 23: De-/ Re - constructing  Model Transformation  Languages

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: De-/ Re - constructing  Model Transformation  Languages

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: De-/ Re - constructing  Model Transformation  Languages

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: De-/ Re - constructing  Model Transformation  Languages

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: De-/ Re - constructing  Model Transformation  Languages

De-/Re-constructing Model Transformation LanguagesGT-VMT’10

MOTIF-CORE: VISUAL REPRESENTATIONMore Readable: Repotting the geraniums

27

Page 28: De-/ Re - constructing  Model Transformation  Languages

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

?