Staged Translation of Graph Transformation Rules

  • Sabine WinetzhammerEmail author
  • Bernhard Westfechtel
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 506)


Graph transformation rules provide an opportunity to specify model transformations in a declarative way at a high level of abstraction. So far, compilers have translated graph transformation rules into conventional programming languages such as Java, C, or C#. In contrast, we follow a staged translation approach: We developed a compiler which translates graph transformation rules into a procedural language for behavioral modeling (Xcore). By reusing the Xcore compiler, the code may be compiled down to a conventional programming language in a second step. The generated Xcore code is significantly more concise and readable than programming language code. Furthermore, the code is portable since it is completely programming language independent.


Graph Transformation Rules Behavioral Modeling Code Generation 



The constructive comments of the unknown reviewers are gratefully acknowledged.


  1. 1.
    Agrawal, A., Karsai, G., Neema, S., Shi, F., Vizhanyo, A.: The design of a language for model transformations. Software and Systems Modeling 5, 261–288 (2006)CrossRefGoogle Scholar
  2. 2.
    Anjorin, A., Lauder, M., Patzina, S., Schürr, A.: eMoflon: Leveraging EMF and Professional CASE Tools. In: INFORMATIK 2011. Lecture Notes in Informatics, vol. 192, p. 281. Gesellschaft für Informatik, Gesellschaft für Informatik, Bonn (October 2011), extended abstractGoogle Scholar
  3. 3.
    Arendt, Thorsten, Biermann, Enrico, Jurack, Stefan, Krause, Christian, Taentzer, Gabriele: Henshin: Advanced Concepts and Tools for In-Place EMF Model Transformations. In: Petriu, Dorina C., Rouquette, Nicolas, Haugen, Øystein (eds.) MODELS 2010, Part I. LNCS, vol. 6394, pp. 121–135. Springer, Heidelberg (2010) CrossRefGoogle Scholar
  4. 4.
    Buchmann, T., Westfechtel, B., Winetzhammer, S.: ModGraph – A Transformation Engine for EMF Model Transformations. In: Proceedings of the 6th International Conference on Software and Data Technologies (ICSOFT 2011). pp. 212–219. Sevilla, Spain (2011)Google Scholar
  5. 5.
    Czarnecki, K., Helsen, S.: Feature-based survey of model transformation approaches. IBM Systems Journal 45(3), 621–646 (2006)CrossRefGoogle Scholar
  6. 6.
    Eclipse Foundation: Xcore (2013),
  7. 7.
    Efftinge, S., Eysholdt, M., Köhnlein, J., Zarnekow, S., Hasselbring, W., von Massow, R., Hanus, M.: Xbase: Implementing domain-specific languages for Java. In: Proceedings of the 11th International Conference on Generative Programming and Component Engineering (GPCE 2012). pp. 112–121. ACM, Dresden, Germany (2012)Google Scholar
  8. 8.
    Ehrig, H., Engels, G., Kreowski, H.J., Rozenberg, G. (eds.): Handbook on Graph Grammars and Computing by Graph Transformation: Applications, Languages, and Tools, vol. 2. World Scientific, Singapore (1999)Google Scholar
  9. 9.
    Fowler, M.: Refactoring: Improving the Design of Existing Code. Addison-Wesley, Boston, MA, USA (1999)zbMATHGoogle Scholar
  10. 10.
    Giese, H., Hildebrandt, S., Seibel, A.: Improved flexibility and scalability by interpreting story diagrams. In: Boronat, A., Heckel, R. (eds.) Proceedings of the 8th International Workshop on Graph Transformation and Visual Modeling Techniques (GT-VMT 2009). Electronic Communications of the EASST, vol. 18. York, UK (Mar 2009), 12 pGoogle Scholar
  11. 11.
    Jakumeit, E., Buchwald, S., Kroll, M.: GrGen.NET – the expressive, convenient and fast graph rewrite system. International Journal on Software Tools for Technology Transfer 12, 263–271 (2010)CrossRefGoogle Scholar
  12. 12.
    Jakumeit, E., Buchwald, S., Wagelaar, D., Dan, L., Hegedüs, A., Herrmannsdörfer, M., Horn, T., Kalnina, E., Krause, C., Lano, K., Lepper, M., Rensink, A., Rose, L., Wätzold, S., Mazanek, S.: A survey and comparison of transformation tools based on the transformation tool contest. Science of Computer Programming 85A, 41–99 (2014)CrossRefGoogle Scholar
  13. 13.
    Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I.: ATL: A model transformation tool. Science of Computer Programming 72(1–2), 31–39 (2008)MathSciNetCrossRefzbMATHGoogle Scholar
  14. 14.
    Norbisrath, U., Zündorf, A., Jubeh, R.: Story Driven Modeling. CreateSpace Independent Publishing Platform (2013), iSBN-10: 1483949257Google Scholar
  15. 15.
    Object Management Group: Object Constraint Language Version 2.3.1. Needham, MA, formal/2012-01-01 edn. (Jan 2012)Google Scholar
  16. 16.
    OMG: Meta Object Facility (MOF) 2.0 Query/View/Transformation, v1.1. OMG (Jan 2011)Google Scholar
  17. 17.
    Schürr, A., Winter, A., Zündorf, A.: The PROGRES approach: Language and environment. In: Ehrig et al. [8], pp. 487–550Google Scholar
  18. 18.
    Schwägerl, F., Uhrig, S., Westfechtel, B.: Model-based tool support for consistent three-way merging of EMF models. In: Proceedings of the Workshop on ACadeMics Tooling with Eclipse (ACME 2013). pp. 2:1–2:10. ACM, Montpellier, France (2013)Google Scholar
  19. 19.
    Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF Eclipse Modeling Framework, 2nd edn. The Eclipse Series, Addison Wesley, Boston, MA (2009)Google Scholar
  20. 20.
    Tisi, Massimo, Jouault, Frédéric, Fraternali, Piero, Ceri, Stefano, Bézivin, Jean: On the Use of Higher-Order Model Transformations. In: Paige, Richard F., Hartman, Alan, Rensink, Arend (eds.) ECMDA-FA 2009. LNCS, vol. 5562, pp. 18–33. Springer, Heidelberg (2009) CrossRefGoogle Scholar
  21. 21.
    Varró, D., Balogh, A.: The model transformation language of the VIATRA2 framework. Science of Computer Programming 68(3), 214–234 (2007)MathSciNetCrossRefzbMATHGoogle Scholar
  22. 22.
    Winetzhammer, S.: ModGraph – generating executable EMF models. In: Margaria, T., Padberg, J., Taentzer, G., Krause, C., Westfechtel, B. (eds.) Proceedings of the 7th International Workshop on Graph Based Tools. Electronic Communications of the EASST, vol. 54. Bremen, Germany (September 2012), 13 pGoogle Scholar
  23. 23.
    Winetzhammer, S., Westfechtel, B.: ModGraph meets Xcore: Combining rule-based and procedural behavioral modeling for EMF. In: Tichy, M., Ribeiro, L., Margaria, T., Padberg, J., Taentzer, G. (eds.) Proceedings of the 12th International Workshop on Graph Transformation and Visual Modeling Techniques (GTVMT 2013). Electronic Communications of the EASST, vol. 58. Rome, Italy (March 2013), 13 pGoogle Scholar
  24. 24.
    Winetzhammer, S., Westfechtel, B.: Compiling graph transformation rules into a procedural language for behavioral modeling. In: Pires, L.F., Hammoudi, S., Filipe, J., das Neves, R.C. (eds.) Proceedings of the 2nd International Conference on Model-Driven Engineering and Software Development (MODELSWARD 2014). pp. 415–424. SCITEPRESS Science and Technology Publications, Portugal, Lisbon, Portugal (2014)Google Scholar
  25. 25.
    Winetzhammer, S., Westfechtel, B.: Propagating model refactorings to graph transformation rules. In: ICSOFT-PT 2014 - Proceedings of the 9th International Conference on Software Paradigm Trends. pp. 17–28. Vienna, Austria (Aug 2014)Google Scholar
  26. 26.
    Winetzhammer, S., Westfechtel, B.: Model refactorings for and with graph transformation rules. In: Holzinger, A., Cardoso, J., Libourel, T., Maciaszek, L., van Sinderen, M. (eds.) Software Technologies. Communications in Computer and Information Science, Springer, Heidelberg (2015), invited paper, selected from ICSOFT-PT 2014, 18 pGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  1. 1.Applied Computer Science IUniversity of BayreuthBayreuthGermany

Personalised recommendations