Modell-getriebene Entwicklung hängt sehr wesentlich von Code Generierung
ab. Jedoch ist diese Code Generierung deutlich anders als z.B. die
Generierung mit XDoclet. Dieser Unterschied ist so groß, dass es schon
fast falsch erscheint, dass Wort Generierung überhaupt in diesem
Zusammenhang zu verwenden. Generierung wie mit XDoclet ist jedoch unter
Entwicklern weit verbreitet und wird auch als eine echte Hilfe
angesehen: Man muss eben die häufig wiederkehrenden Dinge nicht mehr
selber schreiben. Aus diesem Kontext gibt es zum Beispiel auch die
Empfehlung aus dem Buch "Der Pragmatische Programmierer" nur Generatoren
zu verwenden, die man auch selber versteht. Generatoren in diesem
Kontext sind also eine Hilfe für DRY (Don't Repeat Yourself).
Die Frage ist nun, ob dieses Verständnis von Generatoren dem
modell-getriebenen Ansatz im Wege steht. Denn bei modell-getriebenen
Ansätzen geht es eben gerade nicht mehr darum, nur DRY zu ermöglichen,
sondern neue Ausdrucksformen mit höherer Abstraktion zu finden. Dies
setzt bei den Entwicklern ein Umdenken vorraus, das jenseits des
Erlernens einer neuen Sprache liegt und vor allem die bisherige Idee
der Generator Verwendung, aber auch z.B. dem wenigen großen Erfolg der
CASE Tools überwinden muss. Dazu kommt dann noch die häufig sehr große
Komplexität der typischen MDA Werkzeugen, die den Blick auf die
existierenden, pragmatischen Lösungen verstellen. Mir fehlt allerdings
ein Gefühl dafür, wie groß dieses Problem in der Realität ist.
Interessanterweise kann Microsoft aus meiner Sicht hier mit Visual
Studio .NET 2005 und dem Pushen der Software Factories einen
wesentlichen Beitrag zur Lösung des Problems leisten...