A Solution to the Flowgraphs Case Study using Triple Graph Grammars and eMoflon
This work addresses the problem of increasing expressiveness in TGGs for model transformation practitioners, but it is incremental as it builds on existing TGG implementations.
The paper tackled the need for challenging examples to demonstrate Triple Graph Grammars (TGGs) in real-world bidirectional model transformations, presenting a solution to the Flowgraphs case study using eMoflon with features like attribute constraints, binding expressions, and post-processing methods.
After 20 years of Triple Graph Grammars (TGGs) and numerous actively maintained implementations, there is now a need for challenging examples and success stories to show that TGGs can be used for real-world bidirectional model transformations. Our primary goal in recent years has been to increase the expressiveness of TGGs by providing a set of pragmatic features that allow a controlled fallback to programmed graph transformations and Java. Based on the Flowgraphs case study of the Transformation Tool Contest (TTC 2013), we present (i) attribute constraints used to express complex bidirectional attribute manipulation, (ii) binding expressions for specifying arbitrary context relationships, and (iii) post-processing methods as a black box extension for TGG rules. In each case, we discuss the enabled trade-off between guaranteed formal properties and expressiveness. Our solution, implemented with our metamodelling and model transformation tool eMoflon (www.emoflon.org), is available as a virtual machine hosted on Share.