A catalogue of optimization techniques for triple graph grammars
Bidirectional model transformation languages are typically declarative, being able to provide unidirectional operationalizations from a common specification automatically. Declarative languages have numerous advantages, but ensuring runtime efficiency, especially without any knowledge of the underlying transformation engine, is often quite challenging. Triple Graph Grammars (TGGs) are a prominent example for a completely declarative, bidirectional language and have been successfully used in various application scenarios. Although an optimization phase based on profiling results is often a necessity to meet runtime requirements, there currently exists no systematic classification and evaluation of optimization strategies for TGGs, i.e., the optimization process is typically an ad-hoc process. In this paper, we investigate the runtime scalability of an exemplary bidirectional model-to-text transformation. While systematically optimizing the implementation, we introduce, classify and apply a series of optimization strategies. We provide in each case a quantitative measurement and qualitative discussion, establishing a catalogue of current and future optimization techniques for TGGs in particular and declarative rule-based model transformation languages in general.
Full Text: PDF