Anwender und Hersteller ringen um die Zukunft der Modellierungssprache

UML 2.0 wird zum Politikum

17.01.2003
MÜNCHEN (as) - Die Modellierungssprache Unified Modeling Language (UML) gilt als Standard für die Analyse und das Design objektorientierter Anwendungen. Die künftige Version 2.0 soll mit zahlreichen Mängeln aufräumen und neue Anforderungen abdecken. Doch ihre Verabschiedung wird durch Egoismen der Hersteller behindert.

Inzwischen ist es fünf Jahre her, dass das Industriekonsortium Object Management Group (OMG) die bis dato existierenden Ansätze für die Analyse und das Design objektorientierter Anwendungen unter dem Dach der UML zusammenführte und den Grundstein für eine einheitliche Syntax schuf. Zugleich begann mit der formalen Freigabe der Version 1.0 eine der größten Erfolgsgeschichten der OMG. So gilt die UML mittlerweile als De-facto-Standard in Modelliererkreisen und kommt in zahlreichen Anwendungsdomänen zum Einsatz, um diverse Konzepte zu spezifizieren: Etwa die grafische Darstellung von Sprachimplementierungen wie Java, C++, Smalltalk oder Corba IDL, die modellgetriebene Generierung von lauffähigem Code, die sprachunabhängige Softwarespezifizierung, das Modellieren von Architekturen und Frameworks, Prozess-Reengineering, die Strukturierung von Websites, die Beschreibung von Workflows sowie die Darstellung von Geschäftsprozessen.

Diese Vielfalt der Einsatzgebiete brachte es allerdings mit sich, dass auch die Mängel und Beschränkungen der derzeitigen Versionen 1.x von UML immer mehr zutage treten. Damit sah sich die OMG gezwungen, eine weitere Standardisierungsrunde in Richtung UML 2.0 zu starten. Hierbei gilt als eines der zentralen Probleme zu beheben, dass UML zwar eine vereinheitlichte Notation (Syntax) brachte, deren Symbole und Diagramme in der Praxis aber je nach Anwendungsdomäne bei den Benutzern zu unterschiedlichen Interpretationen führten, sprich nicht präzise und eindeutig genug sind. "UML wird zwar auf alle möglichen Arten und in verschiedensten Geschäftsfeldern verwendet, aber die Benutzer sehen sich kaum imstande, mit UML ihre Anforderungen auszudrücken", beschreibt etwa der Niederländer Jos Warmer, einer der führenden Köpfe hinter UML 2.0, die Situation.

Eine Flut von Verbesserungswünschen

Um sich ein genaueres Bild vom Zustand der Lage zu machen, veröffentlichte die OMG einen Request for Information, der von über 21 Einzelpersonen, Organisationen und Herstellern aufgegriffen wurde. Das Resultat waren zum einen über 500 Eingaben, die strittige oder fehlende Details beim Einsatz und der Implementierung der Modellierungssprache betreffen. Zum anderen leitete die OMG aus der Diskussion eine Reihe von übergeordneten Problemen in der UML ab, die mit Version 2.0 angegangen werden sollen. Allgemeines Ziel sind erheblich präzisere und durchgängigere Modellierungsmöglichkeiten sowie eine formale, vollständig definierte Semantik, um die Modelle ausführen und automatisch weiterverarbeiten zu können. Ferner soll die Sprache einfacher und von überflüssigen oder kaum genutzten Konstrukten befreit werden. Andere Aspekte zielen darauf ab, UML so anzupassen, dass sich komplexe Systeme durchgängig entwerfen lassen und das Systemverhalten darstellbar wird sowie eine allgemeine Arbeitserleichterung für den Anwender eintritt. So soll UML helfen, Anwendungsfehler frühzeitiger zu erkennen, und sich zu einem Kommunikationsmittel für alle Beteiligten eines Entwicklungsprojekts mausern.

Um den vielen Anforderungen und vor allem Eigeninteressen der an UML 2.0 beteiligten OMG-Mitglieder nachzukommen, mussten die Arbeiten formal nach dem Charakter der Einzelvorschläge (Requests for Proposals) in vier Spezifikationspakete aufgeteilt werden. Dabei behandelt "Infrastructure" den Kern der Architektur, Profile und Stereotypen in UML, und "Superstructure" kümmert sich um statische und dynamische Modellelemente. Ferner beschäftigt sich ein Team unter Führung von Jos Warner im dritten Paket unter anderem mit der Integration des Metamodells der Object Constraint Language (OCL) in UML. Die noch wenig bekannte OCL definiert eine Sprache zur Beschreibung von Zusicherungen, Invarianten, Vor- und Nachbedingungen sowie Navigation innerhalb von UML-Modellen. Als viertes Paket geht es schließlich mit "Diagram Interchange" um die Standardisierung eines einheitlichen und vor allem vollständigen Austauschformats für UML-Diagramme auf der Basis des Standards "XML Metadata Interchange" (XMI). Dieser berücksichtigt bisher keine Layoutinformationen, ist nur mangelhaft spezifiziert, derzeit in unterschiedlichen Versionen im Umlauf und wird unterschiedlich intepretiert.

