Met de introductie van Oslo maakt Microsoft systeemontwikkeling op basis van modelgedreven architectuur (Model Driven Architecture – MDA) voor een breed publiek toegankelijk. Is het een doorbraak of is het nog te vroeg om te juichen? MDA kenmerkt zich door een aantal eigenschappen. Voordat het collectief zich straks gaat richten op Oslo is het raadzaam om zich deze kenmerken eigen te maken.
Als meest populaire reden voor het inzetten van MDA wordt vaak de functionele flexibiliteit en een snelle time-to-market gekozen waarbij wijzigingen in het systeem doorgevoerd worden zonder dat daarvoor uitgebreide ict-maatregelen nodig zijn. In het meest gunstige geval kan een eindgebruiker (domeindeskundige) van het te bouwen systeem binnen een afgebakend domein en in haar eigen domeintaal zelf systeemfunctionaliteit modificeren of zelfs toevoegen zonder dat hiervoor een programmeur noodzakelijk is. Er zit dus weinig ruis op de lijn hetgeen de foutgevoeligheid doet afnemen.
PIM en PSM
Een modelgedreven architectuur bestaat grofweg uit een Platform Independent Model (PIM) en een daarvan afgeleid Platform Specific Model (PSM). Een PIM betreft een metamodel. Transformatoren zorgen ervoor dat een PSM vervaardigd kan worden met domeinspecifieke wensen en eisen.
De afbeelding toont het MDA-framework. Oslo kan beschouwd worden als een transformatiegereedschap. De intelligentie van het systeem wordt geleverd door de in de PIM-taal ontwikkelde transformatiedefinitie.
Echter in de praktijk blijkt het iets complexer te liggen. Immers om een domeindeskundige de mogelijkheid te bieden tot systeemwijzigingen dient het systeem te beschikken over kant-en-klare bouwstenen. De ict-leverancier maakt deze bouwstenen (transformatiedefinitie) waarbij deze uiteindelijk moeten resulteren in broncode (PSM-taal). Microsoft faciliteert dit proces door het leveren van MGrammar voor de PIM-taal 'M'. De kwaliteit en omvang van de transformatiedefinitie bepalen het gemak en succes voor de eindgebruikers. Hiertoe zal de ict-leverancier na moeten denken welke abstracte taalconcepten hij wil gebruiken.
Aankloppen bij leverancier
Is de omvang van de transformatiedefinitie groot genoeg, dan is de kans dat eindgebruikers hun domein kunnen modelleren aanzienlijk. In het andere geval zal de eindgebruiker bepaalde features missen en alsnog aankloppen bij de ict-leverancier die desgevraagd aanvullende taalconcepten moet modelleren. En dat is best lastig aangezien het bedenken van abstracte begrippen geen sinecure is. In het meest ongunstige geval wordt er maatwerk ontwikkeld hetgeen de beheerslast voor de ict-leverancier doet groeien.
Daarnaast blijkt het erg moeilijk om goede transformatorbouwers te vinden. Een domeinmodel modelleren is nog tot daar aan toe, maar het modelleren van een metamodel vereist een groot abstractievermogen.
Oslo verlegt de kunst van het modelleren van domein- naar metamodellering hetgeen de complexiteit van het modelleerproces doet toenemen.
Grotere risicogroep
De risico's voor het te bouwen systeem zijn ook veel groter. Want hoewel flexibiliteit en snelle time-to-market voordelen bieden zullen fouten in het metamodel grote gevolgen hebben. Een metamodel beslaat immers meerdere specifieke domeinmodellen voor meerdere domeinen. Zit er dus iets fout in het metamodel, dan is de risicogroep die hier last van krijgt groter dan voorheen. De herstelmaatregelen hebben meer impact. Metamodellering is een volgende etage op weg naar volwassen systeemontwikkeling en daarbij geldt de metafoor: 'kleine mensen kleine problemen, grote mensen grote problemen'.
Dat blijkt ook wel, want een succesvol transformatietool is tot dusver nog met een vergrootglas te zoeken. Eerder heeft Microsofts Steve Cook een aardige poging gedaan om Domain Specific Languages (DSL) te integreren binnen Visual Studio .NET waarmee metamodellering voor ontwikkelaars toegankelijk werd. Echter het blijkt moeilijk om eenmaal voorzien van een goed instrument er mooie tonen uit te halen. Hooguit een handjevol enthousiaste ontwikkelaars weet muziek te maken met DSL en dan nog voor een zeer beperkt domeingebruik. Het is ook de vraag of metamodelontwikkelaars dezelfde personen zouden moeten zijn als ontwikkelaars van conventionele programmatuur. Alles draait namelijk om het vermogen tot abstraheren en het denken in abstracte concepten. Is een doorsnee ontwikkelaar wel in staat om op zo'n hoog niveau abstracte structuren weten te herkennen? Zo ja, dan is er een goede kans van slagen.
Abstractievermogen
Het succes van Oslo zal niet afhangen van het tool. Want net zoals bij de poging van Cook zal ook Oslo met open armen ontvangen worden. Dat is Microsoft overigens wel toevertrouwd. Het succes van Oslo zal vooral afhangen van het abstractievermogen van de Oslo-gebruiker.
Als deze metamodel-designer in staat is om een kwalitatief dekkend metamodel te vervaardigen die goede domeinmodellen kan instantiëren dan zit het wel goed. Metamodellering zal hiertoe een aparte expertise moeten worden voor een specifieke groep. Indien het Microsoft lukt om deze slag te maken dan zit het voor de komende jaren gebeiteld.
ir. Wilbert de Wolf is principal consultant bij Cimsolutions