Pieter Edelman
9 March 2016

Afgelopen week is CWI- en Universiteit Leiden-onderzoekers Sung-Shik Jongmans cum laude gepromoveerd op een methode voor het schrijven van multicore-programmatuur. Met zijn aanpak wordt dit voor de programmeur een stuk eenvoudiger, zonder dat de prestaties van de software daar onder leiden.

Jongmans brengt in zijn proefschrift een expliciete scheiding aan tussen de ‘normale’ uitvoerende code en de code die de coördinatie tussen threads verzorgt. Volgens de promovendus zijn standaard programmeertalen eigenlijk niet toereikend voor coördinatiedoeleinden omdat ze geen hoogniveau informatie vastleggen, bijvoorbeeld over de intentie van de uitwisseling. Daarom ontwikkelde hij voor de coördinatie domeinspecifieke taal met veel rijkere informatie, die samenwerkt met een standaard taal voor de uitvoerende code. Deze scheiding en hoogniveau informatie maken het voor de programmeur makkelijker om over de uitwisseling te redeneren, maar zorgt ook dat de dsl-compiler een stuk beter zijn werk kan doen.

Jongmans ontwikkelde een praktische implementatie van zijn dsl en toonde de correcte werking ervan aan via formele methode. Hij ontwikkelde ook Eclipse-plug-in om de dsl te laten samenwerken met Java-code. De principes zijn echter algemeen toepasbaar voor alle programmeertalen die wat simpele multithreading-primitieven ondersteunen.