BXtendDSL

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.

Eclipse update site

BXtendDSL Update Site

  • (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

  1. 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

2023

  1. BXtendDSL at Work: Combining Declarative and Imperative Programming of Bidirectional Model Transformations
    Thomas Buchmann, Matthias Bank, and Bernhard Westfechtel
    SN Computer Science, 2023
  2. 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
  3. 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

2022

  1. JSS
    BXtendDSL: A layered framework for bidirectional model transformations combining a declarative and an imperative language
    Thomas Buchmann, Matthias Bank, and Bernhard Westfechtel
    Journal of Systems and Software, 2022

2021

  1. 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