Mensen spreken een taal die computers niet kennen. Een oplossing voor een bepaald probleem gedefinieerd in een taal die computers wel begrijpen, komt vaak niet overeen met het probleem zoals door mensen beschreven. Daarom zou er een soort vertaalprogramma moeten komen om problemen van mensen te vertalen naar een taal die computers en informatici spreken. Dat vereenvoudigt de communicatie en beter nog: het programmeren wordt er eenvoudiger op.
Model Driven Software Evolution, MoDSE houdt zich met dit probleem bezig. “Een software probleem en een probleem van een mens komen niet overeen. Met het project willen we de oplossing beschrijven in het probleemdomein en niet in het oplossingsdomein: we willen iets vinden wat het gemakkelijker maakt voor de klant en niet voor de computer”, zegt Jippe Holwerda, afstudeerder Computer Science aan de Technische Universiteit Delft bij Eelco Visser, de projectleider van MoDSE.
In het door JACQUARD meegefinancierde project werkt de TU Delft samen met industriële partners Atos Origin, Getronics Pink Roccade, CWI, Amersfoortse Verzekeringen en Ordina. Meinte Boersma, Transformation Specialist werkt vanuit Atos Origin mee aan het project. Zijn werk is van het ene model een ander te maken. “Dat kan werkelijk alles zijn. Wat belangrijk is dat je het op kunt schrijven”, aldus de wiskundige. “Je kiest een domein, bijvoorbeeld pensioenen. Binnen dat domein wordt gecommuniceerd met behulp van een eigen vaktaal.” Holwerda: “Informatici hebben ook een eigen taal en in dit project proberen we het verschil te verkleinen. Vanuit een model met relevante informatie en jargon, maken we de vertaling naar de gangbare oplossingen in programmeertaal. De menselijke taal is breed en soms heeft een woord meerdere betekenissen. Dat snapt een computer niet. Wij maken daarvoor vertaalprogramma’s per vaktaal of domein: Domain Specific Languages.” B
Boersma: “We maken er een soort minitaal van: precies ingewikkeld genoeg voor wat je ermee moet kunnen, vergelijk het met ‘camping Frans’. Voorheen moesten opdrachtgevers op papier en in hun eigen taal aangeven wat zij anders wilden aan de software. De programmeur verwerkte dat in de te ontwikkelen applicatie. In die procedure kan door misverstanden veel mis gaan. Handiger is het als de opdrachtgever zijn eigen taal kan gebruiken en de computer die zelf vertaalt.” De vertaalprogramma’s die binnen MoDSE worden ontwikkeld richten zich specifiek op een bepaald domein. Door te focussen op een bepaald domein kunnen goede abstracties worden gemaakt, wat de ontwikkeling van software voor dat domein drastisch moet vereenvoudigen. Een domein kan een branche zijn met eigen jargon, zoals de zorg en de bouw. Een andere vorm van een domein ligt op het gebied van webapplicaties. “Je hebt ook weer kruisingen, bijvoorbeeld omdat de applicatie van de bouwsector de financiële taal moet begrijpen”, schetst Holwerda.
Verandering
MoDSE onderzoekt hoe nieuwe talen kunnen worden ontwikkeld en hoe die door de tijd veranderen. De E in MoDSE staat niet voor niets voor Evolution. Een taal is altijd aan verandering onderhevig en de computer moet daarin meekunnen. Holwerda: “Het doel is dat we goedkope software maken met minder fouten. En dat is heel erg nodig. Kijk maar naar de lijst mislukte ict-projecten, zoals recent bij de Belastingdienst. Dat is een ideaal domein om te modelleren, maar de techniek is nog niet zover dat we daar zo een oplossing voor hebben.” “Toch kan er al veel worden gemodelleerd, omdat er duidelijke regels achter zitten, namelijk de Belastingwet”, vult Boersma aan. Maar als nu iets in de wet verandert, moet het hele systeem op de schop. De complexiteit is hier het probleem, concluderen beide heren. “Dat is veel breder: dingen zijn te complex en er zijn te weinig programmeurs. We zoeken naar het juiste abstractieniveau”, schetst Boersma.
Kijkje in de keuken
Atos Origin heeft baat bij de samenwerking met de TU Delft en de andere betrokken partijen in MoDSE. “De colloquia bij MoDSE zijn erg interessant en daar kunnen we wat van opsteken. Daarnaast houden we onze praktijkproblemen als het ware tegen het academische licht met de vraag hoe zij iets zien. Ons doel is natuurlijk om beter, sneller en goedkoper software te maken”, stelt Boersma. Holwerda vindt het op zijn beurt interessant om met het bedrijfsleven in het project te zitten, omdat die gewin willen halen uit het onderzoek. Hij loopt voor zijn afstuderen mee bij ATOS Origin en krijgt een kijkje in de keuken. “Het bedrijf heeft klantenprojecten en het is mooi om te kijken of de techniek ook daar inzetbaar is. Welke projecten dat zijn? Dat is bedrijfsgeheim.”
In het MoDSE werken meer commerciële partners, concurrenten van ATOS Origin. “Af en toe moeten we opletten wat je wel laat weten en wat niet”, zegt Boersma. Holwerda noemt het de kunst om op hoog niveau samen te werken, zonder teveel details prijs te geven. “Goede uitvindingen zijn juist de modeltalen voor een bepaald domein en de vertaalprogramma’s die daarbij horen. MoDSE probeert een basis te leggen en het is aan de industrie om eigen talen voor hun domein te ontwikkelen.”