Advertisement

Comparing relational model transformation technologies: implementing Query/View/Transformation with Triple Graph Grammars

  • Joel Greenyer
  • Ekkart Kindler
Special Section Paper

Abstract

The Model Driven Architecture (MDA) is an approach to develop software based on different models. There are separate models for the business logic and for platform specific details. Moreover, code can be generated automatically from these models. This makes transforma- tions a core technology for MDA and for model-based software engineering approaches in general. Query/View/Transformation (QVT) is the transformation technology recently proposed for this purpose by the OMG. Triple Graph Grammars (TGGs) are another transformation technology proposed in the mid-nineties, used for example in the FUJABA CASE tool. In contrast to many other transformation technologies, both QVT and TGGs declaratively define the relation between two models. With this definition, a transformation engine can execute a transformation in either direction and, based on the same definition, can also propagate changes from one model to the other. In this paper, we compare the concepts of the declarative languages of QVT and TGGs. It turns out that TGGs and declarative QVT have many concepts in common. In fact, QVT-Core can be mapped to TGGs. We show that QVT-Core can be implemented by transforming QVT-Core mappings to TGG rules, which can then be executed by a TGG transformation engine that performs the actual QVT transformation. Furthermore, we discuss an approach for mapping QVT-Relations to TGGs. Based on the semantics of TGGs, we clarify semantic gaps that we identified in the declarative languages of QVT and, furthermore, we show how TGGs can benefit from the concepts of QVT.

Keywords

MDA Model-based software engineering Model transformation Query/View/Transformation (QVT) Triple Graph Grammar (TGG) 

