Interview

‘Rup en UML moeten in hapklare brokken’

Reading time: 14 minutes

Ericsson zette hij aan tot componentgebaseerde softwareontwikkeling, waarmee hij het fundament legde voor het succes van de telecomgigant. Bij Rational stond hij aan de wieg van Rup en UML. Nu heeft Ivar Jacobson een eigen adviesbureau en probeert hij de softwarewereld zijn visie op het nieuwe ontwikkelen bij te brengen. Sioux Embedded Systems haalde de Zweedse goeroe naar Eindhoven in het kader van de Hot-or-Not-lezingencyclus. Bits&Chips sprak met hem.

Toen Ivar Jacobson halverwege de jaren negentig de eerste versie onder ogen kreeg van wat later UML zou worden, krabde hij zich even achter de oren. Unified Method 0.8 heette het voorstel van zijn collega‘s Grady Booch en Jim Rumbaugh bij Rational Software, maar meer dan een verzameling notaties was het niet. ’Het was geen methodologie, geen taal, het waren alleen maar dingen die je kon tekenen. Ik ging ermee naar de baas van Rational en zei tegen hem: ’Dit is heel onprofessioneel. Hier wil ik mijn naam niet onder zetten.‘ We hadden dus gelijk al een harde noot te kraken. Wat gingen we doen? Wilden we notaties of een echte taal? Uiteindelijk besloten we voor het laatste en om die beslissing kracht bij te zetten, veranderden we de naam van Unified Method in Unified Modeling Language.‘

Van de ’Three Amigos‘, de geuzennaam die het Rational-trio later zou krijgen, was Jacobson echter de enige die verstand had van taalontwerp, gepromoveerd als hij was op taalbouwstenen voor realtime systemen. Booch en Rumbaugh waren methodologisten. ’Ze konden diagrammen tekenen en hadden een voorstelling in hun hoofd van wat die betekenden, maar de semantiek was niet expliciet. Ik vond echter dat als we een taal gingen ontwerpen, dat we dan ook de klassieke technieken daarvoor moesten volgen. Dus eerst formeel een concrete syntax beschrijven waarin je de vorm van de taal vastlegt, dan een abstracte syntax maken, vervolgens in de statische semantiek zeggen wat de taalvormen betekenen en ten slotte in de operationele semantiek aangeven hoe een computerprogramma dit moet uitvoeren.‘

This article is exclusively available to premium members of Bits&Chips. Already a premium member? Please log in. Not yet a premium member? Become one for just €20 for the first year and enjoy all the benefits.

Login

Related content