Back to research topics

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.

Models are written in a domain specific language (the Axini Modeling Language) using a text editor included in our web application. The models can be visualized to inspect the states and transitions of the underlying symbolic transition system. This aids modelers understand and reason about their models, which is valued greatly.

However, this is a one-way street: we cannot generate model text from the visualization. We are interested in visual modeling tools to make modeling easier for visually inclined users.

There are techniques that make it possible to keep textual and visual models in sync. For example, the Xtext textual editors can be used in sync with the Sirius diagram editors using the EMF framework for the integration of their functionality. There are model driven tools from which we can draw inspiration such as: Jetbrains MPS, Xtext, EMF, LIonWeb, Archimate and UML.

A key challenge in visual modeling is having an intermediate (AST) representation that can be edited both textually and visually (this seems the way to go if you want to go back an forth between textual and visual). This representation must provide a middle ground between the high-level concepts of the textual language and the elements of the visual language. Though as a first step it's acceptable to start with a one way translation from visual back to text if that's easier to achieve.

An important constraint for us is that the visual editor works in the browser.

Possible research questions

There are several puzzles and research questions that students can work on.

  • Visual modeling technologies

    What techniques are available to enable visual programming or modeling?

  • Language design for hybrid modeling

    What constraints does such a hybrid modeling approach impose on the concepts in the modeling language?

  • Intermediate representation

    Which intermediate representation(s) can unify (visual) LTS or STS models with a high-level textual model?

  • Recent work

    Recent work at Axini on this topic: