Abstract
Model transformations constitute a key technology for model-driven software engineering. In round-trip engineering processes, model transformations are performed not only in forward, but also in backward direction. In this paper, we compare declarative and procedural approaches to defining bidirectional transformations. More specifically, we use the well-known Families to Persons benchmark to evaluate two approaches. The declarative approach is based on QVT Relations (QVT-R), a declarative language which allows to specify incremental bidirectional transformations by defining a set of relations which need to hold among the participating models. The procedural approach makes use of BXtend, a light-weight framework for bidirectional transformations which are implemented in Xtend, a procedural and object-oriented programming language. Surprisingly, the comparative evaluation demonstrates that the procedural approach outperforms the declarative approach with respect to different criteria such as correctness of the solution, implementation effort, or cognitive complexity.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
TGG denotes triple graph grammars, GT stands for graph transformations.
- 2.
References
Anjorin, A., Buchmann, T., Westfechtel, B.: The families to persons case. In: Garcia-Dominguez et al. [12], pp. 27–34
Anjorin, A., Cunha, A., Giese, H., Hermann, F., Rensink, A., Schürr, A.: BenchmarX. In: Candan, K.S., Amer-Yahia, S., Schweikardt, N., Christophides, V., Leroy, V. (eds.) Workshop Proceedings of the EDBT/ICDT 2014 Joint Conference. CEUR Workshop Proceedings, Athens, Greece, vol. 1133, pp. 82–86, March 2014
Anjorin, A., Diskin, Z., Jouault, F., Ko, H.S., Leblebici, E., Westfechtel, B.: BenchmarX reloaded: a practical framework for bidirectional transformations. In: Eramo, R., Johnson, M. (eds.) Sixth International Workshop on Bidirectional Transformations (BX 2017). CEUR Workshop Proceedings, Uppsala, Sweden, vol. 1827, pp. 15–30, April 2017
Anjorin, A., Lauder, M., Schürr, A.: eMoflon: a metamodelling and model transformation tool. In: Störrle, H., et al. (eds.) Joint Proceedings of the Co-located Events at the 8th European Conference on Modelling Foundations and Applications (ECMFA 2012), p. 348. Technical University of Denmark (DTU), Copenhagen (2012)
Bradfield, J., Stevens, P.: Recursive checkonly QVT-R transformations with general when and where clauses via the modal mu calculus. In: de Lara, J., Zisman, A. (eds.) FASE 2012. LNCS, vol. 7212, pp. 194–208. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-28872-2_14
Bradfield, J., Stevens, P.: Enforcing QVT-R with mu-Calculus and games. In: Cortellessa, V., Varró, D. (eds.) FASE 2013. LNCS, vol. 7793, pp. 282–296. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-37057-1_21
Buchmann, T.: BXtend—a framework for (bidirectional) model transformations. In: Hamoudi, S., Pires, L.F., Selic, B. (eds.) Proceedings of the 6th International Conference on Model-Driven Engineering and Software Development: MODELSWARD (MODELSWARD 2018), Funchal, Madeira, vol. 1, pp. 336–345. SciTePress, January 2018
Buchmann, T., Greiner, S.: Bidirectional model transformations using a handcrafted triple graph transformation system. In: Cabello, E., Cardoso, J., Ludwig, A., Maciaszek, L.A., van Sinderen, M. (eds.) ICSOFT 2016. CCIS, vol. 743, pp. 201–220. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-62569-0_10
Buchmann, T., Westfechtel, B.: Using triple graph grammars to realize incremental round-trip engineering. IET Softw. 10(6), 173–181 (2016)
Czarnecki, K., Foster, J.N., Hu, Z., Lämmel, R., Schürr, A., Terwilliger, J.F.: Bidirectional transformations: a cross-discipline perspective. In: Paige, R.F. (ed.) ICMT 2009. LNCS, vol. 5563, pp. 260–283. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-02408-5_19
Czarnecki, K., Helsen, S.: Feature-based survey of model transformation approaches. IBM Syst. J. 45(3), 621–645 (2006)
Garcia-Dominguez, A., Hinkel, G., Krikava, F. (eds.): Proceedings of the 10th Transformation Tool Contest (TTC 2017). CEUR Workshop Proceedings, Marburg, vol. 2026, July 2017
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 4th International Conference on Model-Driven Engineering and Software Development (MODELSWARD 2016), pp. 15–27. SciTePress (2016)
Hidaka, S., Tisi, M., Cabot, J., Hu, Z.: Feature-based classification of bidirectional transformation approaches. Softw. Syst. Model. 15(3), 907–928 (2016)
Hinkel, G.: An NMF solution to the families to persons case at the TTC 2017. In: Garcia-Dominguez et al. [12], pp. 35–39
Horn, T.: Solving the TTC families to persons case with funnyQT. In: Garcia-Dominguez et al. [12], pp. 47–51
IKV++ technologies: medini QVT (2017). http://projects.ikv.de/qvt
Macedo, N., Cunha, A.: Least-change bidirectional model transformation with QVT-R and ATL. Softw. Syst. Model. 15(3), 783–810 (2016)
Object Management Group: Object Constraint Language Version 2.4. Needham, MA, formal/2014-02-03 edn, February 2014
Object Management Group: Meta Object Facility (MOF) 2.0 Query/View/Transformation Specification Version 1.3. Needham, MA, formal/2016-06-03 edn, February 2016
Object Management Group: OMG Meta Object Facility (MOF) Core Specification Version 2.5.1. Needham, MA, formal/2016-11-01 edn, November 2016
Samimi-Dehkordi, L., Zamani, B., Rahimi, S.K.: Solving the families to persons case using EVL+Strace. In: Garcia-Dominguez et al. [12], pp. 54–62
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). https://doi.org/10.1007/3-540-59071-4_45
Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF Eclipse Modeling Framework. The Eclipse Series, 2nd edn. Addison-Wesley, Upper Saddle River (2009)
Stevens, P.: Bidirectional model transformations in QVT: semantic issues and open questions. Softw. Syst. Model. 9(1), 7–20 (2010)
Westfechtel, B.: A case study for evaluating bidirectional transformations in QVT relations. In: Filipe, J., Maciaszek, L. (eds.) In: Proceedings of the 10th International Conference on the Evaluation of Novel Approaches to Software Engineering (ENASE 2015), Barcelona, Spain, pp. 141–155. SciTePress, April 2015
Westfechtel, B.: A case study for a bidirectional transformation between heterogeneous metamodels in QVT relations. In: Maciaszek, L.A., Filipe, J. (eds.) ENASE 2015. CCIS, vol. 599, pp. 141–161. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-30243-0_8
Westfechtel, B.: Case-based exploration of bidirectional transformations in QVT relations. Softw. Syst. Model. 17(3), 989–1029 (2018)
Westfechtel, B.: Incremental bidirectional transformations: applying QVT relations to the families to persons benchmark. In: Damiani, E., Spanoudakis, G., Maciaszek, L. (eds.) Proceedings of the 13th International Conference on the Evaluation of Novel Approaches to Software Engineering (ENASE 2018), Funchal, Madeira, pp. 39–53. SciTePress, March 2018
Zündorf, A., Weidt, A.: The SDMLib solution to the TTC 2017 families 2 persons case. In: Garcia-Dominguez et al. [12], pp. 41–45
Acknowledgments
The BXtend solution for the Families to Persons case was developed by Sebastian Kaske in a Bachelor thesis under the supervision of both authors. Furthermore, the authors are indebted to Anthony Anjorin for providing the Benchmarx framework, as well as to Erhan Leblebici for integrating medini QVT into the framework.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Westfechtel, B., Buchmann, T. (2019). Incremental Bidirectional Transformations: Comparing Declarative and Procedural Approaches Using the Families to Persons Benchmark. In: Damiani, E., Spanoudakis, G., Maciaszek, L. (eds) Evaluation of Novel Approaches to Software Engineering. ENASE 2018. Communications in Computer and Information Science, vol 1023. Springer, Cham. https://doi.org/10.1007/978-3-030-22559-9_5
Download citation
DOI: https://doi.org/10.1007/978-3-030-22559-9_5
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-22558-2
Online ISBN: 978-3-030-22559-9
eBook Packages: Computer ScienceComputer Science (R0)