Achtergrond

Trends in modelgedreven ontwikkeling

Angelo Hulshout is softwarearchitect, trainer, coach en MDSD-enthousiast. Dit artikel is mede gebaseerd op informatie van Peter Bell (Systemsforge), Alistair Blair (Thales UK), Johan den Haan (Mendix), Steven Kelly (Metacase), Bernhard Merkle (Sick), Pedro Molina (Cap Gemini Spanje), Eelco Visser (TU Delft), Markus Völter (Itemis) en Jos Warmer (Ordina), waarvoor dank.

Leestijd: 8 minuten

Van 16 tot en met 18 juni vormde Cambridge voor de vierde maal het decor van Code Generation. Deze conferentie, in tegenstelling tot veel andere niet op academische leest geschoeid, draait sinds de eerste editie in 2007 om de praktijk van modelgedreven ontwikkeling: de succesverhalen, de mislukkingen en de laatste ontwikkelingen op het gebied van talen en gereedschappen. Een mooie basis om eens op een rijtje te zetten wat er op dit moment speelt op dit vlak – aansluitend op de trends in softwareontwikkeling uit de vorige Bits&Chips.

In model-driven software development (MDSD) draait alles om het verhogen van de productiviteit van softwareontwikkelaars. Door modellen te maken op een hoger abstractieniveau worden systemen en hun werking overzichtelijker, waarna we de details door middel van codegeneratie toevoegen in de uiteindelijke software. Uitgangspunt: modellen zonder overbodige details en op het juiste abstractieniveau zijn beter te toetsen met stakeholders en (deterministisch) gegenereerde code vraagt op niet al te lange termijn minder test- en debugwerk.

Zoals bij alle ontwikkelactiviteiten staat of valt dit met de beschikbaarheid van het juiste gereedschap. Hoewel we met een command-linecompiler nog steeds heel ver komen, is het opzetten van een consistente omgeving voor modellering en codegeneratie een stuk makkelijker met een geïntegreerde ontwikkelomgeving. Waar we bij programmeerwerk praten over een integrated development environment (IDE), gaat het bij MDSD om een zogeheten language workbench. Dit is een geïntegreerde omgeving voor het definiëren van domeinspecifieke talen (DSL‘s), al dan niet op basis van UML of XML, en de bijbehorende modeltranformaties en codegeneratoren. Een language workbench maakt het een stuk eenvoudiger om deze elementen op een consistente manier te beschrijven.

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 and enjoy all the benefits.

Login

Related content