References

  1. 1.
    Amelunxen C., Königs A., Rötschke T., Schürr A.: MOFLON: a standard-compliant metamodeling framework with graph transformations. In: Rensink, A., Warmer, J. (eds) Model Driven Architecture—Foundations and Applications: Second European Conference. Lecture Notes in Computer Science (LNCS), vol. 4066, pp. 361–375. Springer, Heidelberg (2006)Google Scholar
  2. 2.
    Cremer K., Gruner S., Nagl M.: Graph transformation based integration tools: applications to chemical process engineering. In: 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, pp. 369–394. World Scientific, Singapore (1999)Google Scholar
  3. 3.
    Gepting, A., Greenyer, J., Kindler, E., Maas, A., Munkelt, S., Pales, C., Pivl, T., Rohe, O., Rubin, V., Sanders, M., Scholand, A., Wagner C., Wagner, R.: Component tools: a vision of a tool. In: Proceedings of the 11th Workshop on Algorithms and Tools for Petri Nets (AWPN2004), Paderborn, Germany, September 30–October 1, pp. 37–42 (2004)Google Scholar
  4. 4.
    Giese, H., Wagner, R.: Incremental model synchronization with Triple Graph Grammars. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) Proceedings of the 9th International Conference on Model Driven Engineering Languages and Systems (MoDELS), Genova, Italy, October 2006. Lecture Notes in Computer Science (LNCS), vol. 4199, pp. 543–557. Springer, Berlin (2006)Google Scholar
  5. 5.
    Giese H., Wagner R.: From model transformation to incremental bidirectional model synchronization Softw. Syst. Model. (SoSyM) 8(1), 21–43 (2009). doi: 10.1007/s10270-008-0089-9 CrossRefGoogle Scholar
  6. 6.
    Greenyer, J.: A Study of Model Transformation Technologies: Reconciling TGGs with QVT. Master’s thesis, University of Paderborn, Department of Computer Science, Paderborn, Germany, July (2006)Google Scholar
  7. 7.
    Greenyer, J., Kindler, E.: Reconciling TGGs with QVT. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) Proceedings of the 10th International Conference on Model Driven Engineering Languages and Systems, MoDELS 2007, Nashville, USA, September 30–October 5, 2007. Lecture Notes in Computer Science, vol. 4735, pp. 16–30. Springer, Berlin (2007)Google Scholar
  8. 8.
    Guerra, E., de Lara, J.: Model view management with triple graph transformation systems. In: Corradini, A., Ehrig, H., Montanari, U., Ribeiro, L., Rozenberg, G. (eds.) Proceedings of the Third International Conference on Graph Transformation, ICGT 2006. Lecture Notes in Computer Science, vol. 4178. Springer, Berlin (2006)Google Scholar
  9. 9.
    ikv ++ technologies ag. medini QVT. WWW, 2007. Version: 1.1.2.14069. http://projects.ikv.de/qvt (2008). Accessed Dec 2008
  10. 10.
    Kindler, E., Wagner, R.: Triple Graph Grammars: Concepts, Extensions, Implementations, and Application Scenarios. Technical Report tr-ri-07-284. Department of Computer Science, University of Paderborn, Department of Computer Science, University of Paderborn, June (2007)Google Scholar
  11. 11.
    Klar, F., Königs, A., Schürr, A.: Model transformation in the large. In: Proceedings of the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on The foundations of Software Engineering, Dubrovnik, Croatia, Sept. 03–07, 2007, pp. 285–294 (2007)Google Scholar
  12. 12.
    Königs A., Schürr A.: MDI—a rule-based multi-document and tool integration approach. Special Section Model-based Tool Integration J. Softw. Syst. Model. 5(4), 349–368 (2006)Google Scholar
  13. 13.
    Lengyel, L., Levendovszky, T., Charaf, H.: Realizing QVT with graph rewriting-based model transformation. In: International Workshop on Graph and Model Transformation (GraMoT), Brighton, UK, September (2006)Google Scholar
  14. 14.
    Object Management Group (OMG): Model Driven Architecture MDA—A Technical Perspective, July (2001). OMG document ormsc/01-07-01Google Scholar
  15. 15.
    Object ManagementGroup (OMG): UML 2.0 OCL Specification, March (2003). OMG document ptc/03-10-14Google Scholar
  16. 16.
    Object Management Group (OMG): Meta Object Facility (MOF) Core Specification, January (2006). OMG document formal/06-01-01Google Scholar
  17. 17.
    Object Management Group (OMG): MOF QVT Final adopted Specification, July (2007). OMG document ptc/07-07-07Google Scholar
  18. 18.
    Rensink A., Nederpel R.: Graph transformation semantics for a QVT language. In: Bruni, R., Varro, D. (eds) International Workshop on Graph Transformation and Visual Modeling Techniques (GT-VMT), Vienna, Austria. Electronic Notes in Theoretical Computer Science, vol. 211, pp. 51–62. Elsevier, Amsterdam (2008)Google Scholar
  19. 19.
    Romeikat, R., Roser, S., Müllender, P., Bauer, B.: Translation of QVT relations into QVT operational mappings. In: Proceedings of the 1st international conference on Theory and Practice of Model Transformations, pp. 137–151 (2008)Google Scholar
  20. 20.
    Schürr, A., Winter, A.J., Zündorf, A.: Graph grammar engineering with PROGRES. In: Proceedings of the 5th European Software Engineering Conference, ESEC 1995, Sitges, Spain, September 25–28, 1995. Lecture Notes in Computer Science, vol. 989/1995, pp. 219–234. Springer, Berlin (1995)Google Scholar
  21. 21.
    Schürr A.: Specification of graph translators with triple graph grammars. In: Tinhofer, G. (eds) Proceeding of the 20th International Workshop on Graph-Theoretic Concepts in Computer Science. Lecture Notes in Computer Science (LNCS), vol. 903, pp. 151–163. Springer, Heidelberg (1994)Google Scholar
  22. 22.
    Stevens, P.: Bidirectional model transformations in QVT: semantic issues and open questions. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) Proceedings of the 10th International Conference on Model Driven Engineering Languages and Systems, MoDELS 2007, Nashville, USA, September 30–October 5, 2007. Lecture Notes in Computer Science, vol. 4735, pp. 1–15. Springer, Berlin (2007)Google Scholar
  23. 23.
    Tata Consultancy Services (TCS): ModelMorf—A Model Transformer. WWW, 2007. Version: Pre-Beta 3. http://www.tcs-trddc.com/ModelMorf/ (2008). Accessed Dec 2008
  24. 24.
    Travkin, O.: Abbildung von QVT-Relations auf TGGs und deren Auswirkung auf die Spezifikation von TGGs (in German). Bachelor thesis, University of Paderborn, Department of Computer Science, Paderborn, Germany, August (2008)Google Scholar
  25. 25.
    Wagner, R.: Developing model transformations with Fujaba. In: Giese, H., Westfechtel, B. (eds.) Proceedings of the 4th International Fujaba Days 2006, Bayreuth, Germany, vol. tr-ri-06-275 of Technical Report, pp 79–82. University of Paderborn, September (2006)Google Scholar

Copyright information

© Springer-Verlag 2009

Authors and Affiliations

  1. 1.Software Engineering GroupUniversity of PaderbornPaderbornGermany
  2. 2.Informatics and Mathematical ModellingTechnical University of Denmark (DTU)Kongens LyngbyDenmark

Personalised recommendations