Software in bijvoorbeeld auto’s of vliegtuigen moet snel en 100% betrouwbaar reageren. Dr. ir. Tim Willemse werkt mee aan een onderzoeksproject dat tijdkritische reactieve systemen analyseert.
Wat houdt het project precies in?
"Het project ‘A Common Framework for the analysis of reactive and timed systems' richt zich op analysetechnieken voor complexe reactieve systemen. Daarbij kun je denken aan systemen die interacteren met gebruikers of systemen om hen heen. Bijvoorbeeld de software in een auto of een vliegtuig. Het gaat vooral om systemen waarbij tijd een kritische rol speelt. Zo wil je als je op de rem van een auto drukt, binnen een fractie van een seconde een reactie van een elektronisch stabilisatieprogramma, indien nodig. Hetzelfde geldt voor de werking van een airbag: te vroeg of te laat openen is fataal. Het beschrijven van een tijdskritisch systeem is moeilijk, de analyse ervan is een probleem. Voor zover er al systemen worden beschreven is dat vooral in natuurlijke taal, en zo'n beschrijving kan niet wiskundig worden doorgerekend. Een formeel model is niet gangbaar in de industrie."
"Wij willen een hogere kwaliteit van de software garanderen. Doordat vooraf een wiskundig model wordt gemaakt van het systeem is het mogelijk om garanties te geven van wat de software wel en niet kan. Je kunt bijvoorbeeld iets zeggen over ‘deadlock' en ‘safety' eigenschappen (vastlopen en veiligheid). Tot slot is het met een formeel model duidelijker wat er gevraagd wordt en wat er gebouwd moet worden. Het is te vergelijken met een bruggenbouwer. Zodra hij een opdracht krijgt, brengt hij eerst de randvoorwaarden in kaart. Hij analyseert de omgeving en stemt zijn model daarop af en koppelt analyses hiermee terug naar de opdrachtgever. Zo'n formele terugkoppeling ontbreekt in de software-industrie stelselmatig. Er wordt wel getest en er vinden wel codereviews plaats, maar een analyse van een formeel wiskundig model ontbreekt waardoor fundamentele ontwerpfouten onopgemerkt blijven. Daarbij wordt een bruggenbouwer erop afgerekend als het mis gaat. Ook dat kennen we bij software niet, daar komt patch op patch en starten we systemen steeds weer opnieuw op."
"Bij computerstoringen ligt de fout vaak in de software en moet het systeem opnieuw gestart worden. Toch wordt steeds meer overgenomen door software in onze wereld. Neem de luchtvaartindustrie, daarin zijn veel menselijke handelingen vervangen door automatisch, door software aangestuurde, processen. Dat wil men ook invoeren in de autowereld, ‘drive-by-wire'. Dan is het stuur bijvoorbeeld niet meer door een mechaniek gekoppeld aan de wielen, maar door middel van een softwarekoppeling. Een auto opnieuw starten vanwege een computerstoring is in zo'n geval funest. Wanneer er nog zoveel fouten in software zitten, weet ik niet of ik dan nog wel een nieuwe auto wil. Zonder ontwerpanalyse kan ik er niet vanuit gaan dat het ook daadwerkelijk werkt."
"Wat ik wil ontwikkelen zijn analysemethodes voor formele wiskundige modellen. Het gaat om oplossingsmethodieken die gebruik maken van symbolisch redeneren. Er zijn standaardantwoorden op standaardproblemen. We proberen dit nu voor dit soort complexe reactieve systemen ook te maken en uit te breiden." Hoeveel draagt de nu verstrekte subsidie bij aan het project? "Van NWO hebben we vier ton gekregen die verdeeld worden over een universitair docent (mijzelf) en twee onderzoekers die halftijds werken. We hadden twee geschikte kandidaten die beiden op zoek waren naar een baan voor halve dagen. Dus in plaats van één onderzoeker hebben we de positie nu verdeeld over twee mensen. Met dit geld kunnen we drie jaar vooruit."
Hoe lang duurt het nog voordat het project vrucht draagt?
"Dat is afhankelijk van de technieken die je bedoelt. Sommige kunnen nu al worden toegepast, hoewel het wel mensen vergt die ze toe kúnnen passen. Als het gaat om systemen waarin data en tijd elkaar beïnvloeden en daardoor ook het systeemgedrag, dan hoop ik daar over drie jaar toch meer inzicht in te hebben. Ik weet niet of de systemen dan ook al daadwerkelijk geanalyseerd kunnen worden, maar dat is wel mijn droom."
Wat is het einddoel?
"Dat de technieken in de industrie worden toegepast. Daar is zoveel te winnen. En niet eens direct op de grote systemen, maar allereerst in de kleinere onderdelen. Het niet meteen op grote schaal toepasbaar zijn van analysemethoden is nog geen vrijbrief om in het geheel niets te analyseren. Het kan niet zo zijn dat we genoegen nemen met de kwaliteit van de software zoals die op dit moment is."
Hoe praktisch toepasbaar is het project?
"De drive achter het project komt vanuit de praktijk. We willen methoden ontwikkelen om betere software in industriële systemen te garanderen. De toegepaste technieken waarop we in eerste instantie ons onderzoek richten is fundamenteel."
Is Nederland innovatief bezig?
"Ik ben niet zo tevreden over het Nederlandse informaticaonderzoek. Veel onderzoekslaboratoria worden gesloten of doen andere zaken dan waar ze ooit mee begonnen zijn. Dat is een slechte zaak. Ik neig ernaar te zeggen dat het allemaal aan het afnemen is. Zo is het researchlab van KPN al jaren gesloten en is het aantal publicaties op mijn gebied dat afkomstig is uit het laboratorium van Philips drastisch afgenomen. Veel onderzoek in Nederland op informaticagebied lijkt zich terug te trekken naar de universiteiten."
Onderzoeksprogramma’s
De Nederlandse Organisatie voor Wetenschappelijk Onderzoek (NWO) honoreerde in juli dertien onderzoeksprojecten op het terrein van informatica. Totaal gaat het om 6,5 miljoen euro. Met het geld gaan 38 onderzoekers aan het werk. De projecten vallen binnen de vier informaticaonderzoeksprogramma's van het gebied Exacte Wetenschappen van NWO. Deze onderzoeksprogramma's zijn GLANCE, VIEW, JACQUARD, en BRICKS/FOCUS. Het project ‘A Common Framework for the analysis of reactive and timed systems' valt onder het programma BRICKS/FOCUS.
Wie doet wat?
Tim Willemse is sinds 1 september verbonden aan de Technische Universiteit Eindhoven en is werkzaam als universitair docent. Simona Orzan is per 1 november begonnen en Wieger Wesselink begint binnenkort met het project. Beiden zijn parttime onderzoeker in het project.
Het onderzoeksproject
BRICKS (Basic Research in Informatics for Creating the Knowledge Society) is een onderzoeksprogramma dat een sterke impuls geeft aan fundamenteel onderzoek in de informatica. Het wordt deels gefinancierd door BSIK, een fonds uit de aardgasbaten waarmee de Nederlandse kennisinfrastructuur wordt versterkt en deels door NWO. Het programma richt zich op de vier thema's van de Nationale Onderzoeksagenda Informatica: Algorithms and Formal Methods, Intelligent Systems, Modelling, Simulation and Visualisation en Parallel and Distributed Computing. In totaal beslaat BRICKS 22 projecten.