Hersteller betreiben Lobbyarbeit

Um diese vier Themen herum sammeln sich Einzelkämpfer sowie diverse Hersteller von Modellierungswerkzeugen und Industrievertreter, die in erster Linie für Infrastructure und Superstructure intensive Lobbyarbeit betreiben. Sie sind vor allem in der laut Insidern immer mehr dominierenden Gruppe U2 Partners (www.u2-partners.org) organisiert. Diese umfasst Hersteller wie Hewlett-Packard, IBM, Rational, Ericsson, Unisys, Fujitsu, Iona und Telelogic. Unterstützer sind unter anderem Daimler-Chrysler, das beispielsweise durch Mario Jeckle (www.jeckle.de) aktiv vertreten wird, Compuware, Fraunhofer Focus, Lockheed Martin, France Telecom, die französische Atombehörde CEA sowie diverse Universitäten, etwa die von Kaiserslautern. Eine andere Gruppe hat sich in 2U zusammengetan (www.2uworks.org). Hier finden sich Namen wie Siemens, Softlab und Unterstützer wie JP Morgan und einige englische Universitäten.

Zwar stehen alle vier UML-Pakete im ersten Quartal 2003 zur Abstimmung an, doch selbst Kenner der Szene vermögen zu diesem Zeitpunkt nicht zu sagen, welche der vielen Vorschläge bei diesem Geflecht von Interessen tatsächlich ihren Weg in Version 2.0 finden werden. Laut Marko Boge, Gründer des Hamburger UML-Spezialisten Gentleware und Leiter der OMG-Arbeitsgruppe Diagram Interchange, wird das nächste Release trotz der vollmundigen Versprechungen der OMG wohl keine revolutionären Veränderungen bringen, sondern sei insbesondere bei den Notationen eher eine Weiterentwicklung des Bisherigen. Zudem seien die Vorschläge zur Infrastructure in erster Linie an Hersteller von Modellierungs-Tools gerichtet.

Sequenzdiagramme deutlich besser

Bei den Eingaben zur Superstructure sieht Boge die Vorteile und Neuerungen vor allem in einem sauber definierten Metamodell, das es beispielsweise erlaubt, Anforderungen während der Analyse- und Designphase besser als bisher zu verfolgen und zu prüfen, sowie im Integrationsgrad und der semantischen Klarheit der diversen UML-Diagrammtypen. Am ehesten erwartet er "wesentliche Verbesserungen" bei den Sequenzdiagrammen (für Objekte und Interaktionen), die sich nun in Subroutinen aufteilen, die ihrerseits wiederzuverwenden oder zu schachteln sind. Dadurch erhalten Modellierer besser strukturierte und aussagekräftigere Sequenzdiagramme. Positiv sieht Boge auch die Neuerungen im Aktivitätsdiagramm, das eine genauere Semantik erhält und künftig auf einem Petri-Netz basiert. Petri-Netze dienen als formale Modelle zur Beschreibung von Informations- oder Güterflüssen. Von Nutzen wird es zudem sein, dass sich mit Komponentendiagrammen nicht mehr nur die Schnittstellen, sondern auch die Abhängigkeiten von anderen Komponenten abbilden lassen.

"Der Umstieg von UML 1.x auf UML 2.0 ist für Anwender relativ schmerzlos", erwartet Boge. Der Wert der Modellierungssprache für die tägliche Arbeit werde wachsen, da die einzelnen Bestandteile konsistenter und die Semantik eindeutiger beschrieben sind. Mehr Hausaufgaben sieht er hingegen auf die Hersteller zukommen, die diesen Qualitätssprung und die vielen Detailverbesserungen mit ihren Modellierungswerkzeugen nachvollziehen müssen.

Anbieter bremsen Standardisierungsprozess

Dementsprechend ist UML 2.0 längst ein Politikum geworden, bei dem es um handfeste wirtschaftliche und strategische Interessen gehe. Laut Boge verzögern einige Anbieter den Standardisierungsprozess, da sie mit der Produktentwicklung nicht nachkommen oder mit ihren (nicht standardkonformen) Produkten ihr Monopol gefährdet sehen. Vor allem Rational gilt Insidern hier als Bremser. "Derzeit gibt es viele Spielchen", moniert Boge. Er rechne dennoch damit, dass auf dem nächsten Technical Meeting der OMG die Gewinner beim Kampf um die Spezifikationen genannt werden, wobei er U2 Partners die größten Chancen einräumt.

