Agile Modellierung mit
UML
Loading

5 Transformationen für die Codegenerierung

Dieses Kapitel ergänzt die prinzipiellen Überlegungen zur Codegenerierung aus Kapitel 4 um konkrete Techniken und Transformationen. Dabei wird die Vorgehensweise zur Umsetzung von Klassendiagrammen, Objektdiagrammen, der Codegenerierung aus der OCL, der Ausführung von Statecharts und der Testgenerierung aus Sequenzdiagrammen in Java in jeweils einem der Abschnitte 5.1 bis 5.5 erklärt. Bei den Klassendiagrammen werden dabei eher bereits bekannte Konzepte in kompakter Form als Transformationen aufbereitet und Alternativen diskutiert. Insbesondere der Abschnitt 5.1 über Klassendiagramme dient dabei zur Demonstration der systematisierten Darstellung von Transformationsregeln für die Codegenerierung.

Für Statecharts werden Generierungsalternativen intensiv diskutiert. Für alle anderen Notationen werden vor allem grundlegende Prinzipien der Übersetzung behandelt, weil so Nutzern unter anderem die Möglichkeit gegeben wird, auf die Zielsprache bzw. Zielumgebung zugeschnittene Übersetzungsformen selbst zu entwickeln bzw. in Abwesenheit eines geeigneten Werkzeugs diese manuell durchzuführen.

5.1 Übersetzung von Klassendiagrammen
5.1.1 Attribute
5.1.2 Methoden
5.1.3 Assoziationen
5.1.4 Qualifizierte Assoziation
5.1.5 Komposition
5.1.6 Klassen
5.1.7 Objekterzeugung
5.2 Übersetzung von Objektdiagrammen
5.2.1 Konstruktiv eingesetzte Objektdiagramme
5.2.2 Beispiel einer konstruktiven Codegenerierung
5.2.3 Als Prädikate eingesetzte Objektdiagramme
5.2.4 Objektdiagramm beschreibt Strukturmodifikation
5.2.5 Objektdiagramme und OCL
5.3 Codegenerierung aus OCL
5.3.1 OCL-Aussage als Prädikat
5.3.2 OCL-Logik
5.3.3 OCL-Typen
5.3.4 Typ als Extension
5.3.5 Navigation und Flattening
5.3.6 Quantoren und Spezialoperatoren
5.3.7 Methodenspezifikation
5.3.8 Vererbung von Methodenspezifikationen
5.4 Ausführung von Statecharts
5.4.1 Methoden-Statecharts
5.4.2 Umsetzung der Zustände
5.4.3 Umsetzung der Transitionen
5.5 Übersetzung von Sequenzdiagrammen
5.5.1 Sequenzdiagramm als Testtreiber
5.5.2 Sequenzdiagramm als Prädikat
5.6 Zusammenfassung zur Codegenerierung


Bernhard Rumpe. Agile Modellierung mit UML. Springer 2012