Dit onderzoeksproject gaat over het vereenvoudigen van de modelleerfase. Vooral wanneer er al bestaande systemen zijn om te modelleren en te testen, kan het opstellen van de eerste modellen veel werk zijn. Deze opdracht draait om een geautomatiseerde vliegende start met modelleren.
Een onderwerp dat ons interesseert is het converteren van design-artefacten naar Axini-modellen. Bijvoorbeeld het transformeren van een UML- of SysML-model naar Axini. Dit heet model-to-model transformatie. Een ander onderwerp is het omzetten van (delen van) code/implementatie naar modellen, bijvoorbeeld een state machine in C/C++ of business rules in Cobol, code-to-model transformatie.
Voor model-to-model transformatie hebben we al een aantal use-cases. ProRail heeft SysML-modellen van object controllers die seinen, wissels etc. aansturen. Thermo Fisher en Philips hebben modellen in respectievelijk Capella en Cameo. Veel daarvan zijn UML/SysML-geïnspireerde modellen, zoals state machines.
Voor code-to-model transformatie zijn er ook concrete use-cases: ProRail heeft echte state machines in C++ die de reservering van baanvakken aansturen. Belastingdienst en UWV hebben beslis- en rekenregels in talen zoals Cobol en Java die we willen vertalen naar Axini-modellen. We kunnen samenwerken met bedrijven zoals F1re en Swat Engineering voor het DSL-engineering deel.
Er is daarnaast een Excel-to-model-richting: veel organisaties leggen business logic vast in spreadsheets. Het doel is een praktische assistent die Excel/CSV importeert, gebruikers helpt kolommen te mappen op modelconcepten en een eerste model + tests genereert met duidelijke traceability terug naar cellen.
Voorbeeld
Stel dat een Excel-sheet een leningbeslissing definieert:
Income | CreditScore | Decision
>3000 | >600 | APPROVE
<=3000 | >700 | APPROVE
<=3000 | <=700 | REJECTDe assistent zou dan: (1) Income en CreditScore voorstellen als inputs en Decision als uitkomst; (2) kandidaat-regels minen (bijv. drempels 3000 en 600/700) en een leesbare regeltabel tonen; (3) een modelskelet (states/transities of decision table) plus tests genereren uit de rijen; (4) lineage bieden, bij klikken op een regel worden de exacte Excel-cellen gemarkeerd; (5) de gebruiker mappings laten aanpassen en opnieuw genereren met een diff.
Mogelijke onderzoeksvragen
- 1
Modeltransformatie
Welke informatie in modellen is nodig om ze om te zetten naar formele AML-modellen?
- 2
Codetransformatie
Welke broncode kan worden omgezet naar AML-modellen?
- 3
Formele analyse van resultaten
Hoe kan een transformatie naar een ander model worden gevalideerd?
- 4
Schema & mapping
Hoe kunnen we robuust tabel-schema's afleiden en kolommen mappen op model-parameters met minimale gebruikersinput?
- 5
Rule mining
Welke algoritmen halen het beste leesbare, correcte condities uit ranges, enums en Excel-formules?
- 6
Traceability
Wat is een effectief lineage-model van Excel-cellen naar model-artefacten (regels/states/transities/tests)?
- 7
Validatie
Hoe genereren we automatisch een test suite vanuit spreadsheet-rijen en valideren we het gegenereerde model daarmee?
- 8
AI-ondersteuning
Waar voegen LLMs de meeste waarde toe (normalisatie, formule-uitleg, gap-filling) zonder determinisme en reproduceerbaarheid te schaden?
Recent werk
- Tobias Bachmann (2021) vertaalde SysML-modellen van ProRail naar Axini-modellen en gebruikte deze om de implementaties model based te testen die uit de oorspronkelijke SysML-modellen waren gegenereerd.
Interesse in dit onderwerp? Neem contact op!
students@axini.com