Vor 18 Jahren, im Oktober 2008, habe ich meine Masterarbeit über „Modellgetriebene Entwicklung von interaktiven Systemen unter Verwendung von HCI-Patterns“ abgeschlossen. Damals war Model-Driven Architecture (MDA) ein vielversprechendes Paradigma, das die Softwareentwicklung durch formale Modelle revolutionieren sollte – eine Revolution, die ausblieb, weil sich MDA nicht durchsetzen konnte. Heute, in Zeiten von ChatGPT, GitHub Copilot und Cursor, erlebe ich eine ähnliche Vision – nur mit anderen Mitteln.
Dieser Artikel blickt auf meine damalige Arbeit zurück und reflektiert: Was hat sich wirklich verändert – die Konzepte oder nur die Technik?
Das Problem von 2008
Die Softwareentwicklung im Jahr 2008 stand vor einem grundlegenden Problem: Während modellgetriebene Ansätze für die Persistenzebene bereits etabliert waren, fehlten für die Generierung von Benutzungsschnittstellen (User Interfaces) praktikable Lösungen. Die Herausforderungen waren vielfältig:
- Fehlende Standards: Es existierte kein allgemein akzeptierter Standard zur Beschreibung interaktiver Systeme in formalen Modellen
- Hoher Modellierungsaufwand: Die Beschreibung einer Anwendung mit existierenden Modellierungsansätzen war sehr aufwändig
- Komplexität: Die Modellierung interaktiver Systeme erforderte tiefes Expertenwissen und spezialisierte Werkzeuge
Die Vision war klar:
Wenn wir Anwendungen aus formalen Modellen generieren könnten, würden wir nicht nur Zeit sparen, sondern auch Qualität und Konsistenz der Software verbessern.
Doch der Weg dorthin war steinig.
Meine Masterarbeit
Nach einem systematischen Vergleich verschiedener Modellierungsansätze (UWE, webML, Wisdom, UsiXML) entschied ich mich für UWE (UML-based Web Engineering) als Basis. Ein zentraler Aspekt war die Integration von HCI-Patterns (Human-Computer-Interaction Patterns) in den Modellierungsprozess, um die Modellierung zu vereinfachen und die Usability automatisch zu verbessern. Mehr dazu in meinem Artikel zu HCI-Patterns.
Um die Theorie in die Praxis umzusetzen, entwickelte ich PatternUWE – ein Eclipse-basiertes Modellierungswerkzeug, das die Modellierung interaktiver Systeme mit UWE unterstützte, HCI-Patterns auf Modelle anwendete und automatische Transformationen zwischen verschiedenen Modellebenen durchführte.
Die technische Basis bildeten Eclipse Modeling Framework (EMF), openarchitectureware (oaw) und Xtext. Typisch für die Zeit: Eclipse dominierte 2008 die Java-Entwicklung, vor allem im modellgetriebenen Umfeld. Entsprechend expertenlastig war die Arbeit – Metamodelle, Transformationen und formale Beschreibungssprachen verlangten tiefes Spezialwissen.
Warum sich MDA nicht durchsetzen konnte
Trotz des vielversprechenden Ansatzes blieb die breite Durchsetzung von MDA aus. Die Gründe dafür sind vielfältig und lehrreich:
-
Hohe Einstiegshürde und Overhead: Die Werkzeuge erforderten spezialisiertes Wissen über Metamodelle und Transformationen. In der Praxis war die Modellierung oft aufwändiger als das direkte Programmieren – besonders bei kleineren Projekten oder sich schnell ändernden Anforderungen.
-
Mangelnde Flexibilität: Formale Modelle waren zu starr, besonders für Benutzeroberflächen. Änderungen erforderten umfangreiche Modellanpassungen und neue Generierungszyklen. Die langsame Iteration passte nicht zur Realität der UI-Entwicklung, wo schnelle Anpassungen essentiell sind.
-
Unzureichende Code-Qualität und Wartungsprobleme: Der generierte Code musste häufig manuell nachbearbeitet werden. Bei Änderungen am Code entstanden schnell Inkonsistenzen zwischen Modell und Code, die schwer zu lösen waren.
-
Fehlender ROI: Der initiale Aufwand war zu hoch, und die langfristigen Vorteile wurden nicht realisiert.
-
Die mobile Revolution: Mit Smartphones und Tablets explodierten die Anforderungen an UX und UI-Design. Responsive Design, Touch-Interaktionen und verschiedene Plattformen erforderten eine Flexibilität und Geschwindigkeit, die MDA nicht bieten konnte.
Diese Erfahrungen zeigen: Ein technisch überlegener Ansatz führt nicht automatisch zum Erfolg. Praktikabilität und Zugänglichkeit sind mindestens genauso wichtig wie die technische Eleganz.

Von MDA zu AI: Was sich verändert hat
Technische Evolution
Die technische Landschaft hat sich dramatisch gewandelt: MDA/MDD mündete in Low-Code/No-Code-Plattformen, moderne UI-Frameworks wie React, Vue und Angular haben die UI-Entwicklung grundlegend verändert, und UI-Pattern-Libraries (Material Design, Ant Design) sind heute Standard. Die damaligen Web-Engineering-Ansätze wie UWE oder webML spielen in der Praxis kaum noch eine Rolle.
AI-Driven Development: Die neue Welle
Während ich damals versuchte, Code aus formalen Modellen zu generieren, tun das heute AI-Tools aus natürlicher Sprache. Die Parallelen sind frappierend: Beide Ansätze reduzieren die Komplexität der Softwareentwicklung, arbeiten auf höheren Abstraktionsebenen und automatisieren wiederkehrende Aufgaben.
Der entscheidende Unterschied: Was damals Stunden dauerte (Modellierung + Transformation), passiert heute in Sekunden (Prompt + Generation). Von Experten-Tools mit formalen, deterministischen Modellen zu Werkzeugen, die jeder mit natürlicher Sprache nutzen kann – auf Kosten formaler Kontrolle.
| Aspekt | MDA (2008) | AI-Driven Development (2026) |
|---|---|---|
| Geschwindigkeit | Stunden bis Tage (Modellierung + Transformation) |
Sekunden bis Minuten (Prompt + Generation) |
| Zugänglichkeit | Experten-Tools, spezialisiertes Wissen erforderlich | Natürliche Sprache, niedrige Einstiegshürde |
| Präzision | Formale, deterministische Modelle | Nicht deterministische AI-Systeme |
| Kontrolle | Hohe Kontrolle über das Modell | Weniger Kontrolle, weniger vorhersagbare Ergebnisse (Wahrscheinlichkeitsbasiert) |
| Abstraktionsebene | Formale Modellierungssprachen | Natürliche Sprache |
| Wiederverwendung | HCI-Patterns, formale Pattern-Beschreibungen | Prompt-Templates, Agent Instructions, Cursor Rules |
Konzepte vs. Technik: Was hat sich wirklich verändert?
Die Kernkonzepte sind geblieben:
- Abstraktion,
- Wiederverwendbarkeit (Patterns damals, Prompt-Templates heute),
- Automatisierung
- und die Herausforderung, qualitativ hochwertigen Code zu produzieren.
Fundamental gewandelt hat sich die Umsetzung: von Stunden zu Sekunden, von Experten-Tools zu natürlicher Sprache, von präzisen, aber langsamen Modellen zu schnellen, aber weniger präzisen AI-Systemen.
Sowohl MDA als auch AI-Driven Development stehen vor derselben Herausforderung: die Balance zwischen Abstraktion (Einfachheit) und Kontrolle (Präzision) zu finden. MDA bot hohe Kontrolle durch formale Modelle – aber zu hohem Aufwand. AI-Driven Development senkt die Einstiegshürde, dafür fällt die Kontrolle geringer aus. Die Konzepte ähneln sich; revolutionär anders ist die Technik: AI macht das, was MDA versprach, für eine viel breitere Zielgruppe zugänglich – auf Kosten der formalen Präzision.
Fazit
18 Jahre nach meiner Masterarbeit sehe ich eine faszinierende Entwicklung:
Die Konzepte der modellgetriebenen Entwicklung haben sich kaum verändert – Abstraktion, Wiederverwendbarkeit und Automatisierung bleiben zentral.
Verändert hat sich die Technik: von formalen Modellen zu natürlicher Sprache, von Experten-Tools zu zugänglichen AI-Assistenten, von Stunden zu Sekunden.

Die MDA-Erfahrung hilft mir heute, AI-Tools besser zu verstehen und einzusetzen: Ich kenne die Grenzen der Abstraktion, die Tücken der Code-Generierung und weiß, wann manuelle Eingriffe nötig sind.
AI-Driven Development ist nicht die Ablösung von MDA, sondern dessen Weiterentwicklung. Was damals nur Experten mit tiefem Wissen über Metamodelle und Transformationen konnten, erreichen heute Entwickler mit natürlicher Sprache. Die Technik hat sich gewandelt; die Herausforderung bleibt dieselbe: die Balance zwischen Einfachheit und Kontrolle zu finden.
Ausblick: Die Konzepte von MDA mit AI neu gedacht
Interessant ist zudem eine weitere Perspektive: Die Konzepte von MDA – Patterns, Abstraktion, Wiederverwendbarkeit – könnten mit AI-Tools heute besser umgesetzt werden als damals mit formalen Modellen.
HCI-Patterns waren in meiner Masterarbeit formale Modellbeschreibungen, die Expertenwissen voraussetzten. Die modernen Entsprechungen – Prompt-Templates, Agent Instructions, Cursor Rules – sind zugänglicher und flexibler. Sie erfüllen denselben Zweck: wiederverwendbares Wissen kapseln und die Qualität steigern. Anders als damals sind sie aber nicht an starre Metamodelle gebunden und passen sich schneller an.
Die Frage von heute lautet daher nicht mehr „Wie generieren wir Code aus Modellen?“, sondern „Wie sichern wir Qualität und Kontrolle bei AI-generiertem Code – und nutzen dabei die bewährten Konzepte von MDA?“
Die Kombination aus den strukturellen Ansätzen von MDA und der Flexibilität von AI-Tools könnte der Schlüssel sein, das Beste aus beiden Welten zu vereinen.