Hoe ga je om met uitbreidingen van software die je niet zelf hebt geschreven, zoals plugins? Wat doe je als deze plugins elkaar tegenspreken? Wie wint? Nu is er vaak willekeur. De ToolBus coördinatiesoftware kan de chaos structureren door als een componentlijm op te treden, aldus Hayco de Jong van het Centrum voor Wiskunde en Informatica (CWI) in Amsterdam. Op donderdag 1 februari 2007 hoopt hij op zijn proefschrift 'Flexible Heterogeneous Software Systems' aan de Universiteit van Amsterdam (UvA) te promoveren.
Plugins zijn aanvullingen op een computerprogramma. Zo heeft browser Mozilla Firefox duizenden plugins om bijvoorbeeld advertenties te blokkeren, bookmarks op een centrale plek bij te houden of de weerstoestand buiten te laten zien. Ze worden door verschillende mensen geschreven. Het kan zijn dat twee plugins op hetzelfde punt in de software ingrijpen. De een kan een moeilijker password eisen om de veiligheid te verbeteren terwijl de ander juist nergens een password vraagt om het gebruiksgemak te verhogen. Wat heeft voorrang? Nu kan de uitslag willekeurig zijn: de ene keer veilig en de andere keer niet, zonder dat de gebruiker daar ook maar iets van merkt.
Door het aanbieden van een coördinatielaag die regelt wie voorrang krijgt, verdwijnt de chaos veroorzaakt door plugins. De Jong gebruikte daarvoor de ToolBus, een programma dat in 1994 door Paul Klint (CWI en UvA) en Jan Bergstra (UvA en Universiteit Utrecht) werd ontwikkeld. De informaticus onderzocht een aantal veelgebruikte softwareproducten, zoals Firefox, Winamp - voor het afspelen van muziek en videofiles - en Eclipse - een integrated development environment (IDE) voor Java-ontwikkelaars. Hij bekeek hoe eventuele tekortkomingen kunnen worden verholpen met een 'component coordination architecture'. Het in het proefschrift beschreven onderzoek, dat daarnaast over hergebruik van software gaat, kan bijdragen aan een goedkopere manier van softwareontwikkeling. Resultaten zijn te vinden op www.meta-environment.org.