Software erobert immer neue Anwendungsbereiche, zum Beispiel
industrielle Produktionssysteme. Dabei werden die Systeme
immer komplexer und immer schwerer beherschbar. Gleichzeitig
steigen aber gerade im industriellen Umfeld die
Qualitätsanforderungen an Software. Um diese
Qualitätsanforderungen erfüllen zu können und gleichzeitig
immer komplexere Softwaresysteme beherrschen zu können,
werden bessere objektorientierte Vorgehensmodelle,
Entwurfssprachen und Entwicklungswerkzeuge benötigt.
Die Unified Modeling Language (UML) ist der neue de-facto
Standard für das Design von objektorientierten Anwendungen.
UML stellt Klassendiagramme und verschiedene
Verhaltensdiagramme, wie Sequenzdiagramme,
Aktivitätsdiagramme, Kollaborationsdiagramme und Statecharts
für die Modellierung von Struktur und Verhalten von
objektorientierten Anwendungen zur Verfügung. Leider sind
die Semantik und das Zusammenspiel dieser Diagramme nur
unzureichend beschrieben. Ebenso fehlt ein striktes,
technisches Vorgehensmodell zur systematischen Verwendung
von UML. Der bekannte Unified Process konzentriert sich
leider eher auf generelle Projektorganisationsaspekte.
In diesem Vortrag wird eine formale Beschreibung von
UML-Klassen- und -Verhaltensdiagrammen vorgestellt, die die
Semantik dieser UML-Diagramme mit Hilfe von Graphen und
Graphersetzungssystemen definiert. Auf der Basis dieser
semantischen Präzisierung werden Codegenerierungskonzepte
für UML-Klassen- UND -Verhaltensdiagramme vorgestellt. Durch
die automatische Übersetzung von UML-Diagrammen nach Java
kann UML als visuelle Programmiersprache für
objektorientierte Anwendungen verwendet werden. Auf der
Basis der so entstehenden Entwurfssprache wird ein striktes
technisches Vorgehensmodell zur Entwicklung komplexer,
objektorientierter Softwaresysteme vorgestellt. Der Vortrag
schließt mit einer Demonstration des Fujaba-CASE-Tools, das
die vorgestellten Codegenerierungskonzepte realisiert und
die zugrundeliegende Vorgehensweise unterstützt.