Main Content
Triple graph grammars (TGG) 2.0: Reliable and scalable model integration
Funded by the German Research Foundation (2017-2020).
Model-driven software development is a well-known approach to address the increasing complexity of modern software systems. Models allow the development of software at a higher level of abstraction. For the vision of model-driven development at large, it is important to keep related models consistent, even if they are changed simultaneously. Merging concurrent model changes and restoring consistency relationships between models is not yet sufficiently supported. Existing integration approaches have problems regarding expressive power, reliability, configurability and scalability. This is also true for bidirectional transformation languages, which are specifically designed to propagate changes between models.
To strengthen the vision of concurrent modeling, our project goal is to develop an approach for reliable and configurable model integration. The approach should be expressive and scalable enough for real-world application. The basis for this approach is triple graph grammars (TGGs), a subfield of bidirectional transformations. TGGs have been shown to scale and perform well in practice. Formally, TGGs are based on the algebraic graph transformation, a solid basis for proving the reliability of integrations. TGGs are therefore suitable as a basis, even though existing tool environments for TGGs so far only support propagation of model changes to unchanged models. Ideas for generalization towards true model integration exist, but only for simple forms of transformations.
Our project vision includes the following goals: (O1) To extend the expressive power of TGGs to include multiamalgamation as a new language concept. Multiamalgamation allows compact notation of for-after loops in transformation rules, a concept often needed in practice. Moreover, model integration should not be restricted to TGGs with functional behavior. (O2) Based on TGGs with multi-amalgamation, we aim to develop a framework for reliable model integrations. We pursue a new, true bidirectional approach to model integration that preserves formally defined correctness and completeness properties of TGG-based synchronizations. (O3) Configurable conflict detection and resolution strategies shall be developed for bidirectional change propagation. These shall preserve model changes as much as possible. (O4) We aim to characterize a class of scalable TGGs with multi-amalgamation that allow integration processes with polynomial runtime complexity. The characterized TGGs should be statically identifiable and preserve the correctness and completeness properties mentioned above.
Cooperation partners
Prof. Dr. Andy Schürr (TU Darmstadt)
Project collaborators
Lars Fritsche (TU Darmstadt)
Jens Kosiol (Philipps University Marburg)