Axini develops tools for model based testing (MBT) and model based software engineering (MBSE). Model based testing is a software testing approach in which test cases are automatically generated and executed from a model, a formal specification of the system under test. This approach allows for a high degree of test automation and more thorough testing.
The topic of the research is to ease the modeling phase. Especially when there are already existing systems to model and test, it can take some effort to make the initial models. This assignment, should you accept it, is all about getting an automated head start with the modeling.
- One topic that we are interested in is converting design artefacts to Axini models. For example, the transformation of a UML or SysML model into Axini. This is called model to model transformation.
- Another topic is the conversion of (parts of) code/implementation into models. For example, a state machine in C or C++ or business rules in Cobol. This is called code to model transformation.
Model to model transformation
We already have a couple of use-cases that can be an inspiration or can be the actual topic of your research. For example:
- ProRail has SysML models of object controllers that operate signals, switches etc. You can use those for your research.
- Thermo Fisher and Philips have models in their respective MBSE tools Capella and Cameo. Many of these models are UML and/or SysML inspired models, such as state machines.
Some inspiration/ideas on the potential techniques to use. There are DSL (Domain Specific Language) approaches to transform languages and/or models. In this case you make a parser/translator in a tool such as Jetbrains MPS that reads (part of) a model, deconstructs it into its essential parts and translates and generates from these parts the Axini model.
We can work together with companies specialized in language engineering such as F1re and Swat Engineering for the DSL engineering part.
Code to model transformation
We already have a couple of use-cases that can be an inspiration or can be the actual topic of your research. For example:
- ProRail has actual state machines that control the reservation of the parts of the tracks relevant for the course of the trains. These state machines are encoded in C++ code.
- Belastingdienst and UWV have decision and computation rules encoded in languages such as Cobol and Java. We would like to translate these parts into Axini models.
Just like with the model-to-model transformation, an interesting technique seems to be the use of DSLs (see above in the section model to model transformation).
In the domain of PLCs, Bas Beuting has researched the topic of PLC code transformation into UML and Axini models.
Possible research questions
There are several puzzles and research questions that students can work on.
Recent work
Recent work at Axini on this topic:
- Tobias Bachmann (2021) translated SysML models of ProRail into Axini models and used them to model based test the implementations generated from the original SysML models.