Gewusst wie: Integrieren von UML-Modellen in andere Modelle und Tools
UML-Modelle können in andere Modelle und domänenspezifische Sprachen integriert sein.
Sie können die Modelle wie folgt integrieren, indem Sie Erweiterungscode für eine Vielzahl von Funktionen schreiben:
Anfügen von Verweisen von einem beliebigen Element an andere Elemente, z. B. an Dateien oder Elemente in anderen Modellen.
In einem UML-Element können Sie Links zu anderen UML-Elementen, Dateien oder anderen Objekten speichern, indem Sie deren Identitäten als Zeichenfolgen codieren.Sie können z. B. eine Erweiterung schreiben, mit der eine beliebige UML-Aktion (das heißt, ein Element in einem Aktivitätsdiagramm) mit einem anderen Aktivitätsdiagramm verknüpft werden kann.Wenn der Benutzer auf die Aktion doppelklickt, wird das andere Diagramm geöffnet.So kann der Benutzer eine ausführlichere Ansicht der Aktion bereitstellen.
Zwei Möglichkeiten sind verfügbar, um Zeichenfolgen und andere Daten in einem beliebigen Element zu speichern:
Stereotype-Eigenschaften. Sie können ein UML-Profil definieren, in dem Sie ein Stereotyp definieren, der bestimmten Arten von UML-Elementen Eigenschaften hinzufügt.Beispielsweise können Sie ein Profil definieren, über das einer UML-Aktion die Eigenschaft MoreDetail hinzufügt wird.Sie können Erweiterungscode schreiben, mit dem Linkdaten in einer Aktion gespeichert werden, indem das Stereotyp auf die Aktion angewendet wird und anschließend die Daten in der Eigenschaft gespeichert werden.
Das Stereotyp und dessen Eigenschaften sind für Benutzer im Eigenschaftenfenster sichtbar.
Zum Bereitstellen dieser Erweiterung packen Sie die Profildefinition und den Erweiterungscode in einer einzelnen Visual Studio-Erweiterung.
Weitere Informationen finden Sie unter Gewusst wie: Definieren eines Profils zum Erweitern von UML.
Ein Beispiel, in dem ein Profil mit Menübefehlen und Gestenhandlern bereitgestellt wird, finden Sie unter Beispiel: UML-Profile.
Verweise. An jedes UML-Element können Sie einen Satz von Zeichenfolgen anfügen.Sie können Code schreiben, in dem die Informationen gespeichert werden, z. B. ein Dateiname oder die GUID eines anderen Elements.Dazu müssen Sie keine weiteren Definitionen bereitstellen.Verweise sind für Benutzer nicht direkt sichtbar.
Weitere Informationen finden Sie unter Gewusst wie: Anfügen von Referenzzeichenfolgen an Modellelemente.Ein Beispiel finden Sie unter Verknüpfen von UML-Elementen mit Diagrammen oder anderen Dateien.
Es gibt zwei Möglichkeiten, Verweise auf Modellelemente zu codieren:
GUID und Filename des Zielmodellelements und des enthaltenden Modells oder eines bestimmten Diagramms, das es anzeigt.
Ein Beispiel finden Sie unter Verknüpfen von UML-Elementen mit Diagrammen oder anderen Dateien.
ModelBus-Verweise. ModelBus ist ein Framework zum Erstellen und Auflösen von Verweisen zwischen Modellen.Enthalten ist die ModelBus-Auswahl, mit der Benutzer ein Element in einem Modell auswählen können.Zudem können Verweise leichter aufgelöst werden, die aufgrund von Änderungen im Zielmodell verloren gehen.
Weitere Informationen finden Sie unter Integrieren von Modellen mit Visual Studio-ModelBus.
Weitergeben von Änderungen von einem Modell an ein anderes.
Sie können z. B. den Namen eines Elements mit dem Namen des verknüpften Diagramms synchronisieren, damit bei Änderungen des einen der andere ebenfalls geändert wird.Dafür sind zwei Mechanismen verfügbar:VMSDK-Regeln können verwendet werden, um Änderungen innerhalb desselben Modells weiterzugeben.
Ein Beispiel finden Sie unter Verknüpfen von UML-Elementen mit Diagrammen oder anderen Dateien.
VMSDK-Ereignisse können verwendet werden, um Änderungen außerhalb des Modells weiterzugeben – z. B. um den Dateinamen eines verknüpften Dokuments oder ein Element in einem anderen Modell zu ändern.
Informationen zu beiden Mechanismen finden Sie unter Gewusst wie: Reagieren auf Änderungen in einem UML-Modell.
Modellübergreifendes Kopieren von Elementen durch Ziehen
Sie können es ermöglichen, dass Benutzer Elemente erstellen, indem sie Elemente in ein UML-Diagramm ziehen.Das erstellte Element muss keine Kopie des Originals sein.Sie können es den Benutzern beispielsweise ermöglichen, ein Aktivitätsdiagramm aus dem Projektmappen-Explorer in ein anderes Aktivitätsdiagramm zu ziehen, um eine neue Aktion zu erstellen.Weitere Informationen finden Sie unter Gewusst wie: Definieren eines Gestenhandlers in einem Modellierungsdiagramm und Gewusst wie: Hinzufügen eines Drag & Drop-Handlers.
Beispiele
Ein Codebeispiel finden Sie unter Verknüpfen von UML-Elementen mit Diagrammen oder anderen Dateien.Anhand des Beispiels können Benutzer eine Datei auf ein beliebiges UML-Element ziehen und die Datei später durch Doppelklicken auf das Element öffnen.Sie können z. B. ein Aktivitätsdiagramm mit einem Anwendungsfallelement verknüpfen.Ein Symbol gibt an, welche Elemente über Links verfügen.
Diese Verfahren werden im folgenden Codebeispiel veranschaulicht:
Gewusst wie: Anfügen von Referenzzeichenfolgen an Modellelemente
Im Beispielcode werden Dateipfade und Element-GUIDs in dem Element zugeordneten Verweiszeichenfolgen gespeichert.
Hinzufügen von Decorator-Elementen zu UML-Elementen.Allgemeine Informationen zu Decorator-Elementen finden Sie unter Text-und anpassen Image-Felder.
Im Beispiel wird den UML-Formen ein Decorator-Bildelement hinzugefügt.
Gewusst wie: Reagieren auf Änderungen in einem UML-Modell
Das Beispiel veranschaulicht das Definieren einer Regel, die auf neu in einem Diagramm angezeigte Formen reagiert.
Gewusst wie: Definieren eines Menübefehls in einem Modellierungsdiagramm
Gewusst wie: Definieren eines Gestenhandlers in einem Modellierungsdiagramm
Das Beispiel zeigt, wie die Elemente behandelt, die von Windows-Explorer gezogen werden (oder in Datei-Explorer), dem Projektmappen-Explorer und anderen UML-Elementen.
Ein Beispiel, in dem ein UML-Modell von einem DSL gelesen werden soll, finden Sie unter Gewusst wie: Hinzufügen eines Drag & Drop-Handlers.
Siehe auch
Konzepte
Gewusst wie: Definieren eines Menübefehls in einem Modellierungsdiagramm
Gewusst wie: Definieren eines Gestenhandlers in einem Modellierungsdiagramm
Gewusst wie: Hinzufügen eines Drag & Drop-Handlers
Gewusst wie: Reagieren auf Änderungen in einem UML-Modell
Weitere Ressourcen
Verknüpfen von UML-Elementen mit Diagrammen oder anderen Dateien