Triple Graph Grammars in the Large for Translating Satellite Procedures

  • Frank Hermann
  • Susann Gottmann
  • Nico Nachtigall
  • Hartmut Ehrig
  • Benjamin Braatz
  • Gianluigi Morelli
  • Alain Pierre
  • Thomas Engel
  • Claudia Ermel
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8568)


Software translation is a challenging task. Several requirements are important – including automation of the execution, maintainability of the translation patterns, and, most importantly, reliability concerning the correctness of the translation.

Triple graph grammars (TGGs) have shown to be an intuitive, well-defined technique for model translation. In this paper, we leverage TGGs for industry scale software translations. The approach is implemented using the Eclipse-based graph transformation tool Henshin and has been successfully applied in a large industrial project with the satellite operator SES on the translation of satellite control procedures. We evaluate the approach regarding requirements from the project and performance on a complete set of procedures of one satellite.


model transformation software translation refactoring triple graph grammars Eclipse Modeling Framework (EMF) 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Anjorin, A., Cunha, A., Giese, H., Hermann, F., Rensink, A., Schürr, A.: Benchmarx. In: Bidirectional Model Transformations 2014. CEUR-Workshop Proceedings, vol. 1133, pp. 82–86. CEUR (2014)Google Scholar
  2. 2.
    Baxter, I., Pidgeon, P., Mehlich, M.: DMS: Program transformations for practical scalable software evolution. In: Software Engineering (ICSE 2004). IEEE Press (2004)Google Scholar
  3. 3.
    Bravenboer, M., Kalleberg, K.T., Vermaas, R., Visser, E.: Stratego/XT 0.17. a language and toolset for program transformation. Science of Computer Programming 72(1-2), 52–70 (2008)CrossRefMathSciNetGoogle Scholar
  4. 4.
    Cordy, J.R.: The TXL source transformation language. Science of Computer Programming 61(3), 190–210 (2006)CrossRefzbMATHMathSciNetGoogle Scholar
  5. 5.
    Cordy, J.R.: Excerpts from the TXL cookbook. In: Fernandes, J.M., Lämmel, R., Visser, J., Saraiva, J. (eds.) GTTSE 2009. LNCS, vol. 6491, pp. 27–91. Springer, Heidelberg (2011)Google Scholar
  6. 6.
    The Eclipse Foundation: Xtext – Language Development Framework – Version 2.2.1 (2012),
  7. 7.
    The Eclipse Foundation: EMF Henshin – Version 0.9.4 (2013),
  8. 8.
    Ehrig, H., Ehrig, K., Hermann, F.: From model transformation to model integration based on the algebraic approach to triple graph grammars. ECEASST 10, 14 (2008)Google Scholar
  9. 9.
    Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation. Springer (2006)Google Scholar
  10. 10.
    Ehrig, H., Ehrig, K., Ermel, C., Hermann, F., Taentzer, G.: Information preserving bidirectional model transformations. In: Dwyer, M.B., Lopes, A. (eds.) FASE 2007. LNCS, vol. 4422, pp. 72–86. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  11. 11.
    Giese, H., Wagner, R.: From model transformation to incremental bidirectional model synchronization. Software and Systems Modeling 8(1), 21–43 (2009)CrossRefGoogle Scholar
  12. 12.
    Hegedüs, Á., Horváth, Á., Varró, D.: Towards guided trajectory exploration of graph transformation systems. ECEASST 40 (2010)Google Scholar
  13. 13.
    Hermann, F., Ehrig, H., Golas, U., Orejas, F.: Efficient analysis and execution of correct and complete model transformations based on triple graph grammars. In: Model Driven Interoperability (MDI 2010), pp. 22–31. ACM (2010)Google Scholar
  14. 14.
    Hermann, F., Ehrig, H., Orejas, F., Golas, U.: Formal analysis of functional behaviour of model transformations based on triple graph grammars. In: Ehrig, H., Rensink, A., Rozenberg, G., Schürr, A. (eds.) ICGT 2010. LNCS, vol. 6372, pp. 155–170. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  15. 15.
    Hermann, F., Gottmann, S., Nachtigall, N., Braatz, B., Morelli, G., Pierre, A., Engel, T.: On an Automated Translation of Satellite Procedures Using Triple Graph Grammars. In: Duddy, K., Kappel, G. (eds.) ICMB 2013. LNCS, vol. 7909, pp. 50–51. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  16. 16.
    Hermann, F., Gottmann, S., Nachtigall, N., Ehrig, H., Braatz, B., Morelli, G., Pierre, A., Engel, T., Ermel, C.: Triple Graph Grammars in the Large for Translating Satellite Procedures – Extended Version. Tech. rep. TR-SnT-2014-7, University of Luxembourg, SnT (2014),
  17. 17.
    Hildebrandt, S., Lambers, L., Giese, H., Rieke, J., Greenyer, J., Schäfer, W., Lauder, M., Anjorin, A., Schürr, A.: A survey of triple graph grammar tools. In: Stevens, P., Terwilliger, J.F. (eds.) Bidirectional Transformations 2013. ECEASST, vol. 57. European Association of Software Science and Technology (2013)Google Scholar
  18. 18.
    Kats, L.C.L., Visser, E.: The Spoofax language workbench. rules for declarative specification of languages and IDEs. In: Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2010 (2010)Google Scholar
  19. 19.
    Klint, P., Vinju, J.J., van der Storm, T.: RASCAL: A domain specific language for source code analysis and manipulation. In: Source Code Analysis and Manipulation. pp. 168–177. IEEE Computer Society (2009)Google Scholar
  20. 20.
    Klint, P., van der Storm, T., Vinju, J.: EASY meta-programming with Rascal. In: Fernandes, J.M., Lämmel, R., Visser, J., Saraiva, J. (eds.) GTTSE 2009. LNCS, vol. 6491, pp. 222–289. Springer, Heidelberg (2011)Google Scholar
  21. 21.
    Lambers, L.: Certifying Rule-Based Models using Graph Transformation. Ph.D. thesis, Technische Universität Berlin (2009)Google Scholar
  22. 22.
    Lauder, M., Anjorin, A., Varró, G., Schürr, A.: Bidirectional model transformation with precedence triple graph grammars. In: Vallecillo, A., Tolvanen, J.-P., Kindler, E., Störrle, H., Kolovos, D. (eds.) ECMFA 2012. LNCS, vol. 7349, pp. 287–302. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  23. 23.
    Mészáros, T., Mezei, G., Levendovszky, T., Asztalos, M.: Manual and automated performance optimization of model transformation systems. International Journal on Software Tools for Technology Transfer 12(3-4), 231–243 (2010)CrossRefGoogle Scholar
  24. 24.
    Parr, T., Fisher, K.: LL(*): the foundation of the ANTLR parser generator. ACM SIGPLAN Notices 46(6), 425–436 (2011)CrossRefGoogle Scholar
  25. 25.
    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
  26. 26.
    Schürr, A., Klar, F.: 15 years of triple graph grammars. In: Ehrig, H., Heckel, R., Rozenberg, G., Taentzer, G. (eds.) ICGT 2008. LNCS, vol. 5214, pp. 411–425. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  27. 27.
    SES Engineering: SPELL - Satellite Procedure Execution Language & Library – Version 2.3.13 (2013),
  28. 28.
    TFS-Group, TU Berlin: AGG (2014),
  29. 29.
    Tichy, M., Krause, C., Liebel, G.: Detecting performance bad smells for Henshin model transformations. In: Proc. Analysis of Model Transformations (AMT 2013). CEUR-Workshop Proceedings, vol. 1077, pp. 82–86. CEUR (2013)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Frank Hermann
    • 1
  • Susann Gottmann
    • 1
  • Nico Nachtigall
    • 1
  • Hartmut Ehrig
    • 2
  • Benjamin Braatz
    • 1
  • Gianluigi Morelli
    • 3
  • Alain Pierre
    • 3
  • Thomas Engel
    • 1
  • Claudia Ermel
    • 2
  1. 1.Interdisciplinary Centre for Security, Reliability and TrustUniversité du LuxembourgLuxembourg
  2. 2.Technische Universität BerlinGermany
  3. 3.SESLuxembourg

Personalised recommendations