Op het web, op Twitter, in nieuwsbrieven, in reclame en ook in bladen als Bits&Chips komen we de laatste jaren steeds meer en steeds betere ontwikkelomgevingen tegen voor modelgebaseerde ontwikkeling, steeds vaker aangeduid als language workbenches. Blijkbaar slaat het concept aan, zowel bij ontwikkelorganisaties als bij softwareontwikkelaars zelf. Nadeel is wel – zoals altijd – dat veel aanbod veel variatie betekent in functionaliteit en andere kwaliteiten. Dat maakt de keuze voor de juiste workbench minder triviaal.
Het begint al met de keuze voor de definitie van de modelleertalen: gaan we voor grafisch, voor tekstueel of voor een mengvorm? En gaan we voor een zelfgedefinieerde domeinspecifieke taal, voor een standaard als UML of voor uitbreidingen op een programmeertaal? En wat gaan we vervolgens doen met de modellen? Documentatie schrijven bij de plaatjes of code genereren – het ultieme doel van modelgebaseerd ontwikkelen? Allemaal vragen die afhankelijk zijn van de omgeving waarin we werken en de doelen die we willen bereiken.
De keuze voor de juiste workbench was ook een veelbesproken onderwerp tijdens de Code Generation-conferentie in Cambridge vorig jaar juni. Zodanig veelbesproken dat een groep met daarin onder andere Markus Völter, Steven Kelly, Eelco Visser, Jos Warmer en ondergetekende tot de conclusie kwam dat er een vergelijking moest komen op een aantal belangrijke kenmerken van language workbenches. Medio juli lag er een conceptopdracht voor een zogeheten Language Workbench Competition. Wie daaraan wil deelnemen, moet op basis van een gegeven generieke casus op drie niveaus van complexiteit laten zien wat met een language workbench naar keuze mogelijk is.
