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.Comment: In Proceedings TTC 2013, arXiv:1311.753