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.
Article PDF
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Avoid common mistakes on your manuscript.
References
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)
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)
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)
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)
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
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)
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)
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)
ikv ++ technologies ag. medini QVT. WWW, 2007. Version: 1.1.2.14069. http://projects.ikv.de/qvt (2008). Accessed Dec 2008
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)
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)
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)
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)
Object Management Group (OMG): Model Driven Architecture MDA—A Technical Perspective, July (2001). OMG document ormsc/01-07-01
Object ManagementGroup (OMG): UML 2.0 OCL Specification, March (2003). OMG document ptc/03-10-14
Object Management Group (OMG): Meta Object Facility (MOF) Core Specification, January (2006). OMG document formal/06-01-01
Object Management Group (OMG): MOF QVT Final adopted Specification, July (2007). OMG document ptc/07-07-07
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)
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)
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)
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)
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)
Tata Consultancy Services (TCS): ModelMorf—A Model Transformer. WWW, 2007. Version: Pre-Beta 3. http://www.tcs-trddc.com/ModelMorf/ (2008). Accessed Dec 2008
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)
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)
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Prof. Gregor Engels.
J. Greenyer was supported by the International Graduate School of Dynamic Intelligent Systems.
Rights and permissions
About this article
Cite this article
Greenyer, J., Kindler, E. Comparing relational model transformation technologies: implementing Query/View/Transformation with Triple Graph Grammars. Softw Syst Model 9, 21–46 (2010). https://doi.org/10.1007/s10270-009-0121-8
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-009-0121-8