Die Funktionsweise einer Umsetzung lässt sich leichter verstehen, wenn man das Problem betrachtet, das sie behebt: Angenommen, Sie verfassen eine Umsetzung und möchten die Zuordnungsdeklaration Class2InterfaceRealization in der Zuordnungsdeklaration Package2Package zum Erstellen der Schnittstellenrealisierung verwenden. Die Zielfunktion für die Submapzuordnung, eine Schnittstellenrealisierung einer UML-Klasse, wird jedoch nicht in der Zuordnungsdeklaration Package2Package angezeigt. Wie kann die Zuordnung zur fehlenden Zielfunktion durchgeführt werden?
Um die Schnittstellenrealisierung als Ziel bereitzustellen, erstellen Sie eine Submap von der Funktion packageElement zur Funktion packageElement in der Zuordnungsdeklaration Package2Package (Element 1 in der Abbildung). Von dieser Submap wird rekursiv auf die übergeordnete Zuordnungsdeklaration Package2Package verwiesen und auf diese Art Unterstützung für verschachtelte Pakete und ihren Inhalt bereitgestellt. Somit können Sie zusätzliche Submaps von der Funktion packageElement zur Funktion packageElement definieren. Von den Submaps kann auf andere Zuordnungsdeklarationen verwiesen werden: Class2Class (Element 2) und Class2Interface (Element 3).
Wenn Sie die Zuordnungsdeklaration Class2Class erstellen, können Sie eine Submap (Element 4) verwenden, deren Eingabe das gesamte Element 'Class' ist. Wählen Sie als Ausgabe interfaceRealization aus. Als Ergebnis soll die Zuordnungsdeklaration Class2Interface verfügbar gemacht werden, mit der Sie zwei weitere Submaps (Element 5 und 6) erstellen, deren Eingabe auch das gesamte Element 'Class' ist und deren Ausgabe die Anbieterfunktion (Supplier Feature) und die Clientfunktion (Client Feature) sind. Wenn Sie den Umsetzungscode generieren, werden von den Submaps, die hier definiert werden, nicht Ausgabeobjekte erstellt, sondern Verweise auf die Ausgabeobjekte, die durch die Umsetzungen erstellt wurden, die wiederum durch andere Zuordnungsdeklarationen generiert wurden.
Wenn Sie den Umsetzungscode generieren, müssen sowohl die Funktion für die Anbieterausgabe als auch die Funktion für die Clientausgabe auf UML-Objekte verweisen, die durch die UML-Eingabeobjekte generiert wurden. Wenn Sie angeben möchten, dass von den Ausgabeobjekten Verweise verwendet werden sollen, schreiben Sie die Submapdefinitionen so, dass in ihnen die Zuordnungsdeklarationen (Class2Class oder Class2Interface) angegeben sind, deren generierte Umsetzung die Generierung des entsprechenden Ausgabeobjekts ('Class' oder 'Interface') aus derselben Eingabe zur Folge hat.
Einzelheiten finden Sie im Beispiel für die Umsetzungskonfiguration. In der Abbildung geben die Pfeile, die von einer Submap zum Anfang der Zuordnungsdeklaration zeigen, an, dass von dieser Submap auf die Zuordnungsdeklaration verwiesen wird. Beispiel: Der Pfeil mit der Angabe "1" verweist auf die Zuordnungsdeklaration Package2Package.
