Efficiënte abstracties voor visualisatie en interactie

Publication date: 07-04-2015


De meeste web gebaseerde systemen zijn interactief en kenmerken zich door aansprekende visualisaties. De implementatie van dergelijke systemen laat echter veel te wensen over, waardoor ze moeilijk uit te breiden en te onderhouden zijn. Atze van der Ploeg, promovendus aan het Centrum Wiskunde & Informatica (CWI) in Amsterdam, benadert dit probleem door te onderzoeken hoe verschillende abstracties, zoals functies en methoden, in dit domein kunnen worden toegepast. Met de concepten die hij ontwikkelde kunnen programmeurs makkelijker en efficiënter interactieve systemen ontwikkelen en  onderhouden.

Zijn onderzoek presenteert nieuwe methoden voor het creëren van schaalbare, resolutie-onafhankelijke graphics en voor het berekenen van compacte lay-outs van bomen. Een ander belangrijk probleem dat Van der Ploeg in zijn onderzoek adresseert is de organisatie van interactieve systemen. In de gebruikelijke benadering worden ‘callbacks’ toegepast om te reageren op de invoer van de gebruiker. Hierbij wordt de besturingsstroom van het programma bepaald door de gebeurtenissen die optreden en niet door de volgorde die de programmeur heeft aangegeven.

Bij grotere systemen, wordt de interferentie tussen verschillende callbacks problematisch en leidt tot de zogenaamde callback hel. Dit resulteert in softwaresystemen die steeds onoverzichtelijker en  moeilijker te begrijpen zijn.  In zijn onderzoek stelt Van der Ploeg als oplossing een nieuwe methode voor functioneel reactief programmeren voor. Zowel de expressieve kracht als efficiënte uitvoering van deze nieuwe aanpak worden verkend en geïllustreerd.

Dit werk is een stap in de richting van het samenstellen van interactieve systemen op basis van herbruikbare componenten. Van der Ploeg zal zijn proefschrift "Efficiënt Abstractions for Visualization and Interaction", 8 april 2015  verdedigen aan de Universiteit van Amsterdam. Promotor is Prof.dr. Paul Klint en Dr. Tijs van der Storm treedt op als co-promotor.