Efficient Model Synchronization with View Triple Graph Grammars
Model synchronization is a crucial task in the context of Model Driven Engineering. Especially when creating and maintaining multiple suitable abstractions or views of a complex system, a bidirectional transformation is required to keep all views and the corresponding system synchronized by automatically propagating changes in both directions. Triple Graph Grammars (TGGs) are a declarative, rule-based bidirectional transformation language, which can be used to support model synchronization. In practice, most TGG tools restrict the supported class of TGGs for efficiency reasons. These restrictions are, however, seldom intuitive and are often difficult to understand and adhere to, especially for non-experts. View Triple Graph Grammars (VTGGs) are a restricted form of TGGs, which can be highly optimized for efficient view update propagation. We argue that the restrictions posed by VTGGs are explicit and intuitive for users, as they can be adequately motivated based on the main application scenarios for VTGGs. In this paper, we present for the first time a formalization of VTGGs, stating precisely the advantages and limitations of VTGGs as compared to TGGs, and backing our claims with initial runtime measurements from a practical case study.
Keywordsmodel driven engineering bidirectional model transformation triple graph grammars view triple graph grammars
Unable to display preview. Download preview PDF.
- 1.Anjorin, A., Varró, G., Schürr, A.: Complex Attribute Manipulation in TGGs with Constraint-Based Programming Techniques. In: BX 2012. ECEASST, vol. 49, pp. 1–15. EASST (2012)Google Scholar
- 3.Bohannon, A., Pierce, B.C., Vaughan, J.A.: Relational Lenses: A Language for Updatable Views. In: PODS 2006, pp. 338–347. ACM (2006)Google Scholar
- 6.Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation, 1st edn. Springer (2006)Google Scholar
- 10.Nuseibeh, B., Kramer, J., Finkelstein, A.: ViewPoints: Meaningful Relationships are Difficult!. In: Clarke, L.A., Dillon, L., Tichy, F.W. (eds.) ICSE 2003, pp. 676–683. IEEE (2003)Google Scholar
- 12.Yokoyama, T., Axelsen, H., Glück, R.: Principles of a Reversible Programming Language. In: Ramírez, A., Bilardi, G., Gschwind, M. (eds.) CF 2008, pp. 43–54. ACM (2008)Google Scholar