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 is all about getting an automated head start with the modeling.
One topic is converting design artefacts to Axini models, e.g. transforming UML or SysML into Axini (model-to-model transformation). Another is converting (parts of) code/implementation into models, e.g. a state machine in C/C++ or business rules in Cobol (code-to-model transformation).
We have several model-to-model use-cases. ProRail has SysML models of object controllers that operate signals, switches etc. Thermo Fisher and Philips have models in their respective MBSE tools Capella and Cameo. Many of these are UML/SysML inspired, such as state machines.
We also have code-to-model use-cases. ProRail has actual state machines that control the reservation of track parts, encoded in C++. Belastingdienst and UWV have decision and computation rules in Cobol and Java that we would like to translate into Axini models. We can work together with companies specialized in language engineering, such as F1re and Swat Engineering.
There is also an Excel-to-model direction: many organizations encode business logic in spreadsheets. The goal is 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.
Example
Suppose an Excel sheet defines a loan decision:
Income | CreditScore | Decision
>3000 | >600 | APPROVE
<=3000 | >700 | APPROVE
<=3000 | <=700 | REJECTThe assistant would: (1) suggest Income and CreditScore as inputs and 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 and re-generate with a diff.
Possible research questions
- 1
Model transformation
Which information in models is needed to transform them into formal AML models?
- 2
Code transformation
Which source code can be transformed into AML models?
- 3
Formal analysis of results
How can a transformation into another model be validated?
- 4
Schema & mapping
How can we robustly infer table schemas and map columns to model parameters with minimal user input?
- 5
Rule mining
Which algorithms best extract readable, correct conditions from ranges, enums and Excel formulas?
- 6
Traceability
What is an effective lineage model from Excel cells to model artifacts (rules/states/transitions/tests)?
- 7
Validation
How do we automatically generate a test suite from spreadsheet rows and check the generated model against it?
- 8
AI assistance
Where do LLMs add the most value (normalization, formula explanation, gap-filling) without harming determinism and reproducibility?
Recent work
- 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.
Interested in this topic? Get in touch!
students@axini.com