A layered framework for bidirectional model transformations combining a declarative and an imperative language
Our research in the context of bidirectional model transformations follows a more pragmatic approach. Our primary focus lies on expressiveness, conciseness, and scalability. To this end, we combine a declarative DSL with an imperative DSL, the latter of which allows to specify all parts of the transformation that may not be addressed by the declarative DSL.
BXtendDSL is a framework for the definition and execution of bidirectional incremental model transformations. The framework is based on EMF and has been implemented in Xtend, an expressive dialect of the programming language Java. The models to be transformed are assumed to be instances of metamodels, which in turn are defined with the help of Ecore, the metametamodel provided by EMF. A transformation is specified in a small and light-weight external DSL called BXtendDSL Declarative, which essentially serves to define correspondences between model elements with the help of transformation rules. From a declarative specification, code is generated against the libraries of the BXtendDSL framework. The application programming interfaces of these libraries constitute an internal, imperative DSL called BXtendDSL Imperative. The generated code is extended with handwritten code that is written in the internal DSL. In this way, the transformation developer may take care of operational details that go beyond the capabilities of the declarative language. Altogether, BXtendDSL allows to write concise transformation definitions and at the same time provides the expressiveness required for solving a wide range of bidirectional transformation problems. Furthermore, execution of BXtendDSL transformations proves scalable to large model sizes.
(Buchmann et al., 2022) — BXtendDSL: A layered framework for bidirectional model transformations combining a declarative and an imperative language (JSS 2022)
(Buchmann et al., 2023) — BXtendDSL at Work: Combining Declarative and Imperative Programming of Bidirectional Model Transformations (SN Computer Science 2023)
(Bank et al., 2021) — Combining a Declarative Language and an Imperative Language for Bidirectional Incremental Model Transformations (MODELSWARD 2021)
(Buchmann, 2023) — A BXtendDSL Solution to the TTC 2023 Asymmetric and Directed Bidirectional Transformation for Container Orchestrations Case
(Buchmann, 2023) — A BXtendDSL Solution to the TTC 2023 Incremental MTL vs. GPLs Case
(Buchmann, 2026) — The Families to Persons Case Revisited: A BXtendDSL Solution with Concurrent Model Synchronization (TTC 2026)
References
2026
STAF Workshops
The Families to Persons Case Revisited: A BXtendDSL Solution with Concurrent Model Synchronization
Thomas Buchmann
In Joint Proceedings of the STAF 2026 Workshops: AgileMDE, GCM, ICMM, LLM4SE, TTC, 2026
@inproceedings{BuchmannTTC26,author={Buchmann, Thomas},editor={Khelladi, Djamel Eddine and Challita, Stéphane and Messe, Nan and Tehrani, Sobhan Yassipour and Hussein, Shirin and Rahimi, Shekoufeh and Behr, Nicolas and Dumbrava, Sefania and Atkinson, Colin and Kaushik, Minakshi and Lange, Arne and Weber, Thomas and Chen, Boqi and Cicchetti, Antonio and Clarisó, Robert and Rubei, Riccardo and Greiner, Sandra and Hinkel, Georg and Calvar, Théo Le},title={{The Families to Persons Case Revisited: A BXtendDSL Solution with Concurrent Model Synchronization}},booktitle={{Joint Proceedings of the STAF 2026 Workshops: AgileMDE, GCM, ICMM, LLM4SE, TTC}},series={{CEUR} Workshop Proceedings},volume={},publisher={CEUR-WS.org},year={2026},url={}}
@article{BuchmannBW23,author={Buchmann, Thomas and Bank, Matthias and Westfechtel, Bernhard},title={BXtendDSL at Work: Combining Declarative and Imperative Programming of Bidirectional Model Transformations},journal={{SN} Computer Science},volume={4},number={1},pages={50},year={2023},url={https://doi.org/10.1007/s42979-022-01448-8},doi={10.1007/s42979-022-01448-8},timestamp={Mon, 05 Dec 2022 13:33:31 +0100},biburl={https://dblp.org/rec/journals/sncs/BuchmannBW23.bib},bibsource={dblp computer science bibliography, https://dblp.org}}
STAF Workshops
A BXtendDSL Solution to the TTC2023 Asymmetric and Directed Bidirectional Transformation for Container Orchestrations Case
Thomas Buchmann
In Post Proceedings of the STAF 2023 Workshops TTC 2023, MeSS 2023 and AgileMDE 2023, Leicester, United Kingdom, July 18, 2023 and June 21, 2023, 2023
@inproceedings{BuchmannTTC23,author={Buchmann, Thomas},editor={Boronat, Artur and Garc{\'{\i}}a{-}Dom{\'{\i}}nguez, Antonio and Hinkel, Georg and Lano, Kevin and Sanctis, Martina De and Ferry, Nicolas and Mosser, S{\'{e}}bastien and Wimmer, Manuel and Alfraihi, Hessa and Rahimi, Shekoufeh Kolahdouz and Troya, Javier},title={A BXtendDSL Solution to the {TTC2023} Asymmetric and Directed Bidirectional Transformation for Container Orchestrations Case},booktitle={Post Proceedings of the {STAF} 2023 Workshops {TTC} 2023, MeSS 2023 and AgileMDE 2023, Leicester, United Kingdom, July 18, 2023 and June 21, 2023},series={{CEUR} Workshop Proceedings},volume={3620},publisher={CEUR-WS.org},year={2023},url={https://ceur-ws.org/Vol-3620/ttc23\_paper07.pdf}}
STAF Workshops
A BXtendDSL Solution to the TTC2023 Incremental MTL vs. GPLs Case
Thomas Buchmann
In Post Proceedings of the STAF 2023 Workshops TTC 2023, MeSS 2023 and AgileMDE 2023, Leicester, United Kingdom, July 18, 2023 and June, 2023
@inproceedings{BuchmannTTC23a,author={Buchmann, Thomas},editor={Boronat, Artur and Garc{\'{\i}}a{-}Dom{\'{\i}}nguez, Antonio and Hinkel, Georg and Lano, Kevin and Sanctis, Martina De and Ferry, Nicolas and Mosser, S{\'{e}}bastien and Wimmer, Manuel and Alfraihi, Hessa and Rahimi, Shekoufeh Kolahdouz and Troya, Javier},title={A BXtendDSL Solution to the {TTC2023} Incremental {MTL} vs. GPLs Case},booktitle={Post Proceedings of the {STAF} 2023 Workshops {TTC} 2023, MeSS 2023 and AgileMDE 2023, Leicester, United Kingdom, July 18, 2023 and June},series={{CEUR} Workshop Proceedings},volume={3620},publisher={CEUR-WS.org},year={2023},url={https://ceur-ws.org/Vol-3620/ttc23\_paper12.pdf}}
@article{BuchmannBW22,author={Buchmann, Thomas and Bank, Matthias and Westfechtel, Bernhard},title={BXtendDSL: {A} layered framework for bidirectional model transformations combining a declarative and an imperative language},journal={Journal of Systems and Software},volume={189},pages={111288},year={2022},url={https://doi.org/10.1016/j.jss.2022.111288},doi={10.1016/j.jss.2022.111288},timestamp={Wed, 18 May 2022 10:21:44 +0200},biburl={https://dblp.org/rec/journals/jss/BuchmannBW22.bib},bibsource={dblp computer science bibliography, https://dblp.org}}
Combining a Declarative Language and an Imperative Language for Bidirectional Incremental Model Transformations
Matthias Bank, Thomas Buchmann, and Bernhard Westfechtel
In Proceedings of the 9th International Conference on Model-Driven Engineering and Software Development, MODELSWARD 2021, Online Streaming, February 8-10, 2021, 2021
@inproceedings{BankBW21,author={Bank, Matthias and Buchmann, Thomas and Westfechtel, Bernhard},editor={Hammoudi, Slimane and Pires, Lu{\'{\i}}s Ferreira and Seidewitz, Edwin and Soley, Richard},title={Combining a Declarative Language and an Imperative Language for Bidirectional Incremental Model Transformations},booktitle={Proceedings of the 9th International Conference on Model-Driven Engineering and Software Development, {MODELSWARD} 2021, Online Streaming, February 8-10, 2021},pages={15--27},publisher={{SCITEPRESS}},year={2021},url={https://doi.org/10.5220/0010188200150027},doi={10.5220/0010188200150027},timestamp={Tue, 02 Mar 2021 22:46:54 +0100},biburl={https://dblp.org/rec/conf/modelsward/BankBW21.bib},bibsource={dblp computer science bibliography, https://dblp.org}}