Bidirectional Model Transformations Using a Handcrafted Triple Graph Transformation System

  • Thomas Buchmann
  • Sandra GreinerEmail author
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 743)


Model transformations are the core essence of model-driven software development. Over the years, languages and techniques for unidirectional batch transformations have become mature and are used frequently. However, some transformation problems rather demand for bidirectional and incremental transformations. Unfortunately, available model transformation languages support this kind of transformations only to a limited extent. In this paper, we present a solution for bidirectional and incremental model transformations using a handcrafted triple graph transformation system. As a real world use case, we show the feasibility of our approach in the context of model and code synchronization.


  1. 1.
    Object Management Group: Meta Object Facility (MOF) Version 2.5. OMG, Needham, MA. formal/2015-06-05 edn. (2015)Google Scholar
  2. 2.
    Object Management Group: Unified Modeling Language (UML). Object Management Group, Needham, MA. formal/15-03-01 edn. (2015)Google Scholar
  3. 3.
    Mellor, S.J., Kendall, S., Uhl, A., Weise, D.: MDA Distilled. Addison Wesley Longman Publishing Co. Inc, Redwood City (2004)Google Scholar
  4. 4.
    Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF Eclipse Modeling Framework. The Eclipse Series, 2nd edn. Addison-Wesley, Boston (2009)Google Scholar
  5. 5.
    Buchmann, T.: Valkyrie: a UML-based model-driven environment for model-driven software engineering. In: Hammoudi, S., van Sinderen, M., Cordeiro, J. (eds.) Proceedings of the 7th International Conference on Software Paradigm Trends, ICSOFT 2012, Rome, Italy, 24–27 July 2012, pp. 147–157. SciTePress (2012)Google Scholar
  6. 6.
    Buchmann, T., Westfechtel, B.: Using triple graph grammars to realize incremental round-trip engineering. IET Softw. (2016).
  7. 7.
    Greiner, S., Buchmann, T., Westfechtel, B.: Bidirectional transformations with QVT-R: a case study in round-trip engineering UML class models and Java source code. In: Hammoudi, S., Pires, L.F., Selic, B., Desfray, P. (eds.) Proceedings of the 4rd International Conference on Model-Driven Engineering and Software Development, MODELSWARD 2016, Rome, Italy, 19–21 February 2016, pp. 15–27. SciTePress (2016)Google Scholar
  8. 8.
    Buchmann, T., Greiner, S.: Handcrafting a triple graph transformation system to realize round-trip engineering between UML class models and java source code. In: Maciaszek, L.A., Cardoso, J.S., Ludwig, A., van Sinderen, M., Cabello, E. (eds.) Proceedings of the 11th International Joint Conference on Software Technologies (ICSOFT 2016), ICSOFT-PT, Lisbon, Portugal, 24–26 July 2016, vol. 2, pp. 27–38. SciTePress (2016)Google Scholar
  9. 9.
    Czarnecki, K., Helsen, S.: Feature-based survey of model transformation approaches. IBM Syst. J. 45, 621–645 (2006)CrossRefGoogle Scholar
  10. 10.
    Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I.: ATL: a model transformation tool. Sci. Comput. Program. 72, 31–39 (2008). Special Issue on Second issue of experimental software and toolkits (EST)MathSciNetCrossRefGoogle Scholar
  11. 11.
    Object Management Group: Meta Object Facility (MOF) 2.0 Query/View/Transformation Specification, Needham, MA. formal/2015-02-01 edn. (2015)Google Scholar
  12. 12.
    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. LNCS, vol. 6394, pp. 121–135. Springer, Heidelberg (2010). doi: 10.1007/978-3-642-16145-2_9CrossRefGoogle Scholar
  13. 13.
    Anjorin, A., Lauder, M., Schürr, A.: eMoflon: a metamodelling and model transformation tool. In: Störrle, H., Botterweck, G., Bourdellès, M., Kolovos, D., Paige, R., Roubtsova, E., Rubin, J., Tolvanen, J. (eds.) Joint Proceedings of the Co-located Events at the 8th European Conference on Modelling Foundations and Applications (ECMFA 2012), Copenhagen, Denmark, Technical University of Denmark (DTU), p. 348 (2012). ISBN: 978-87-643-1014-6Google Scholar
  14. 14.
    Rose, L.M., Kolovos, D.S., Paige, R.F., Polack, F.A.C., Poulding, S.M.: Epsilon flock: a model migration language. Softw. Syst. Model. 13, 735–755 (2014)CrossRefGoogle Scholar
  15. 15.
    Popoola, S., Kolovos, D.S., Rodriguez, H.H.: EMG: a domain-specific transformation language for synthetic model generation. In: Van Gorp, P., Engels, G. (eds.) ICMT 2016. LNCS, vol. 9765, pp. 36–51. Springer, Cham (2016). doi: 10.1007/978-3-319-42064-6_3CrossRefGoogle Scholar
  16. 16.
    Ehrig, K., et al.: Model transformation by graph transformation: a comparative. In: Bruel, J.-M. (ed.) MODELS 2005. LNCS, vol. 3844, pp. 71–80. Springer, Heidelberg (2006). doi: 10.1007/11663430CrossRefGoogle Scholar
  17. 17.
    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). doi: 10.1007/3-540-59071-4_45CrossRefGoogle Scholar
  18. 18.
    Buchmann, T., Dotor, A., Westfechtel, B.: Triple graph grammars or triple graph transformation systems? In: Chaudron, M.R.V. (ed.) MODELS 2008. LNCS, vol. 5421, pp. 138–150. Springer, Heidelberg (2009). doi: 10.1007/978-3-642-01648-6_15CrossRefGoogle Scholar
  19. 19.
    Brunelière, H., Cabot, J., Dupé, G., Madiot, F.: MoDisco: a model driven reverse engineering framework. Inf. Softw. Technol. 56, 1012–1032 (2014)CrossRefGoogle Scholar
  20. 20.
    Object Management Group: MOF Model to Text Transformation Language, Version 1.0. Object Management Group, Needham, MA. formal/2008-01 edn. (2008)Google Scholar
  21. 21.
    Hettel, T., Lawley, M., Raymond, K.: Towards model round-trip engineering: an abductive approach. In: Paige, R.F. (ed.) ICMT 2009. LNCS, vol. 5563, pp. 100–115. Springer, Heidelberg (2009). doi: 10.1007/978-3-642-02408-5_8CrossRefGoogle Scholar
  22. 22.
    Angyal, L., Lengyel, L., Charaf, H.: A synchronizing technique for syntactic model-code round-trip engineering. In: 15th Annual IEEE International Conference and Workshop on Engineering of Computer Based Systems (ECBS 2008), 31 March–4 April 2008, Belfast, Northern Ireland, pp. 463–472 (2008)Google Scholar
  23. 23.
    Bork, M., Geiger, L., Schneider, C., Zündorf, A.: Towards roundtrip engineering - a template-based reverse engineering approach. In: Schieferdecker, I., Hartman, A. (eds.) ECMDA-FA 2008. LNCS, vol. 5095, pp. 33–47. Springer, Heidelberg (2008). doi: 10.1007/978-3-540-69100-6_3CrossRefGoogle Scholar
  24. 24.
    Antkiewicz, M., Czarnecki, K.: Framework-specific modeling languages with round-trip engineering. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) MODELS 2006. LNCS, vol. 4199, pp. 692–706. Springer, Heidelberg (2006). doi: 10.1007/11880240_48CrossRefGoogle Scholar
  25. 25.
    Westfechtel, B.: Case-based exploration of bidirectional transformations in QVT relations. Softw. Syst. Model. (2016). doi: 10.1007/s10270-016-0527-zCrossRefGoogle Scholar
  26. 26.
    OMG: Action Language for Foundational UML (ALF). Object Management Group, Needham, MA. formal/2013-09-01 edn. (2013)Google Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  1. 1.Applied Computer Science IUniversity of BayreuthBayreuthGermany

Personalised recommendations