Hinter den OMG-Kulissen ist zudem laut Wim Bast, Chefarchitekt bei Compuware in Amsterdam und wie Boge direkt an der Ausarbeitung von UML 2.0 beteiligt, eine heftige Grundsatzdebatte entbrannt. Diese wurde durch den tief greifenden strategischen Richtungswechsel der OMG bei der Modellierung ausgelöst, denn das Konsortium hatte mit der Model Driven Architecture (MDA) im letzten Jahr einen Ansatz zur Anwendungsmodellierung vorgestellt, der der UML ihren Anspruch auf Allgemeingültigkeit nehmen könnte (siehe CW 51/01, Seite 20). MDA verspricht einen intelligenten und innovativen Mechanismus: Anforderungen, Modelle und Prozesse werden zunächst in einem abstrakten und plattformunabhängigen Modell erfasst. Dieses wird dann im folgenden Schritt zu einem plattformspezifischen Modell (PSM = Platform Specific Model) für eine konkrete Implementierungsplattform mit Hilfe von klar definierten Transformationsregeln übersetzt und kann danach verfeinert werden. Auf Basis dieses detaillierteren Modells werden dann ausführbare Anwendungen generiert. Ziel von MDA ist es, Technologien wie Corba, J2EE, XML und .NET zu integrieren, um so die Portabilität von Software auf unterschiedlichen Plattformen unterstützen zu können.

Der Streit zwischen den OMG-Mitgliedern entzündet sich nun daran, ob MDA künftig UML oder die Spezifikation Meta-Object Facility (MOF) verwenden soll. MOF hat nichts mit der laufenden UML-Standardisierung zu tun. Sie beschreibt eine abstrakte Sprache und ein Framework zur Verwaltung von plattformunabhängigen Metamodellen. Beispiele solcher aus MOF abgeleiteten Metamodelle sind UML, das Common Warehouse Metamodel oder die MOF selbst. Eine OMG-Fraktion sieht nun nach Ansicht von Computerexperte Bast MDA als Ausdruck davon, dass die Welt nicht nur aus objektorientierten, mit UML entworfenen Anwendungen besteht, sondern dass es beispielsweise auch relationale oder hierarchische Systeme oder auch das Gebiet der Geschäftsprozessmodellierung gibt und MOF dazu besser geeignet sei. Dem stehen die Vertreter der reinen UML-Lehre gegenüber, die die Modellierungssprache entsprechend erweitern und genauer spezifizieren wollen, um die unterschiedlichen Technologieplattformen intern unterstützen zu können.

Dieser Grundlagenstreit um MDA und MOF könnte laut Bast den sowieso schon mehrfach modifizierten Fahrplan für UML 2.0 weiter durcheinanderbringen. Ferner gebe es eine weitere OMG-Fraktion, zu der etwa Telelogic gehört, die UML in eine kompilierbare Sprache für bestimmte Plattformen verwandeln und so den heutigen Programmieraufwand obsolet machen wolle. Dieser Ansatz verschärfe laut Bast den Gegensatz zu MDA, da hierzu eine sehr detaillierte Definition von UML das Ziel sei, während MDA von Haus aus wenig detailliert und plattformunabhängig ist.

Bast kann zudem der Kritik seines Kollegen Boge an den Streitereien in der OMG nur zustimmen. "Große Werkzeughersteller haben kein Interesse an einer Standardisierung ihrer Produkte und machen in erster Linie aus Marketing-Gründen mit. Die kleinen Anbieter brauchen hingegen die UML-Standards, um ihre Produkte besser gegen die Konkurrenz positionieren zu können." Es komme nicht selten vor, dass kurz vor der Verabschiedung neuer Spezifikationen in letzter Minute eine Eingabe gemacht werde, um das Verfahren zu behindern. "Offziell ist das natürlich schwer nachzuweisen." Zudem sei die Rolle der OMG heute längst nicht mehr unangefochten. Ursprünglich als Gegenpol zu Microsoft gegründet, gerate sie nun deshalb in die Kritik, weil die Verhältnisse im Markt heute nicht mehr so eindeutig seien: "Microsoft wird nicht mehr als Bedrohung im Backend gesehen, und IBM beispielsweise übt immer mehr den Alleingang."

Pragmatisches Vorgehen empfohlen

Ob daher in diesem Quartal eine Abstimmung über die Pakete von UML 2.0 gelingt und damit die Abschlussarbeiten beginnen können, vermag Bast nicht zu sagen. Die UML-Anwenderschaft sollte pragmatisch vorgehen und nicht auf die Erfüllung einzelner Requests for Proposals warten oder frühen Versprechungen, die Tool-Anbieter wie Telelogic zu UML 2.0 abgegeben haben, zu viel Aufmerksamkeit schenken. Vielmehr sollten Benutzer "ihren Horizont erweitern", indem sie sich mit dem über UML hinausgehenden Konzept von MDA vertraut machen und prüfen, ob dies für ihre Projekte Sinn gibt und UML oder vielleicht andere Modellierungssprachen besser zu den eigenen Anforderungen passen. Im nächsten Schritt sollten sie die Tools und die Spezifikationen anschauen und nur die für die eigenen Zwecke hilfreichen Teile verwenden.

Abb.1: UML-2.0-Eingaben

Die Anforderungen an UML 2.0 wurden in vier Spezifikationspakete eingeteilt. Quelle: OMG

Abb.2: Bestandteile der UML

UML enthält Modellelemente, Bezeichnungen und diverse Diagramme für die Analyse und das Design von objektorientierten Anwendungen. Quelle: CW

Abb.3: Fahrplan

Experten bezweifeln, ob die im Fahrplan für dieses Quartal vorgesehene Abstimmung über die Pakete von UML 2.0 gelingen wird. Quelle: Telelogic