´Software heeft moeite hardware bij te houden´ /1 reactie

´Software heeft moeite hardware bij te houden´

Een Italiaan die tot nu toe zijn wetenschappelijke carriere in Nederland doorbracht. Daarvan zijn er niet veel, alleen al vanwege het weer. Informaticus Marcello Bonsangue vindt dat vreemd: ´ik ken weinig landen waar je zo open kunt samenwerken.´

De eerste stappen op het wetenschappelijke carierrepad waren voor de Italiaanse informaticus Marcello Bonsangue nogal onrustig. Pendelend tussen Milaan en Amsterdam studeerde hij computational linguistics, om daarna bij de Vrije Universiteit in Amsterdam aan de slag te gaan met zijn promotieonderzoek over topologische benadering in de semantiek van programmeertalen. ‘Een warm en ontspannen land,’ zo noemt hij Nederland. Begrijpelijke woorden, wetende dat hij hier zijn Nederlandse vrouw heeft leren kennen. ‘Na mijn promotie aan de Vrij Universiteit bij Jaco de Bakker en Joost Kok, kon ik een post doc positie krijgen aan de Universiteit van Leiden, daarna op het CWI in Amsterdam en later een KNAW fellowship wederom in Leiden.’
Marcello Bonsangue
Minder onrustig werd het pas met een aanstelling als universitair docent bij LIACS. Daar richt zijn onderzoek zich op de theoretische informatica. ´Ik werk op het snijvlak van wiskunde en informatica, en probeer te begrijpen hoe men eigenschappen van computertalen kan bewijzen,´ vertelt Bonsangue. ´Het gaat om fundamenteel onderzoek binnen de informatica: hoe gedragen dynamische systemen zich.´ Als voorbeeld verwijst hij naar reguliere expressies en eindigeautomaten. ´Dat zijn twee verschillende representaties van bepaalde formele talen.´legt hij uit. ´Terwijl eindige automaten een operationele beschrijving van de taal geven, beschrijven reguliere expressies daarentegen deze talen algebraïsch. De verbinding tussen deze twee formalismen wordt expliciet gemaakt in een gerenommeerde stelling van Stephen Kleene in 1951.´

Kleene was een Amerikaans wiskundige die heeft geholpen de basis te leggen voor theoretische informatica. Hij is een van de vele onderscheiden studenten van Alonzo Church, samen met o.a. Michael Rabin, Dana Scott en Alan Turing, en is vooral bekend als een van de grondleggers van de wiskundige logica.

Hardware

Kleenes stelling is een van de hoekstenen van de theoretische informatica. Die houdt in dat operationele en algebraïsch beschrijving twee zijden van dezelfde medaille zijn, aldus Bonsangue. ´Reguliere expressies en hun algebra zijn representatief geworden voor wat nu een van de belangrijkste uitdagingen in de informatica is: de ontwikkeling van technieken voor het effectief vaststellen van eigenschappen van dynamische systemen.´ Maar hij wil niet alleen de fundamenten van computertalen beschrijven, hij wil ook de eigenschappen begrijpen en bewijzen die algemeen geldend zijn. ´Dat is dus informatica op abstract niveau, met een brede geldigheid.´

Zijn interesse gaat verder dan alleen de softwarematige kant van de informatica. ‘Het is belangrijk dat we een theorie bouwen voor het beschrijven van het gedrag van computerprogramma’s dat zo universeel is dat zij toegepast kan worden ook voor hardware systemen, biologische systemen, quantum mechanische systemen, bedrijfsprocessen, enzovoort’ .

In de laatse jaren is de theorie van coalgebras naar voren gekomen als een uniform raamwerk voor het beschrijven van dit soort waarneembaar gedrag. Nederlands onderzoek doet het zeer goed op dit nieuwe terrein, ook dankzij het werk van Bonsangue, en heeft resultaten opgeleverd voor een grote verscheidenheid aan systemen van een generieke theorie. Helaas heeft de theorie moeite om de praktijk bij te houden. ´Ook software heeft moeite de hardware bij te houden, stelt Bonsangue. ‘Software systemen zijn heel erg complex geworden, en er is nauwelijks tijd om dat fatoenlijk uit te ontwikkelen.´ Er wordt volgens de LIACS-onderzoeker bij het ontwerp van software nog steeds te weinig rekening gehouden met de theorie achter informatica. ´En dat is schadelijk voor het imago van de software.´ Als zou die schuldig zijn aan het soms slecht functioneren van computers.