1 / 28

De-/ Re - constructing Model Transformation Languages

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

iris-morris
Download Presentation

De-/ Re - constructing Model Transformation Languages

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. De-/Re-constructing Model Transformation Languages Eugene SyrianiHans Vangheluwe

  2. 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

  3. 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 MTL • Domain-specific MTL

  4. 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. Problematic Given this diversity, it is hard to: • Compare expressiveness • Provide framework for interoperability • Rigorously design transformation languages

  6. Proposed Solution Provide a common basis for MTLs, in terms of primitive building blocks • De-Construction • Small set of most primitive constructs • Re-Construction • Existing MTLs in terms of primitive building blocks • Optimization • Discover new MTLs

  7. De-Construction Process

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

  9. 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. T-Core Module • Pattern representation • Matches processed structure • 8 primitive transformation operators

  11. T-Core Module • Dissociatepre- from post- condition patterns • Query vs. Rule

  12. 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. 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. 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. T-Core Module • Selector • Can store packets • Select one on demand • Synchronizer • Can store packets • Merge packets on demand • Customizable merge function

  16. T-Core Module • Meaningfully compose its sub-primitives • User-defined composition • Common interface

  17. Re-Construction Process

  18. Transformation language Combination of • Primitive transformation constructs • (Sub-set of) T-Core module • Glue language • Programming language (Python, Java) • Modelling language (Activity Diagram, Petri-Net, DEVS)

  19. Re-construction of existing MTLs

  20. 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. Fujaba: for-all Pattern

  22. Fujaba: for-all Pattern

  23. 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.

  24. MoTif-Core:Asynchronous transformations • 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 [4] Zeigler, B. P. (1984) Multifacetted Modelling and Discrete Event Simulation. Academic Press.

  25. MoTif-Core: timed MTLs MoTif AtomicRule [5] • Time • Exceptions [5] Syriani, E. and Vangheluwe, H. (2009) Discrete-Event Modeling and Simulation: Theory and Applications. CRC Press, Boca Raton (USA).

  26. MoTif-Core: Asynchronous MTLs GReAT Test/Case block [5] • Asynchrony • Parallelism [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. MoTif-Core: Visual representation More Readable: Repotting the geraniums

  28. ? 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

More Related