Model-Driven Design (MDD) en in het bijzonder UML (Unified Modelling Language) mag zich verheugen in een grote belangstelling. Hoe geschikt is UML nu eigenlijk voor het ontwikkelen van embedded software? Dit stelt immers hoge eisen aan de grootte van de code en het realtime gedrag. Gerard Fianen geeft advies over de UML-omgevingskeuze.
Gedreven door de succesvolle invoering van UML bij projecten voor administratieve en financiële software, propageerden enkele grote leveranciers dat UML ook zonder meer geschikt was voor beschrijving van embedded systemen en de implementatie van embedded software. Helaas deden ze hierbij nog wel eens beloften die ze niet waar konden maken.
Zo voer een groot telecommunicatiebedrijf blind op de belofte dat gebruik van UML voor een van zijn projecten niet alleen voor het modelleren en verifiëren van het systeem veel voordelen zou bieden, maar ook in de implementatiefase zeer veel tijd zou besparen met automatische codegeneratie. Met een druk op de knop zou het de applicatiecode kunnen genereren. Naast de directe tijdwinst zou hiermee de code vanwege de uitgebreide verificatie automatisch correct zijn en ook zouden iteraties van het systeemontwerp versnellen. In de praktijk liep het bedrijf echter tegen grote problemen aan. UML 1.0 was namelijk niet geschikt om via automatische codegeneratie de stap te zetten van systeemontwerp naar de uiteindelijke productiecode.