Abstract
Model transformations are a major driving force behind model-driven software development (MDSD), when typically an initial model is refined throughout the development process over several steps until eventually code is generated. Strict forward engineering processes require unidirectional model transformations, where an initial requirements model is refined through various model transformation steps. Roundtrip engineering on the other hand calls for bidirectional and incremental model transformations instead, where changes may be propagated back and forth while retaining manual modifications to the models involved. In this paper, we present BXtendDSL, a framework for bidirectional incremental model transformations. BXtendDSL combines two languages: a light-weight declarative language for defining correspondences between model elements, and an imperative language that allows to implement behavior that cannot be specified in the declarative language. We demonstrate our approach by a case study. We also include an evaluation of this case study that demonstrates conciseness, expressiveness, and scalability of our hybrid approach.
Similar content being viewed by others
Data Availability Statement
A sample workspace comprising Benchmarx and the examples discussed in this paper is provided as a zip archive via http://btn1x4.inf.uni-bayreuth.de/bxtenddsl/examples/Gantt2CPM.zip. Please make sure you have installed BXtendDSL in your Eclipse and also the Benchmarx connector for BXtendDSL available at: http://btn1x4.inf.uni-bayreuth.de/bxtenddsl/connector/.
References
Czarnecki K, Helsen S. Feature-based survey of model transformation approaches. IBM Syst J. 2006;45(3):621–45.
Czarnecki K, et al. Paige RF. (ed.) Bidirectional transformations: A cross-discipline perspective. (ed.Paige, R. F.) Proceedings of the Second International Conference on Theory and Practice of Model Transformations (ICMT 2009), Vol. 5563 of Lecture Notes in Computer Science, 260–283 (Springer-Verlag, Zurich, Switzerland, 2009).
Czarnecki K, Helsen S. Feature-based survey of model transformation approaches. IBM Syst J. 2006;45(3):621–46. https://doi.org/10.1147/sj.453.0621.
Hidaka S, Tisi M, Cabot J, Hu Z. Feature-based classification of bidirectional transformation approaches. Softw Syst Model. 2016;15(3):907–28.
Schürr A, Tinhofer G. (ed.) Specification of Graph Translators with Triple Graph Grammars. (ed.Tinhofer, G.) Proceedings of the 20th International Workshop on Graph-Theoretic Concepts in Computer Science (WG 1994), Vol. 903 of LNCS, 151–163 (Springer-Verlag, Herrsching, Germany, 1994).
Cicchetti A, Di Ruscio D, Eramo R, Pierantonio, A. Malloy, B., Staab, S. & van den Brand, M. (eds) JTL: A bidirectional and change propagating transformation language. (eds Malloy B, Staab S, van den Brand M.) Proceedings of the Third International Conference on Software Language Engineering (SLE 2010), Vol. 6563 of Lecture Notes in Computer Science, 183–202 (Springer-Verlag, Eindhoven, The Netherlands, 2010).
Foster JN, Greenwald MB, Moore JT, Pierce BC, Schmitt A. Combinators for bidirectional tree transformations: A linguistic approach to the view-update problem. ACM Transactions on Programming Languages and Systems 2007;29(3), 17:1–17:65.
Anjorin A, et al. Benchmarking bidirectional transformations: theory, implementation, application, and assessment. Softw Syst Model. 2020;19(3):647–91. https://doi.org/10.1007/s10270-019-00752-x.
Westfechtel B. Case-based exploration of bidirectional transformations in QVT relations. Softw Syst Model. 2019;17(3):989–1019. https://doi.org/10.1007/s10270-016-0527-z.
Westfechtel B, Buchmann T, Damiani E, Spanoudakis G, Maciaszek LA. (eds) Incremental bidirectional transformations: Comparing declarative and procedural approaches using the families to persons benchmark. (eds Damiani E, Spanoudakis G, Maciaszek LA.) Evaluation of Novel Approaches to Software Engineering. ENASE 2018., Communications in Computer and Information Science, 98–118 (Springer, 2019).
Buchmann T, Westfechtel B, Demirors O, Turetken O. (eds) Towards Incremental Round-Trip Engineering Using Model Transformations. (eds Demirors, O. & Turetken, O.) Proceedings of the 39th Euromicro Conference on Software Engineering and Advanced Applications (SEAA 2013), 130–133 (IEEE Conference Publishing Service, 2013).
Greiner S, Buchmann T, Westfechtel B, Hammoudi S, Pires LF, Selic B, Desfray P. (eds) Bidirectional transformations with QVT-R: A case study in round-trip engineering UML class models and java source code. (eds Hammoudi S, Pires LF, Selic B, Desfray P.) MODELSWARD 2016 - Proceedings of the 4rd International Conference on Model-Driven Engineering and Software Development, Rome, Italy, 19-21 February, 2016, 15–27 (SciTePress, 2016). https://doi.org/10.5220/0005644700150027.
Buchmann T, Westfechtel B. Using triple graph grammars to realize incremental round-trip engineering. IET Software 2016;10(6),173–181. http://digital-library.theiet.org/content/journals/10.1049/iet-sen.2015.0125.
Buchmann T, Hammoudi S, Pires LF, Selic B. (eds) Bxtend - A framework for (bidirectional) incremental model transformations. (eds Hammoudi, S., Pires, L. F. & Selic, B.) Proceedings of the 6th International Conference on Model-Driven Engineering and Software Development, MODELSWARD 2018, Funchal, Madeira - Portugal, January 22-24, 2018;336–345 (SciTePress, 2018). https://doi.org/10.5220/0006563503360345.
Steinberg D, Budinsky F, Paternostro M, Merks E. EMF Eclipse Modeling Framework. 2nd ed. Boston, MA: The Eclipse Series (Addison-Wesley; 2009).
Bank M, Kaske S, Buchmann T, Westfechtel B, Ali R, Kaindl H, Maciaszek LA. (eds) Incremental bidirectional transformations: Evaluating declarative and imperative approaches using the ast2dag benchmark. (eds Ali R, Kaindl H, Maciaszek LA.) Proceedings of the 15th International Conference on Evaluation of Novel Approaches to Software Engineering, ENASE 2020, Prague, Czech Republic, May 5-6, 2020;249–260 (SCITEPRESS, 2020). https://doi.org/10.5220/0009206602490260.
Bank M, Buchmann T, Westfechtel B, Hammoudi S, Pires LF, Seidewitz E, Soley R. (eds) Combining a declarative language and an imperative language for bidirectional incremental model transformations. (eds Hammoudi S, Pires LF, Seidewitz E, Soley R.) Proceedings of the 9th International Conference on Model-Driven Engineering and Software Development, MODELSWARD 2021, Online Streaming, February 8-10, 2021;15–27 (SCITEPRESS, 2021). https://doi.org/10.5220/0010188200150027.
Buchmann T, Bank M, Westfechtel B. BXtendDSL: A layered framework for bidirectional model transformations combining a declarative and an imperative language. J Syst Softw. 2022;189: 111288. https://doi.org/10.1016/j.jss.2022.111288.
Fowler M. Domain-Specific Languages The Addison-Wesley signature series (Addison-Wesley, 2011). http://vig.pearsoned.com/store/product/1,1207,store-12521_isbn-0321712943,00.html.
Kerzner H. Project Management: A Systems Approach to Planning, Scheduling, and Controlling. 6th ed. New York, NY: John Wiley & Sons; 1998.
Gamma E, Helm R, Johnson R, Vlissides J. Design Patterns - Elements of Reusable Object-Oriented Software. Upper Saddle River, NJ: Addison-Wesley; 1994.
Anjorin A et al, Eramo R, Johnson M. (eds) Benchmarx reloaded: A practical benchmark framework for bidirectional transformations. (eds Eramo, R. & Johnson, M.) Proceedings of the 6th International Workshop on Bidirectional Transformations co-located with The European Joint Conferences on Theory and Practice of Software, BX@ETAPS 2017, Uppsala, Sweden, April 29, 2017;1827 of CEUR Workshop Proceedings, 15–30 (CEUR-WS.org, 2017). http://ceur-ws.org/Vol-1827/paper6.pdf.
OMG. Meta Object Facility (MOF) 2.0 Query/View/Transformation Specification. Needham, MA, formal/2015-02-01 edn (2015).
ikv++ technologies. medini QVT (2017). http://projects.ikv.de/qvt.
Anjorin A, Buchmann T, Westfechtel B, García-Domínguez A, Hinkel G, Krikava F. (eds) The Families to Persons Case. (eds García-Domínguez, A., Hinkel, G. & Krikava, F.) Proceedings of the 10th Transformation Tool Contest (TTC 2017), co-located with the 2017 Software Technologies: Applications and Foundations (STAF 2017), Marburg, Germany, July 21, 2017;2026 of CEUR Workshop Proceedings, 27–34 (CEUR-WS.org, 2017).
Anjorin A, Lauder M, Schürr A, Störrle H, et al. (eds) eMoflon: A Metamodelling and Model Transformation Tool. (eds Störrle, H. et al.) Joint Proceedings of the Co-located Events at the 8th European Conference on Modelling Foundations and Applications (ECMFA 2012), 348 (Technical University of Denmark (DTU), Copenhagen, Denmark, 2012). ISBN: 978-87-643-1014-6.
Kindler E, Wagner R. Triple graph grammars: Concepts, extensions, implementations, and application scenarios. Tech. Rep. tr-ri-07-284, Software Engineering Group, Department of Computer Science, University of Paderborn (2007).
Gelfond M, Lifschitz V, Kowalski RA, Bowen KA. (eds) The stable model semantics for logic programming. (eds Kowalski, R. A. & Bowen, K. A.) Logic Programming, Proceedings of the Fifth International Conference and Symposium, Seattle, Washington, USA, August 15-19, 1988;(2 Volumes),1070–1080 (MIT Press, 1988).
Ko H, Zan T, Hu Z, Erwig M, Rompf T. (eds) BiGUL: a formally verified core language for putback-based bidirectional programming. (eds Erwig M, Rompf T.) Proceedings of the 2016 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, PEPM 2016, St. Petersburg, FL, USA, January 20 - 22, 2016;61–72 (ACM, 2016). https://doi.org/10.1145/2847538.2847544.
Funding
Not applicable.
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflicts of Interest
The authors declare no competing interests.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
This article is part of the topical collection “Model-Driven Engineering and Software Development guest edited by Slimane Hammoudi and Luis Ferreira Pires.
Rights and permissions
Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Buchmann, T., Bank, M. & Westfechtel, B. BXtendDSL at Work: Combining Declarative and Imperative Programming of Bidirectional Model Transformations. SN COMPUT. SCI. 4, 50 (2023). https://doi.org/10.1007/s42979-022-01448-8
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s42979-022-01448-8