Software & Systems Modeling

, Volume 13, Issue 1, pp 273–299 | Cite as

Bridging the gap between formal semantics and implementation of triple graph grammars

Ensuring conformance of relational model transformation specifications and implementations
Theme Section Paper

Abstract

The correctness of model transformations is a crucial element for model-driven engineering of high-quality software. A prerequisite to verify model transformations at the level of the model transformation specification is that an unambiguous formal semantics exists and that the implementation of the model transformation language adheres to this semantics. However, for existing relational model transformation approaches, it is usually not really clear under which constraints particular implementations really conform to the formal semantics. In this paper, we will bridge this gap for the formal semantics of triple graph grammars (TGG) and an existing efficient implementation. While the formal semantics assumes backtracking and ignores non-determinism, practical implementations do not support backtracking, require rule sets that ensure determinism, and include further optimizations. Therefore, we capture how the considered TGG implementation realizes the transformation by means of operational rules, define required criteria, and show conformance to the formal semantics if these criteria are fulfilled. We further outline how static and runtime checks can be employed to guarantee these criteria.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Amelunxen, C., Klar, F., Königs, A., Rötschke, T., Schürr, A.: Metamodel-based tool integration with MOFLON. In: ICSE ’08: Proceedings of the 30th ICSE, pp. 807–810. ACM, New York (2008)Google Scholar
  2. 2.
    Bapodra, M., Heckel, R.: From graph transformations to differential equations. In: Graph and Model Transformation. EC-EASST (2010)Google Scholar
  3. 3.
    Becker, B., Giese, H.: Incremental verification of inductive invariants for the run-time evolution of self-adaptive software-intensive systems. In: Proceedings of 23rd IEEE/ACM International Conference on Automated Software Engineering—Workshops, pp. 33–40. IEEE Computer Society Press (2008)Google Scholar
  4. 4.
    Biermann, E., Ermel, C., Taentzer, G.: Precise semantics of EMF model transformations by graph transformation. In: Czarnecki, K., Ober, I., Bruel, J.-M., Uhl, A., Völter, M. (eds) Proceedings of the 11th International Conference on Model Driven Engineering Languages and Systems, Toulouse, France, September 28–October 3, 2008. LNCS, pp. 53–67 (2008)Google Scholar
  5. 5.
    Burmester S., Giese H., Niere J., Tichy M., Wadsack J.P., Wagner R., Wendehals L., Zündorf A.: Tool integration at the meta-model level within the fujaba tool suite. Int. J. Softw. Tools Technol. Transf. (STTT) 6(3), 203–218 (2004)CrossRefGoogle Scholar
  6. 6.
    de Lara, J., Vangheluwe, H.: AToM3 as a Meta-CASE Environment (DFD to SC). In: Proceedings of the 4th International Conference on Enterprise Information Systems (2002)Google Scholar
  7. 7.
    Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of algebraic graph transformation. EATCS Monographs in Theoretical Computer Science. Springer, Berlin (2006)Google Scholar
  8. 8.
    Ehrig, H., Ermel, C., Hermann, F.: On the relationship of model transformations based on triple and plain graph grammars. In: GRaMoT’08: Proceedings of the third International Workshop on Graph and Model Transformations, pp. 9–16. ACM, New York (2008)Google Scholar
  9. 9.
    Ehrig, H., Ermel, C., Hermann, F., Prange, U.: On-the-fly construction, correctness and completeness of model transformations based on triple graph grammars. In: Proceedings Models 2009 Model Driven Engineering Languages and Systems. LNCS, vol. 5795/2009, pp. 241–255. Springer Berlin (2009)Google Scholar
  10. 10.
    Ehrig, H., Prange, U.: Formal analysis of model transformations based on triple graph rules with kernels. In: ICGT’08: Proceedings of the 4th International Conference on Graph Transformation, pp. 178–193. Springer, Berlin (2008)Google Scholar
  11. 11.
    Fischer, T., Niere, J., Torunski, L., Zündorf, A.: Story Diagrams: a new graph rewrite language based on the unified modeling language and java. In: TAGT’98: Selected papers from the 6th International Workshop on Theory and Application of Graph Transformations. Lecture Notes in Computer Science (LNCS), vol. 1764/2000, pp. 296–309. Springer, London, 16–20 November 2000Google Scholar
  12. 12.
    Giese, H., Glesner, S., Leitner, J., Schäfer, W., Wagner, R.: Towards verified model transformations. In: Hearnden, D., Süß, J., Baudry, B., Rapin, N. (eds.) Proceedings of the 3rd International Workshop on Model Development, Validation and Verification (MoDeVa) Genova, Italy, pp. 78–93. Le Commissariat à l’Energie Atomique—CEA, (2006)Google Scholar
  13. 13.
    Giese, H., Hildebrandt, S.: Incremental model synchronization for multiple updates. In: Proceedings of the 3rd International Workshop on Graph and Model Transformations, May 12, 2008, Leipzig, Germany, volume Proceedings of GraMoT’08, May 12, 2008, Leipzig, Germany. ACM Press (2008)Google Scholar
  14. 14.
    Giese, H., Hildebrandt, S.: Efficient model synchronization of large-scale models. Technical Report 28, Hasso Plattner Institute at the University of Potsdam (2009)Google Scholar
  15. 15.
    Giese, H., Hildebrandt, S., Lambers, L.: Toward bridging the gap between formal semantics and implementation of triple graph grammars. Technical Report 37, Hasso Plattner Institute at the University of Potsdam (2010)Google Scholar
  16. 16.
    Giese, H., Hildebrandt, S., Lambers, L.: Toward bridging the gap between formal semantics and implementation of triple graph grammars. In: Proceedings of MoDeVVa 2010, Models Workshop on Model-Driven Engineering, Verification and Validation, pp. 19–24. IEEE Computer Society (2010)Google Scholar
  17. 17.
    Giese, H., Hildebrandt, S., Neumann, S., Wätzoldt, S.: Industrial Case Study on the Integration of SysML and AUTOSAR with Triple Graph Grammars. Technical Report 57, Hasso Plattner Institute at the University of Potsdam (2012)Google Scholar
  18. 18.
    Giese, H., Hildebrandt, S., Seibel, A.: improved flexibility and scalability by interpreting story diagrams. In: Magaria, T., Padberg, J., Taentzer, G. (eds.) Proceedings of the Eighth International Workshop on Graph Transformation and Visual Modeling Techniques (GT-VMT 2009), vol. 18. Electronic Communications of the EASST (2009)Google Scholar
  19. 19.
    Giese, H., Neumann, S., Hildebrandt, S.: Model synchronization at work: keeping SysML and AUTOSAR models consistent. In: Engels, G., Lewerentz, C., Schäfer, W., Schürr, A., Westfechtel, B. (eds.) Graph Transformations and Model Driven Enginering—Essays Dedicated to Manfred Nagl on the Occasion of his 65th Birthday. Lecture Notes in Computer Science, vol. 5765, pp. 555–579. Springer, Berlin (2010)Google Scholar
  20. 20.
    Giese, H., Wagner, R.: From model transformation to incremental bidirectional model synchronization. Softw. Syst. Model. (SoSyM) 8(1) (2009)Google Scholar
  21. 21.
    Greenyer J., Kindler E.: Comparing relational model transformation technologies: implementing query/view/transformation with triple graph grammars. Softw. Syst. Model. 9(1), 21–46 (2010)CrossRefGoogle Scholar
  22. 22.
    Hermann, F., Ehrig, H., Golas, U., Orejas, F.: Efficient analysis and execution of correct and complete model transformations based on triple graph grammars. In: Proceedings of the First International Workshop on Model-Driven Interoperability, MDI ’10, pp. 22–31. ACM, New York (2010)Google Scholar
  23. 23.
    Hermann, F., Ehrig, H., Orejas, F., Golas, U.: Formal analysis of functional behaviour for model transformations based on triple graph grammars. In: Ehrig, H., Rensink, A., Rozenberg, G., Schrr, A. (eds.) Graph Transformations. Lecture Notes in Computer Science, vol. 6372, pp. 155–170. Springer Berlin (2010)Google Scholar
  24. 24.
    ITU International Telecommunication Union. ITU-T Recommendation Z.100: Specification and Description Language (SDL) (2002)Google Scholar
  25. 25.
    Jouault, F., Kurtev, I.: Transforming models with ATL. In: Satellite Events at the MoDELS 2005 Conference. LNCS, vol. 3844, pp. 128–138. Springer, Berlin (2006)Google Scholar
  26. 26.
    Kindler, E., Rubin, V., Wagner, R.: An adaptable TGG interpreter for in-memory model transformation. In: Schürr, A., Zündorf, A. (eds.) Proceedings of the 2nd International Fujaba Days 2004, Darmstadt, Germany, vol. tr-ri-04-253 of Technical Report, pp. 35–38. University of Paderborn (2004)Google Scholar
  27. 27.
    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.) Graph Transformations and Model-Driven Engineering. Lecture Notes in Computer Science, vol. 5765, pp. 141–174. Springer, Berlin (2010)Google Scholar
  28. 28.
    Küster J.: Definition and validation of model transformations. Softw. Syst. Model. 5(3), 233–259 (2006)CrossRefGoogle Scholar
  29. 29.
    Lambers, L., Ehrig, H., Prange, U., Orejas, F.: Embedding and confluence of graph transformations with negative application conditions. In: Ehrig, H., Heckel, R., Rozenberg, G., Taentzer, G. (eds.) Proceedings of International Conference on Graph Transformation (ICGT’08), LNCS, vol. 5214, pp. 162–177. Springer, Heidelberg (2008)Google Scholar
  30. 30.
    Lambers, L.: Certifying Rule-based models using graph transformation. PhD thesis, Technische Universität Berlin (2010)Google Scholar
  31. 31.
    Lambers, L., Hildebrandt, S., Giese, H., Orejas, F.: Attribute handling for bidirectional model transformations: the triple graph grammar case. In: Proceedings of First International Workshop on Bidirectional Transformations. EC-EASST, (2012, to appear)Google Scholar
  32. 32.
    Mens, T., Van Der Straeten, R., D’Hondt, M.: Detecting and resolving model inconsistencies using transformation dependency analysis. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) Model Driven Engineering Languages and Systems. Lecture Notes in Computer Science, vol. 4199, pp. 200–214. Springer, Berlin (2006)Google Scholar
  33. 33.
    Object Management Group. MOF 2.0 QVT 1.0 Specification (2008)Google Scholar
  34. 34.
    Orejas, F., Guerra, E., de Lara, J., Ehrig, H.: Correctness, completeness and termination of pattern-based model-to-model transformation. In: Kurz, A., Lenisa, M., Tarlecki, A. (eds.) CALCO. LNCS, vol. 5728, pp. 383–397. Springer, Berlin (2009)Google Scholar
  35. 35.
    Orejas, F., Lambers, L.: Delaying constraint solving in symbolic graph transformation. In: Proceedings of International Conference on Graph Transformation (ICGT’10), vol. 6372, pp. 43–58 (2010)Google Scholar
  36. 36.
    Schäfer, W., Wagner, R., Gausemeier, J., Eckes, R.: An Engineer’s Workstation to support integrated development of flexible production control systems. In: Ehrig, H., Damm, W., Desel, J., Grosse-Rhode M., Reif, W., Schnieder, E., Westkämper, E. (eds.) Integration of Software Specification Techniques for Applications in Engineering. Lecture Notes in Computer Science (LNCS), vol. 3147, pp. 48–68. Springer, Berlin (2004)Google Scholar
  37. 37.
    Schürr, A.: Specification of graph translators with triple graph grammars. In: Mayr, E.W., Schmidt, G., Tinhofer, G. (eds.) Proceedings of the 20th International Workshop on Graph-Theoretic Concepts in Computer Science. LNCS, vol. 903, pp. 151–163. Spinger, Herrsching (1994)Google Scholar
  38. 38.
    Schürr, A., Klar, F.: 15 Years of triple graph grammars: research challenges, new contributions, open problems. In: 4th International Conference of Graph Transformation, ICGT 2008, Leicester, United Kingdom, September 7–13, 2008. LNCS, vol. 5214, pp. 411–425. Springer, Berlin (2008)Google Scholar
  39. 39.
    Sendall, S., Kozaczynski, W.: Model transformation: the heart and soul of model-driven software development. IEEE Software, pp. 42–45 (2003)Google Scholar
  40. 40.
    Stevens P.: Bidirectional model transformations in QVT: semantic issues and open questions. Softw. Syst. Model. 9(1), 7–20 (2010)CrossRefGoogle Scholar
  41. 41.
    Taentzer, G., Ermel, C., Rudolf, M.: The AGG-approach: language and tool environment. In: Ehrig, H., Engels, G., Kreowski, H.-J., Rozenberg, G. (eds.) Handbook of graph grammars and computing by graph transformation, vol. 2: Applications, Languages and Tools, pp. 551–603. World Scientific, Singapore (1999)Google Scholar
  42. 42.
    Vogel, T., Neumann, S., Hildebrandt, S., Giese, H., Becker, B.: Incremental model synchronization for efficient run-time monitoring. In: Ghosh, S. (ed.) Models in Software Engineering, Workshops and Symposia at MODELS 2009, Denver, CO, USA, October 4–9, 2009, Reports and Revised Selected Papers. LNCS, vol. 6002, pp. 124–139. Springer, Berlin (2010)Google Scholar

Copyright information

© Springer-Verlag 2012

Authors and Affiliations

  • Holger Giese
    • 1
  • Stephan Hildebrandt
    • 1
  • Leen Lambers
    • 1
  1. 1.Hasso Plattner Institute at the University of PotsdamPotsdamGermany

Personalised recommendations