A Static Analysis of Non-confluent Triple Graph Grammars for Efficient Model Transformation

  • Anthony Anjorin
  • Erhan Leblebici
  • Andy Schürr
  • Gabriele Taentzer
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8571)

Abstract

Triple Graph Grammars (TGGs) are a well-known bidirectional model transformation language. All actively developed TGG tools pose restrictions to guarantee efficiency (polynomial runtime), without compromising formal properties. Most tools demand confluence of the TGG, meaning that a choice between applicable rules can be freely made without affecting the final result of a transformation. This is, however, a strong restriction for transformations with inherent degrees of freedom that should not be limited at design time. eMoflon is a TGG tool that supports non-confluent TGGs, allowing different results depending on runtime choices. To guarantee efficiency, nonetheless, a local choice of the next source element to be translated, based on source context dependencies of the rules, must not lead to a dead end, i.e., to a state where no rule is applicable for the currently chosen source element to be translated, and the transformation is not yet complete. Our contribution in this paper is to formalize a corresponding property, referred to as local completeness, using graph constraints. Based on the well-known transformation of constraints to application conditions, we present a static analysis that guarantees dead end-freeness for non-confluent TGGs.

Keywords

Bidirectionality triple graph grammars static analysis 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Anjorin, A., Schürr, A., Taentzer, G.: Construction of Integrity Preserving Triple Graph Grammars. In: Ehrig, H., Engels, G., Kreowski, H.-J., Rozenberg, G. (eds.) ICGT 2012. LNCS, vol. 7562, pp. 356–370. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  2. 2.
    Arendt, T., Biermann, E., Jurack, S., Krause, C., Taentzer, G.: Henshin: Advanced Concepts and Tools for In-Place EMF Model Transformations. In: Petriu, D.C., Rouquette, N., Haugen, Ø. (eds.) MODELS 2010, Part I. LNCS, vol. 6394, pp. 121–135. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  3. 3.
    Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation. Monographs in Theoretical Computer Science. An EATCS Series. Springer (2006)Google Scholar
  4. 4.
    Ehrig, H., Habel, A., Ehrig, K., Pennemann, K.H.: Theory of Constraints and Application Conditions: From Graphs to High-Level Structures. Fundamenta Informaticae 74(1), 135–166 (2006)MATHMathSciNetGoogle Scholar
  5. 5.
    Ghamarian, A.H., de Mol, M., Rensink, A., Zambon, E., Zimakova, M.: Modelling and Analysis Using GROOVE. STTT 12 14(1), 15–40 (2012)CrossRefGoogle Scholar
  6. 6.
    Giese, H., Hildebrandt, S., Lambers, L.: Toward Bridging the Gap Between Formal Semantics and Implementation of Triple Graph Grammars. Tech. Rep. 37, Hasso-Plattner Institute (2010)Google Scholar
  7. 7.
    Greenyer, J., Rieke, J.: Applying Advanced TGG Concepts for a Complex Transformation of Sequence Diagram Specifications to Timed Game Automata. In: Schürr, A., Varró, D., Varró, G. (eds.) AGTIVE 2011. LNCS, vol. 7233, pp. 222–237. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  8. 8.
    Hermann, F., Ehrig, H., Golas, U., Orejas, F.: Efficient Analysis and Execution of Correct and Complete Model Transformations Based on Triple Graph Grammars. In: Bézivin, J., Soley, M.R., Vallecillo, A. (eds.) MDI 2010, vol. 1866277, pp. 22–31. ACM Press (2010)Google Scholar
  9. 9.
    Klar, F., Lauder, M., Königs, A., Schürr, A.: Extended Triple Graph Grammars with Efficient and Compatible Graph Translators. In: Engels, G., Lewerentz, C., Schäfer, W., Schürr, A., Westfechtel, B. (eds.) Nagl Festschrift. LNCS, vol. 5765, pp. 141–174. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  10. 10.
    Lauder, M., Anjorin, A., Varró, G., Schürr, A.: Efficient Model Synchronization with Precedence Triple Graph Grammars. In: Ehrig, H., Engels, G., Kreowski, H.-J., Rozenberg, G. (eds.) ICGT 2012. LNCS, vol. 7562, pp. 401–415. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  11. 11.
    Leblebici, E., Anjorin, A., Schürr, A.: A Catalogue of Optimization Techniques for Triple Graph Grammars. In: Fill, H.G., Karagiannis, D., Reimer, U. (eds.) Modellierung 2014. LNI, vol. 225, pp. 225–240. GI (2014)Google Scholar
  12. 12.
    Leblebici, E., Anjorin, A., Schürr, A.: Developing eMoflon with eMoflon. In: Varró, D. (ed.) ICMT 2014. LNCS, vol. 8568, pp. 138–145. Springer, Heidelberg (2014)Google Scholar
  13. 13.
    Schürr, A.: Specification of Graph Translators with Triple Graph Grammars. In: Mayr, E.W., Schmidt, G., Tinhofer, G. (eds.) WG 1994. LNCS, vol. 903, pp. 151–163. Springer, Heidelberg (1995)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Anthony Anjorin
    • 1
  • Erhan Leblebici
    • 1
  • Andy Schürr
    • 1
  • Gabriele Taentzer
    • 2
  1. 1.Real-Time Systems LabTechnische Universität DarmstadtGermany
  2. 2.Fachbereich Mathematik und InformatikPhilipps-Universität MarburgGermany

Personalised recommendations