Modellen worden geschreven in een domain specific language (de Axini Modeling Language) via een teksteditor in onze webapplicatie. De modellen kunnen worden gevisualiseerd om de states en transities van het onderliggende symbolische transitiesysteem te inspecteren. Dit helpt modelleurs hun modellen te begrijpen en erover te redeneren, wat erg gewaardeerd wordt.
Dit is echter eenrichtingsverkeer: we kunnen vanuit de visualisatie geen modeltekst genereren. We zijn geïnteresseerd in visuele modelleertools die het modelleren makkelijker maken voor visueel ingestelde gebruikers.
Er zijn technieken die het mogelijk maken om tekstuele en visuele modellen synchroon te houden. Bijvoorbeeld de Xtext tekstuele editors in combinatie met Sirius diagram editors via het EMF-framework. We kunnen ons laten inspireren door tools als Jetbrains MPS, Xtext, EMF, LIonWeb, Archimate en UML.
Een belangrijke uitdaging in visueel modelleren is een tussentijdse (AST-)representatie hebben die zowel tekstueel als visueel bewerkt kan worden, dat lijkt de juiste aanpak als je heen en weer wilt schakelen tussen tekst en beeld. Deze representatie moet een middenweg vormen tussen de high-level concepten van de tekstuele taal en de elementen van de visuele taal. Als eerste stap is het acceptabel te starten met een eenrichtingsvertaling van visueel naar tekst als dat makkelijker te realiseren is.
Een belangrijke randvoorwaarde voor ons: de visuele editor werkt in de browser.
Mogelijke onderzoeksvragen
- 1
Visuele modelleer-technologieën
Welke technieken zijn beschikbaar om visueel programmeren of modelleren mogelijk te maken?
- 2
Taalontwerp voor hybride modelleren
Welke beperkingen legt zo'n hybride modelleeraanpak op aan de concepten in de modelleertaal?
- 3
Tussentijdse representatie
Welke tussentijdse representatie(s) kunnen (visuele) LTS- of STS-modellen verenigen met een high-level tekstueel model?
Recent werk
- Aleandro Mifsud (2023) ontwikkelde een custom node-based visueel modelleer-prototype op basis van tekstuele differencing-algoritmes.
Interesse in dit onderwerp? Neem contact op!
students@axini.com