Terug naar studenten

Modelleren & visualisatie

Visualisatie van formele modellen

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. Wanneer een gebruiker op een state of transitie in de visualisatie klikt, navigeert de interface naar de bijbehorende plek in het tekstuele model. Dit helpt modelleurs hun modellen te begrijpen en erover te redeneren.

Een kleine, conceptueel eenvoudige visualisatie wordt al snel onoverzichtelijk door overlappende edges en labels. Modellen van echte systemen zijn doorgaans groot en complex. Verschillende visualisatietechnieken (of combinaties daarvan) zijn gewenst om beter te kunnen redeneren over zulke modellen.

Daarnaast kunnen bepaalde concepten in de modelleertaal, zoals parallellisme, synchronisatie, non-determinisme en tijd, nog niet effectief worden gevisualiseerd.

Het koppelen van de visualisatie aan de modeltekst is bovendien soms lastig wanneer modellen gebruikmaken van macro's, waarbij de feitelijke definitie van een deel van het model in een macro verstopt zit. De tool springt nu in de macro, maar gebruikers willen vaak juist zien wáár de macro wordt gebruikt. Een onderzoeksrichting is hoe je omgaat met source code-locaties bij gegenereerde code en metaprogrammering in het algemeen.

Een ander visualisatie-onderwerp is het visualiseren van coverage en testuitvoering. Gebruikers zien in de tool wel testcase-coverage en eindstates, maar niet hoe het systeem 'door het model heen liep' tijdens uitvoering. Een temporele visualisatie met video-player-achtige besturing zou gebruikers in staat stellen het executiepad af te spelen of stap voor stap te doorlopen.

Mogelijke onderzoeksvragen

  1. 1

    Visualisatie van complexe modellen

    Welke technieken kunnen worden gebruikt om de visualisatie van grote, complexe modellen te verbeteren?

  2. 2

    Visualisatie van geavanceerde concepten

    Hoe kunnen concepten als parallellisme of non-determinisme effectief gevisualiseerd worden?

  3. 3

    Mapping naar source-code locaties

    Hoe kunnen visualisatie-elementen effectief worden gekoppeld aan hun bronlocaties bij gegenereerde code, macro's en metaprogrammering?

  4. 4

    Temporele visualisatie van testuitvoering

    Hoe kunnen testuitvoeringspaden over tijd worden gevisualiseerd, zodat gebruikers zien hoe het systeem tijdens een test 'door het model liep'?

Recent werk

  • Wike Duivenvoorden (2025) vergeleek meerdere visualisatietechnieken en concludeerde dat interactieve features helpen bij het visualiseren van grote modellen.
  • Dennis van der Werf (2018) onderzocht semantic zooming als techniek om grote modellen visueel inzichtelijk te maken.

Interesse in dit onderwerp? Neem contact op!

students@axini.com