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.

This research project is about easing 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.

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:

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:

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.

Excel to model transformation

Many organizations encode business logic in spreadsheets. The goal here is not to design a new DSL, but to build a practical assistant that imports Excel/CSV, helps users map tables to model concepts, and generates a first model + tests with clear traceability back to cells.

Things the tool could do

Example

Suppose an Excel sheet defines a loan decision:

Income   CreditScore   Decision
>3000    >600          APPROVE
<=3000   >700          APPROVE
<=3000   <=700         REJECT

The assistant would:

  1. Suggest Income and CreditScore as inputs; Decision as the outcome.
  2. Mine candidate rules (e.g., thresholds 3000 and 600/700) and show a readable rule table.
  3. Generate a model skeleton (states/transitions or decision table) plus tests derived from the rows.
  4. Provide lineage: clicking a rule highlights the exact Excel cells it came from.
  5. Let the user tweak mappings (e.g., rename parameters, tighten ranges) and re-generate with a diff.

AI-assisted help (optional, but powerful)

Possible research questions

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

  • Model transformation

    Which information in models is needed to transform them into formal AML models?

  • Code transformation

    Which source code can be transformed into AML models?

  • Formal analysis of results

    How can a transformation into another model be validated?

  • Schema & mapping

    How can we robustly infer table schemas and map columns to model parameters with minimal user input?

  • Rule mining

    Which algorithms best extract readable, correct conditions from ranges, enums, and Excel formulas?

  • Traceability

    What is an effective lineage model from Excel cells to model artifacts (rules/states/transitions/tests)?

  • Validation

    How do we automatically generate a test suite from spreadsheet rows and check the generated model against it?

  • AI assistance

    Where do LLMs add the most value (normalization, formula explanation, gap-filling) without harming determinism and reproducibility?

  • Recent work

    Recent work at Axini on this topic: