Peter_Lieber_Porträt_1

Als die UML 1996 als Standard für die Modellierung von Software und Systemen präsentiert wurde, haben die Erfinder gedacht, dass es jetzt den einen, einzig wahren Standard gibt, der dazu geeignet ist, die Welt (speziell die der Techniker) zu beschreiben.

Heute 2012 – knapp 16 Jahre später – beschreibt die UML immer noch erst knapp 10% aller Software und Systeme. Es gibt nicht mehr nur die UML, sondern BPMN, SysML, BrainML, Todaf, … und viele, viele andere Sprachen, die ihren Ursprung schon in der UML haben, aber eben Domain spezifisch sind.

Das liegt darin begründet, dass die UML ja eigentlich viele Freiheiten zu lässt und daher für manche Domains nicht geeignet scheint.

Unter uns gesagt: Man kann mit allen DSLs mehr oder weniger auch wirklich alles modellieren, wenn man möchte. Und meiner Meinung nach adressiert man mit DSLs viel mehr die Eitelkeit von Fachanwendern, die das eine wollen und das andere eben justament nicht.

Ein klassisches „not invented here“-Problem, was leider eine große Herausforderung für die gesamte Branche darstellt. Wie auch immer…Was aber – egal welcher DSL Fraktion man angehört – auch ein Fakt ist: Aus semantisch korrekten Modellen kann man wiederverwendbare, wenn man will auch ausführbare Anwendungen generieren. Damit entsteht das, wovon die Branche schon lange träumt: Wiederverwendbare, fehlerfreiere, überschaubarere Ergebnisse.

Es gibt mittlerweile Domänen, wo ohne UML oder entsprechender DSL, die Komplexität nicht mehr zu bewältigen wäre. Das sind scheinbar ganz banale Systeme wie die Ladestromsteuerung von Hochleistungsbatterien in modernen Elektrofahrzeugen. In der Grundschaltung betrachtet eine primitive Anordnung, aber bei genauerer Betrachtung – Temperaturfühler, Bremsenergierückführung, Sonnenlichtkollektoren, zuschaltbare Benzin-/Dieselmotoren etc. – ist die Komplexität unglaublich groß und dann noch verschiedene Varianten und Versionen. Wenn Ihnen nun die Frage auf der Zunge liegt: Zahlt sich das überhaupt aus? Meine klare Antwort: JA!

Also: Model Driven Architecture lässt sich in allen Domänen anwenden. Für den abstrakten Metamodellierer genauso wie für den Codezeilenjunkie.

Peter Lieber, Senior Consultant, LieberLieber Software GmbH