Lerneinheit 3: Klasse-Klasse-Zuordnungsdeklaration erstellen und optimieren

Diese Lerneinheit zeigt Ihnen, wie Sie eine Zuordnungsdeklaration erstellen können, mit der Sie eine UML-Klasse sowohl als Eingabe- als auch als Ausgabeobjekt angeben. Diese Klasse-Klasse-Zuordnungsdeklaration enthält Zuordnungsregeln, die bei der Ausführung der generierten Umsetzung eine Kopie der Klasse und der zugehörigen Operationen im Quellenmodell erstellen und die Kopie in das Zielmodell platzieren. Außerdem können Sie eine Operation-Operation-Zuordnungsdeklaration erstellen, die in der Klasse-Klasse-Zuordnungsdeklaration die Submap aufruft.
Warum und wann dieser Vorgang ausgeführt wird

Für die einzelnen Zuordnungsdeklarationen im Zuordnungsmodell generiert das Umsetzungserstellungsframework eine Java-Quellendatei mit dem Namen nTransform.java, wobei n für den Namen der Zuordnungsdeklaration steht. Zusammen ergeben diese Java-Dateien den Umsetzungscode. Zusätzlich zum Implementierungscode für die Umsetzung generiert das Umsetzungserstellungsframework Code, mit dem die Umsetzung beim Umsetzungsservice registriert wird. Nach der Erstellung einer Zuordnungsdeklaration können Sie inkrementell Zuordnungsregeln hinzufügen und den Quellcode oder Implementierungen für die Zuordnungsregeln generieren. Sie müssen nicht alle Zuordnungsregeln definieren, bevor Sie den Quellcode generieren.

Gehen Sie wie folgt vor, um im Zuordnungsmodell eine Klasse-Klasse-Zuordnungsdeklaration zu erstellen:

  1. Klicken Sie, sofern die .mapping-Datei nicht bereits geöffnet ist, in der Sicht Paket-Explorer im Ordner model doppelt auf diese Datei.
  2. Klicken Sie im Umsetzungszuordnungseditor im Abschnitt Zuordnungsstamm mit der rechten Maustaste auf Generalize_Classes. Klicken Sie anschließend auf Zuordnung erstellen.
  3. Geben Sie im Fenster Neue Zuordnung in das Feld Zuordnungsname den Namen Class2Class ein. Klicken Sie anschließend auf OK. Die Zuordnung wird in der Modellstruktursicht angezeigt und im Editorbereich unter dem Abschnitt Zuordnungsstamm geöffnet.

Ein- und Ausgabeobjekte zu Klasse-Klasse-Zuordnungsdeklaration hinzufügen

Warum und wann dieser Vorgang ausgeführt wird
Nach der Erstellung der Zuordnungsdeklaration müssen Sie ihr ein Eingabeobjekt und ein Ausgabeobjekt hinzufügen. In dieser Lerneinheit geben Sie eine UML-Klasse als Eingabe- und Ausgabeobjekt an.
Anmerkung: Bei der Erstellung von Modell-in-Modell-Umsetzungen gilt Folgendes: Klicken Sie im Fenster Eingabe hinzufügen auf Modell hinzufügen und geben Sie das entsprechende Modell an.

Gehen Sie wie folgt vor, um der Klasse-Klasse-Zuordnungsdeklaration ein Eingabeobjekt und ein Ausgabeobjekt hinzuzufügen:

  1. Klicken Sie auf das Symbol für Eingabeobjekt hinzufügen. Dieses befindet sich in der Symbolleiste für die von Ihnen bearbeitete Zuordnung ganz links:
    Abbildung mit dem Symbol für das Hinzufügen eines Eingabeobjekts. Dieses Symbol befindet sich in der Symbolleiste für die von Ihnen bearbeitete Zuordnung.
  2. Wählen Sie im Fenster Eingabe hinzufügen im Teilfenster Element ein Metamodellobjekt aus. Das Teilfenster Element zeigt die Elemente im Metamodell oder in den Metamodellen an, die Sie als Quelle oder Ziel für das Zuordnungsmodell angeben. Erweitern Sie für dieses Lernprogramm im Teilfenster Element den Eintrag uml und klicken Sie auf Class und auf OK.
  3. Klicken Sie auf das Symbol für Ausgabeobjekt hinzufügen. Dieses befindet sich in der in der Symbolleiste für die von Ihnen bearbeitete Zuordnung an zweiter Stelle von links:
    Abbildung mit dem Symbol für das Hinzufügen eines Ausgabeobjekts. Dieses Symbol befindet sich in der von Ihnen bearbeiteten Zuordnung an zweiter Stelle von links.
  4. Erweitern Sie im Fenster Ausgabe hinzufügen im Teilfenster Element den Eintrag uml und klicken Sie auf Class und auf OK.
  5. Klicken Sie auf Datei > Speichern.
Ergebnisse
Nun können Sie die Zuordnungsregeln zwischen den Attributen der Klasseneingabe- und Klassenausgabeobjekte definieren.

Zuordnungsregeln zwischen Attributen der Klasseneingabe- und Klassenausgabeobjekte definieren

Warum und wann dieser Vorgang ausgeführt wird

Nachdem Sie der Zuordnungsdeklaration die Eingabe- und Ausgabeobjekte hinzugefügt haben, können Sie die Zuordnungsregeln zwischen den Attributen definieren.

