Not Yet Another UML Modeling Tool: UML-MX makes models executable!

The UML-MX modelling tool developed at the Chair of Information Systems and Enterprise Modelling is the first UML model editor that can be used to instantiate and execute object models.

‘MX’ stands for “Modelling and Execution”. UML-MX allows class diagrams to be created largely in accordance with the standard and also offers a monotonic extension of UML, called UML++, which includes delegation with corresponding execution semantics, executable operations and constraints. UML-MX thus offers an unprecedented, inspiring learning environment for students. As they create their first models, they implicitly implement a corresponding program by simply instantiating the model. At the same time, professional software developers who previously relied on model-driven development are freed from the burden of synchronizing models and generated code, as UML-MX is based on a common representation of models and corresponding programs: the program is the model and the model is the program.

UML does not play a significant role in the chair's research. Rather, UML++ and UML-MX are by-products of many years of work on multi-level language architectures. These make it possible to actually implement classes in a modelling tool on M1. In fact, UML++ is implemented as a specific mode of XModelerML. Consequently, it enables a smooth transition to multi-level modelling if users want to overcome the limitations of UML.

UML-MX can be downloaded from the webpages provided by the LE4MM (Language Engineering for Multi-Level Modeling) project. Screencasts demonstrating the use of the modelling tool can also be found there. In addition, the pages offer extensive documentation on the multi-level language architecture developed by the Chair’s team as well as access to the language development and modelling environment XModelerML.