Wiki
Clone wikimorel / XMU
News
- Testing BX using Metamorphic testing [2017-11-16]
- Beta version of XMU2 [2016-5-14]
- Preview of XMU3 [2018-6-29]
XMU: Bidirectional Model Transformation Language
In Model-Based Software Engineering (MBSE), various models are created to describe the software system under development from different aspects. These models are usually interrelated, but may evolve independently. If one of the models is updated, the changes should be propagated to the related models. How to keep these models synchronized becomes a crucial issue in MBSE.
XMU is a putback-based bidirectional model transformation language. The following picture shows the architecture of XMU. We employ XMU to define the BX rules over models. Then, the BX rules are deployed on the XMU interpreter, which can interpret the BX rules in two directions based on the core language of BiFlux.
The following picture shows the core syntax of XMU. XMU is a pattern-based language. It employs model patterns to specify the shapes of model fragments to be converted and/or to be created. XMU is equipped with two types of bidirectional statements and three types of unidirectional statements to create the updated source model during put and the view during get.
Showcases
UMLtoRDBMS Example (from QVT-R)
Institutional Address Book Example (from the paper of BiFlux)
Social Address Book Example (from the paper of BiFlux)
Bookmark Example (from the paper of BiFlux)
Nested Section Example (from the website of BiFlux)
Address Book Example (from the website of BiFlux)
Bookstore Example (from the zip file of BiFlux)
Download
To download the source code of our tool support, please click here.
Video
Please click here to watch/download the video.
Screenshot
Updated