Angelo Hulshout is softwarearchitect, trainer en coach bij Delphino Consultancy.

29 March 2013

Toen ik rond 2006 in aanraking kwam met modelgedreven ontwikkeling en er zelf voor het eerst mee aan de slag ging, had de Duitser Markus Voelter er inmiddels al zijn eerste boek over geschreven: ’Model-driven software development‘. Dit boek behandelde zowel technische als organisatorische en zakelijke aspecten van deze manier van software ontwikkelen en was voor veel mensen lang (nog steeds zelfs) een standaardwerk.

Inmiddels is het 2013, en afgelopen februari heeft Voelter zijn tweede werk over dit onderwerp gepubliceerd. Zijn vorige boek was op een aantal punten, met name de technische, ingehaald door de snelle ontwikkelingen in het veld. Waar zijn eigen Openarchitectureware in 2006 nog bijzonder was, is er nu een hele serie volwassen producten op de markt om eigen domeinspecifieke talen (DSL‘s) te definiëren en te gebruiken. Dat is dan ook waar dit nieuwe boek met name over gaat: het definiëren en gebruiken van deze talen.

Na een inleiding over wat DSL‘s zijn en waarin ze verschillen van GPL‘s (general-purpose languages, zoals C en Python) introduceert Voelter vijf voorbeelden. Elk komt uit een specifiek domein, van WebDSL (Eelco Visser c.s., TU Delft) voor het definiëren van websites tot een taal om firmware voor koelkasten te bouwen (van een niet bij naam genoemde Duitse elektronicagigant). Deze vijf gebruikt Voelter als basis om in verschillende omgevingen, of language workbenches, te laten zien hoe DSL‘s worden gemaakt en gebruikt.

Dit gebeurt in twee delen. Het eerste deel behandelt de uitgangspunten van DSL-ontwikkeling (concepten, designdimensies, paradigma‘s). Het tweede deel legt in ongeveer honderdzeventig pagina‘s uit hoe vanuit deze basis een DSL wordt gebouwd. Hierbij komen stukjes van de genoemde grote voorbeelden terug. In nog eens ruim honderdtwintig pagina‘s gaat het boek vervolgens dieper in op de voorbeelden, waarbij duidelijk wordt hoe de talen in de praktijk worden gebruikt. MBeddr, de programmeursvriendelijke herimplementatie van C, is daarbij wel het meest sprekende voorbeeld van wat zoal mogelijk is.

 advertorial 

8-bit Microcontrollers Still Anchor the Majority of Embedded Designs Today

They are tiny, but vitally important. The market for 8-bit microcontrollers continues to grow strongly as a key part of the drive to digitalisation, highlighted by the current chip shortages. Read more about Microchip’s 8-bit devices.

Al met al heeft Voelter in iets meer dan een jaar een prima boek neergelegd voor wie echt een stap wil zetten in de wereld van modelgedreven ontwikkeling. Enige nadeel dat ik heb kunnen ontdekken, maar dat legt de inleiding van het boek ook uit, is dat het vooral tekstuele DSL‘s behandelt. Grafische DSL‘s en bijbehorende tools komen niet aan bod, maar de onderliggende concepten die in dit boek terugkomen, zijn ook daar toepasbaar.

Wat mij betreft een aanrader, ook omdat Voelter heeft gekozen voor het donationware-concept: de koper bepaalt zelf zijn prijs voor de digitale editie van het boek, die te downloaden is van www.dslbook.org. Een geprinte versie staat voor een zeer redelijke prijs in de catalogus van Amazon.