Pieter Edelman
14 November 2008

Toestandsdiagrammen worden veel gebruikt bij het specificeren van systemen, maar worden al snel onoverzichtelijk. TUE-promovendus Hannes Pretorius onderzocht verschillende visualisatietechnieken om hier orde in te scheppen. Daardoor kunnen systeemanalisten snel inzicht krijgen in het systeem.

Systeemanalisten besteden menig uur aan het bestuderen van toestandstransitiediagrammen. Die omschrijven de toestanden waarin een systeem zich kan bevinden, de overgangen ertussen en de attributen, de waarden geassocieerd met elke toestand. Deze diagrammen, vaak gegenereerd vanuit een wiskundig systeemmodel, geven het fundamentele gedrag van een systeem weer zonder de implementatiedetails.

Maar deze diagrammen kunnen al snel een brij spaghetti worden bij complexe systemen. Hannes Pretorius, promovendus bij de TU Eindhoven, dacht dat visualisatietechnieken konden helpen na een masterproject aan de Vrije Universiteit Brussel. ’Het bestuderen van eindige automaten is al heel oud in de informatica. Dat wilde ik combineren met visualisatie, een betrekkelijk nieuw veld‘, zegt de Zuid-Afrikaan.

Eigenlijk ging het hem om meer dan overzicht: inzicht. ’Je hebt formele technieken zoals modelcheckers en simulatoren om toeststandsdiagrammen te analyseren. Die beantwoorden de vraag of er toestanden zijn waar een specifieke eigenschap waar is. Maar ze bieden beperkt inzicht in patronen en waaróm dat zo is. Met een interactieve exploratie kun je de bandwijdte van het perceptuele zintuig gebruiken om patronen te identificeren en verdergaan met vragen beantwoorden.‘ Een deadlock is bijvoorbeeld wel te vinden met tools, maar die beantwoorden niet de vraag waarom het systeem er terecht is gekomen en wat de relatie is met sommige attributen.

Nog niet veel onderzoekers hadden naar het onderwerp gekeken. ’Analisten wisten dan ook niet precies hoe visualisatie zou kunnen helpen‘, vertelt Pretorius. ’Dat is eigenlijk typisch voor visualisatieonderzoek. Als een vraag goed kan worden gedefinieerd, is er waarschijnlijk al een tool voor. Wij houden ons meer bezig met fuzzy dingen.‘

First-class citizens

Pretorius werkte een half jaar mee met het formeel specificeren van een systeem. Dat leverde hem een belangrijk inzicht op: ’De systeemanalist begrijpt al heel goed wat de componenten voorstellen.‘ Veel interessanter is hoe de attributen van verschillende componenten zich tot elkaar verhouden. ’Neem een simpel communicatieprotocol met een zender, een ontvanger en daartussen twee communicatiekanalen. Een zendactie is alleen mogelijk bij specifieke waarden van de verzender.‘ Hij onderzocht een aantal technieken om dit interactief zichtbaar te maken voor de gebruiker. ’Je neemt een perspectief door sommige componenten even te vergeten. Je kunt bijvoorbeeld de kanalen weglaten als je alleen wilt weten hoe de zender en ontvanger zich ten opzichte van elkaar gedragen.‘

Pretorius begon met wat al vaker wordt gedaan met multivariate datasets, wat de toestandsdiagrammen in feite zijn. ’Vaak worden die geprojecteerd op een lagerdimensionale ruimte, in mijn geval een tweedimensionale pc-monitor. Dan krijg je al duidelijke patronen, maar het blijft moeilijk om echte relaties te vinden. Handig op hoog niveau, maar op detailniveau erg lastig.‘

Pretorius
Met het zichtbaar maken van de relaties tussen toestandsattributen en acties kan een analist inzicht verkrijgen in het systeemgedrag over een aantal tijdstappen.

Daarom stapte hij over van projectie naar clustering van overeenkomstige waarden, waarbij de gebruiker zelf de subsets van attributen specificeert. ’Nu wordt het mogelijk om gedrag te koppelen aan attributen en waarden. Dat bleek zeer nuttig te zijn.‘ Dit breidde hij vervolgens uit met een tool om schematische diagrammen op te stellen. ’Analisten doen dat vaak met de hand. Ik heb daarvoor een tool ontwikkeld en die geïntegreerd met mijn werk.‘ Het resultaat is dat gebruikers eenvoudig een systeemtoestand kunnen selecteren en gelijk de relatie van de geselecteerde attributen te zien krijgen. Pretorius paste de techniek ook toe op traces, representatieve executiepaden door het toestandsdiagram. Als laatste keek hij naar de attributen die zijn geassocieerd met overgangen. ’Dit zijn de acties. Ik had nog geen techniek waar dat een fundamenteel onderdeel uitmaakte van de analyse. Hier moesten ze first-class citizens worden.‘

Pretorius denkt dat zijn tools ook heel bruikbaar zijn voor andere multivariate analyses. ’Maar daar ben ik helaas niet aan toegekomen‘, vertelt hij. Het onderzoek krijgt vooralsnog geen opvolger, maar heeft al wel een aantal gebruikers gevonden. ’De gereedschappen zijn wel beschikbaar op mijn website en een aantal is ook opgenomen in de toolset van de TUE, dus dat deel wordt wel onderhouden.‘ Hijzelf weet nog niet precies wat de toekomst hem gaat brengen. Binnenkort vertrekt hij naar Groot-Brittannië, waar hij een aanstelling heeft gekregen aan de Universiteit van Manchester.

Pretorius heeft zijn resultaten steeds getoetst aan daadwerkelijke analisten en denkt daarom dat zijn opzet is geslaagd. Hij kan het ook niet laten om een specifieke anekdote in zijn proefschrift te vermelden: ’Een probleem dat was ontdekt in een bepaald toestandsdiagram presenteerden we met een prototype aan een publiek dat de dataset nog niet eerder had gezien. Voordat ik kon uitleggen wat er gebeurde, riep iemand in het publiek uit: ’Ik heb het.‘ Hij legde uit wat het probleem was en sloot af met: ’Diagrammen maken het overduidelijk.‘‘