Ante Portas: der Modellierungsstandard UML 2.0

EnterpriseSoftware

Grafisches Softwaredesign nicht nur für Objektjongleure – Spätestens im Sommer dieses Jahres soll die Version 2.0 der Unified Modelling Language (UML) verabschiedet sein.

Spätestens im Sommer dieses Jahres soll die Version 2.0 der Unified Modelling Language (UML) verabschiedet sein. Dieser Standard des Industriekonsortiums Object Management Group (OMG) für die Analyse und das Design objektorientierter Anwendungen soll über stabilere Sprach- und Methodenkonstrukte verfügen als die jetzige Version 1.4. Zugleich bringt sie einen Fortschritt in der komponentenbasierten Entwicklung mit sich, sowie die Möglichkeit, Modelle direkt auszuführen.
Kaum ein Entwickler kommt deshalb an der Modellierungssprache UML vorbei. Selbst in Softwarehäusern wie der Bonn Data GmbH, die rund 14 000 Legacy-Anwendungen in Cobol zu pflegen hat, beruhen Software-Analyse und -Design längst auf objektorientierten Methoden.

<b>Modelle anstelle von Code</b>

Doch eigentlich ist die UML keine Sprache. Sie ist vielmehr eine von der OMG definierte Sammlung von Semantik und Notationen, mit denen sich grafische Diagramme erstellen und interpretieren lassen. Im Januar 1997 hatte der Tools-Hersteller Rational Software, der seit einigen Monaten IBM gehört, die Methode als Vorschlag bei der OMG eingereicht und am 17. November desselben Jahres war sie als Standard verabschiedet worden.

Trotz der breiten Akzeptanz verursachte die UML von Beginn an Probleme. Ihr fehlte die Konsistenz einer Programmiersprache, sie ließ zu viel Raum für Interpretationen. Zudem war sie für die Modellierung von Echtzeitanwendungen nahezu ungeeignet. Andere Elemente waren redundant, schlecht erläutert oder falsch, Konstrukte wurden von Version zu Version geändert.

Die neue Version 2.0 soll mit neuen Diagrammtypen und einer erweiterten Semantik die Modellierung von Echtzeitanwendungen besser unterstützen. Außerdem ist absehbar, dass sich Geschäftsprozesse leichter und umfangreicher abbilden lassen. So können etwa im Aktivitätsmodell mehrere Anfangszustände (Startknoten) verwendet werden, so dass parallele Abläufe darstellbar sind.

<b>Versprochen: größere Stabilität</b>

Insgesamt finden sich die grundlegendsten Änderungen bei der Verhaltensmodellierung, wie Cris Kobryn ausführt, Chef-Techniker bei dem Tools-Hersteller Telelogic und Co-Chair in der UML Revision Task Force und der Analysis and Design Task Force der OMG. Die Änderungen versprechen größere Stabilität.

So gleichen Aktivitätenmodelle nun Petrinetzen. Ein Modell entspricht einer Aktivität, die in einzelne Ablaufschritte unterteilt ist. Ein solcher Schritt repräsentiert somit nicht wie zuvor ein Verhalten, sondern ruft ein solches auf. Das kann sowohl eine elementare Operation sein als auch eine Aktivität, das heißt ein komplettes Untermodell. Eine derart klare Strukturierung war bisher unmöglich.

Die erhöhte Transparenz ist aber nur ein Merkmal der UML 2.0, die letztlich zu fehlerfreieren Programmen führen soll. Kobryn, der für Telelogic ein UML-Werkzeug entwickelt, hat schon erste Erfahrungen mit der kommenden Version. Für die Entwicklung der zweiten Version seines Tools “Tau”, habe sich die Entwicklungsmannschaft intensiv der UML bedient. Im Vergleich zur Programmierung der ersten Version habe das Entwicklungs-Team seine Produktivität um 20 bis 30 Prozent steigern können, die Fehlerquote im ersten Testlauf sei sogar um 90 Prozent gesunken.

Den Erfolg führt Kobryn im Wesentlichen darauf zurück, dass die UML-Modelle nun selbst ausführbar sind. Fehler seien bereits während der Modellierungsphase erkennbar. Thomas Stahl dagegen, Chef-Architekt bei Softwarehaus B+M Informatik AG, lehnt diese Ausprägung der UML ab: “Executable UML geht zu weit.”

<b>UML sucht Nähe zur Verwandtschaft</b>

In jedem Fall aber entspricht diese Entwicklung einem weiteren Standard, an dem die OMG arbeitet – der Model Driven Architecture (MDA). Diese ermöglicht die Trennung von Analyse-, Design- und Implementierungsmodellen. Grundlage ist ein plattformunabhängiges Modell, das regelbasiert in plattformspezifische Modelle überführt werden kann. Aus diesen schließlich lässt sich ausführbarer Code erzeugen. So gehört zum Umfang von UML 2.0 auch die semantische Erweiterung einer formalen Sprache für Zusicherungen, der Object Constraint Language (OCL), mit der sich die Applikationslogik beschreiben lässt. 

Eine weitere Entsprechung vom MDA und UML findet sich bei der Verwendung von Mustern. Mit Hilfe von Attributen und sogenannten Stereotypen lassen sich Modellbestandteile zu Profilen erweitern. Diese Profile dienen in einer modellgetriebenen Entwicklung dazu, spezielle Muster zu bilden – bestimmt für die Wiederverwendung in einer Anwendungsfamilie, einem Unternehmen oder einer Architektur. Diese Muster sind abstrakter als die bisher in der Software-Entwicklung bekannten Design- und Programmiermustern und daher besser geeignet, Anwendungs- und Systemkomponenten zu bilden.

Neben OCL und Infrastructure, welche Profile und Stereotypen umfasst, gehören auch das UML-Austauschformat Diagram Interchange und die Superstructure zum Spezifikationsumfang. Letzteres enthält zwar lediglich die Definition von statischen und dynamischen Modellelementen, erstreckt sich aber jetzt schon über 600 eng bedruckte Seiten.

Damit kommt auf alle Applikationsarchitekten und -Designer ein enormes Pensum zu, wenngleich sich hauptsächlich die Tool-Hersteller im Detail damit auseinandersetzen müssen. Eine aktuelle Übersicht bietet das Projekt EvaLUM der Forschungsgruppe Unternehmensmodellierung am Institut für Wirtschaftsinformatik der Universität Koblenz Landau.