Gehen Sie in der Klasse-Klasse-Zuordnungsdeklaration wie folgt vor:
  • Erstellen Sie eine Move-Zuordnungsregel, die eine Klasse im Zielmodell erstellt.

    Sie erstellen eine Zuordnungsregel zwischen dem Attribut name der Eingabe- und Ausgabeobjekte. Die Zielklasse weist denselben Namen wie die Klasse im Eingabemodell auf; Sie können sich dies auch so vorstellen, dass eine Kopie der Klasse erstellt wird. In einer späteren Lerneinheit fügen Sie die Zuordnungsregel den Zuordnungsoperationen hinzu.

  • Erstellen Sie eine Submap-Regel, die für die einzelnen Operationen in der Klasse im Zielmodell eine entsprechende Operation in der Klasse erstellt.

    Sie erstellen eine Submap-Regel zwischen dem Attribut ownedOperation der Eingabe- und Ausgabeobjekte. Für jede Operationen in der Sammlung ownedOperation weist die generierte Operation im Zielmodell denselben Namen und dieselbe Sichtbarkeit auf wie die Operation im Eingabemodell.

Sie können mehrere Zuordnungsregeln zwischen dem Eingabe- und Ausgabeobjekt erstellen, und Sie können, wie in einer späteren Lerneinheit gezeigt wird, außerdem mehrere Zuordnungsregeln zwischen einem Attribut eines Eingabe- und Ausgabeobjekts erstellen. Sie können die folgenden Typen von Zuordnungsregeln erstellen:
Move
Eine Move-Zuordnungsregel wird auch als einfache Zuordnungsregel bezeichnet und .
Submap

Angepasst
Dieser Typ von Zuordnungsregel
Übernommene Zuordnungen
Sie können diese Zuordnungsregel nur zwischen einem Eingabeobjekt und einem Ausgabeobjekt erstellen.

Gehen Sie wie folgt vor, um die Zuordnungsregeln in der Klasse-Klasse-Zuordnungsdeklaration zu definieren:

  1. Erstellen Sie eine Move-Zuordnungsregel zwischen dem Attribut name des Eingabeobjekts und des Ausgabeobjekts:
    1. Klicken Sie im Editorbereich im Klasseneingabeobjekt auf das Attribut name.
    2. Ziehen Sie den Ziehpunkt des Attributs name auf das Attribut name im Klassenausgabeobjekt.
  2. Erstellen Sie eine Submap-Regel zwischen dem Attribut ownedOperation des Eingabe- und Ausgabeobjekts.
    1. Klicken Sie im Editorbereich im Klasseneingabeobjekt auf das Attribut ownedOperation.
    2. Ziehen Sie den Ziehpunkt des Attributs ownedOperation auf das Attribut ownedOperation im Klassenausgabeobjekt. Da das Attribut ownedOperation eine Sammlung ist, wird standardmäßig eine Submap-Regel erstellt.
  3. Klicken Sie auf Datei > Speichern.
Ergebnisse
Nun können Sie die Operation-Operation-Zuordnungsdeklaration erstellen.

Operation-Operation-Zuordnungsdeklaration erstellen

Warum und wann dieser Vorgang ausgeführt wird

An dieser Stelle der Lerneinheit weist die Submap im Editorbereich ein abhängiges Element mit einem rot umkreisten X auf, das einen Fehler anzeigt. Setzen Sie den Mauszeiger über dieses abhängige Element, um die Fehlernachricht anzuzeigen. Die Fehlernachricht besagt, dass Sie für die aufzurufende Submap-Regel eine Zuordnungsdeklaration auswählen müssen. Erstellen Sie eine Operation-Operation-Zuordnungsdeklaration, um diesen Fehler zu beheben.

Gehen Sie wie folgt vor, um eine Operation-Operation-Zuordnungsdeklaration zu erstellen:

  1. Falls die Sicht Eigenschaften nicht geöffnet ist, klicken Sie im Editorbereich mit der rechten Maustaste auf das Submap-Element, das Sie im vorherigen Abschnitt in Schritt 2 erstellt haben, und klicken Sie auf In Eigenschaften anzeigen.
  2. Klicken Sie in der Sicht Eigenschaften auf der Registerkarte Details neben dem Feld Zuordnung auf Neu.
  3. Geben Sie im Fenster Neue Zuordnung in das Feld Zuordnungsname den Namen Operation2Operation ein.
  4. Falls das Feld Eingabe keinen Wert für Operation enthält, klicken Sie auf Durchsuchen und im Fenster Eingabe hinzufügen im Teilfenster Element auf Operation.
  5. Falls das Feld Ausgabe keinen Wert für Operation enthält, klicken Sie auf Durchsuchen und im Fenster Ausgabe hinzufügen im Teilfenster Element auf Operation.
  6. Klicken Sie auf OK. Das abhängige Fehlerelement wird entfernt, und die Operation-Operation-Zuordnungsdeklaration wird in der Modellstruktursicht angezeigt. In einer späteren Lerneinheit erstellen Sie innerhalb dieser Zuordnungsdeklaration Zuordnungsregeln.
  7. Klicken Sie auf Datei > Speichern.
Ergebnisse
In der nächsten Lerneinheit definieren Sie eine Klasse-Schnittstelle-Zuordnungsdeklaration.

Rückmeldung