Ik doe een hoop nieuwe ideeën op sinds een collega me wees op het bestaan van Domain Specific Modelling (DSM). Deze aanpak van softwareontwikkeling is gebaseerd op modellen waarin concepten uit het probleemdomein de hoofdrol spelen. Geen UML-klasses voor de verandering, maar verzekeringspolissen, gsm-user-interfacejes en horlogeknopjes.
Een prikkelend idee, dus heb ik de stoute schoenen aangetrokken. Gisterenavond heb ik een evaluatieversie van MetaEdit geïnstalleerd. In deze demotoepassing van het Finse Metacase draait alles om het maken van ’applicaties‘ voor digitale horloges. In de modelleertaal die hiervoor is ontwikkeld in MetaEdit kan ik werken met displays, knoppen en functies – op een manier die is afgeleid van toestandovergangsdiagrammen. Voor elk gewenst horloge kan ik componenten aan elkaar knopen, waarna het programma met een druk op de knop code genereert voor de toepassing.
In deze demo gaat het om Java-code die je op een pc kunt testen. Een extra optie genereert code voor het Mobile Information Device Profile (MDIP), waarmee ik de applicatie ook op mijn telefoon kan draaien. Zo kon ik na het doorwerken van de tutorial in een paar minuten een stopwatch voor mijn telefoon maken, zonder code te schrijven en zonder me te bekommeren over aansturing van displays, afhandeling van events en andere softwaretechnische zaken. En dat allemaal dankzij het gebruik van de juiste abstractie.