January 20, 2004

OOP 2004 - UML 2.0 Überblick

Für mich begann die OOP mit dem UML 2.0 Tutorial von Gernot Starke, Peter Hruschka, Chris Rupp und Christiane Gernert. Mir hat es sehr gut gefallen und meinen Erwartungen entsprochen. An manchen Stellen hätte ich mir größeren Detailierungsgrad gewünscht, den die Sprecher aber nicht hätten liefern können. Sie haben die einzelnen Bereiche untereinander geschickt aufgeteilt und dennoch ihre persönlichen Eindrücke diskutiert.

Wenn ich das Gehörte zusammenfasse und mit meiner persönlichen Meinung färbe, ergibt sich folgendes. Die UML 2.0 ist aufgrund ihrer Trennung in Kern und Erweiterungen besser fundiert als die Vorgänger-Versionen. Es ist fraglich, wieviel Nutzen diese bessere Fundierung dem gemeinen Modellierer bringt. Allerdings merkten die Sprecher an, dass die Intention der Spezifikation nicht mehr so einfach zu entnehmen ist. Wahrscheinlich werden wir in Zukunft eine Reihe unterschiedlicher Interpretationen der Spezifikation in Form verschiedener nicht kompatibler Implementierungen sehen. - Falls die Hersteller UML 2.0 wirklich annehmen. - Laut Vortrag hat heute praktisch kein großer Modellierungswerkzeug-Hersteller konkrete Umsetzungspläne - mit zwei Ausnahmen: Aeonix und Telelogic.

Zur UML 2.0 selbst ist anzumerken, dass sich die Neuerungen im wesentlichen auf den dynamischen Teil beschränken. Das ist nicht sonderlich verwunderlich, da die statische Modellierung bestens erprobt ist. Positiv finde ich, dass die UML in der zweiten Version nicht mehr so stark Diagramm-zentriert wie die erste Version ist. Deshalb ist es eigentlich erstaunlich, dass es jetzt noch mehr Diagrammtypen gibt: 13 anstelle von 9. Die neuen Typen sind Übersichtsdiagramme sowie das Zeitablaufdiagramm. Innerhalb eines Diagrammtyps gibt es verschiedene syntaktische Konstrukte, um den gleichen Sachverhalt auszudrücken, z.B.: "Ball/Sockets" und "provided-/required-Interfaces". Und umgekehrt gibt es in der UML gleiche Konstrukte für semantisch verschiedene Dinge; beispielsweise sind in UML 2.0 Zustände und Aktivitäten semantisch zwei verschiedene Dinge - mit gleicher grafischer Darstellung. Das wäre kein Problem, wenn es in UML 2.0 nicht ausdrücklich erlaubt wäre, u.a. Sequenz-, Zustands-, und Aktivitätssichten in einem Diagramm zu mischen. Ich persönlich finde, das ist eine Katastrophe. Ich kann mir das nur mit der Vielzahl der Köche erklären, die gemeinsam den UML 2.0 Brei gekocht haben.

Eines gefällt mir allerdings gut: durch die verbesserte Fundierung der UML ist es jetzt möglich, beliebige Modellelemente in den verschiedenen Diagrammtypen zu verwenden, zu packetieren und zu referenzieren. Daruber ist auch ein Einbinden von Diagrammen in andere möglich. Leider ist damit der Weg frei, den Überblick über modellierte Systeme zu verlieren. Ich bin gespannt, wie hier die kommende Werkzeugunterstützung aussehen wird.

Das persönlich spannendste Thema war für mich das Mischen von Packages. Peter Hruschka sagte selbst, dass er selbst nach mehrmaligen Lesen und Darüber-Nachdenken die Semantik noch nicht wirklich begriffen hat. Dennoch wird dieses UML-2.0-Feature intensiv für die Definition von UML 2.0 selbst verwendet. Das ist ein Punkt, den ich mir in den nächsten Tagen auf jeden Fall noch anschauen werde.

Und ich schließe mit den Worten der Vortragenden: "UML 2.0? Ja, das Baby ist da."

Posted by Phillip Ghadir at January 20, 2004 10:41 AM | TrackBack