19.3. Impuls

Ein Impuls ist eine Kommunikation zwischen zwei Instanzen und wird durch eine Aktion generiert. In einem Sequenzdiagramm ist ein Impuls mit einer Verbindung verknüpft - eine Instanz einer Assoziation verbindet zwei Objektinstanzen. Im UML-Metamodell ist Stimulus eine Subklasse von ModelElement.

Die Verbindung (siehe Abschnitt 19.9, „ Verknüpfung) mit einem Impuls wird in einem Sequenzdiagramm von ArgoUML als Pfeil zwischen den Zeitlinien der Objektinstanzen (oder dem Objektkopf im Fall des Erzeugens eines Impulses; unten beschrieben) dargestellt, mit dem Namen der Aktion bezeichnet (sofern gewünscht) und der, durch ein Doppelpunkt (:) getrennte Aktion. Der Linietyp und die Pfeile hängen vom Typ der Aktion ab, die den Impuls generieren:

[Anmerkung]Anmerkung

ArgoUML erlaubt es Ihnen nicht, Impulse direkt zu erzeugen. Es bietet aber Werkzeuge an, um alle oben genannten fünf Impulstypen als Impuls zu erzeugen.

[Achtung]Achtung

In der aktuellen Release von ArgoUML gibt es keinen Weg, eine Beenden-Aktion anzuzeigen, womit sich eine Objektinstanz selbst zerstört. Ein Weg ist, eine Lösch-Aktion zu zeichnen, die in einer Schleife auf das Objekt selbst zeigt, dieser eine Aktion ohne Namen zu vergeben und mit Hilfe des Registers Darstellung eine unsichtbare Linie einzustellen. Dabei bleibt aber der Pfeil sichbar, der nicht unsichtbar gemacht werden kann. Es ist also immer sematisch falsch, eine Lösch-Aktion zu verwenden, die eine Beenden-Aktion dargstellt.

19.3.1. Detail-Register Impuls

Die aktiven Detail-Register für Impulse sind die folgenden.

Zu-Bearbeiten-Element

Standard-Register.

Eigenschaften

Siehe Abschnitt 19.3.2, „ Eigenschaftssymbolleiste Impuls und Abschnitt 19.3.3, „ Eigenschaftsfelder für einen Impuls unten.

Dokumentation

Standard-Register.

Darstellung

Standard-Register. Die Werte für die Begrenzung des Impulses ist theoretisch durch die Grenzen des Impulsrahmens und seiner Zeitlinie definiert. Wenn Sie diese jedoch ändern, wird dies keinen Effekt zeigen und der Ursprungswert wird wieder eingestellt, wenn Sie das Register wieder aufsuchen.

Das Ändern der Einträge Füllfarbe und Schatten hat keinen Effekt. Sie können den Eintrag Linienfarbe verändern und es wird eine Linie um das Signal gezeichnet, was keine UML- Darstellung ist und eher bizarr ist.

[Tipp]Tipp

Um die Farbe der Linie zu ändern, sollten Sie die verknüpfte Verbindung markieren (etwas abseits des Impulses klicken) und dessen Register Darstellung verwenden (siehe Abschnitt 19.9, „ Verknüpfung).

[Achtung]Achtung

In der aktuellen Release von ArgoUML ist das ändern des Feldes Begrenzung möglich, wird aber die Position des Impulses nur temporär ändern. Das Markieren irgend eines Modellelementes auf dem Bildschirm veranlasst den Impuls wird zu seiner Ursprungsposition zurückzukehren und die Ursprungswerte werden zurückgeholt.

Quellcode

Standard-Register, aber ohne Inhalte.

[Achtung]Achtung

Ein Impuls sollte keinen Code generieren, so dass die Tatsache, dass dieses Register aktiv ist, wahrscheinlich einen Fehler darstellt.

Randbedingungen

Standard-Register. ArgoUML unterstützt nur Randbedingungen bei Klassen und Features (Attribute, Operationen, Signalen und Methoden), so dass dieses Register deaktiviert ist.

Eigenschaftswerte

Standard-Register. Im UML-Metamodell sind für Stimulus die folgenden Standard-Eigenschaftswerte definiert.

  • derived (von der Superklasse ModelElement). Der Wert true bedeutet, dass der Impuls redundant ist - er kann formal von anderen Elementen abgeleitet werden, oder false, wenn er es nicht kann.

    [Anmerkung]Anmerkung

    Abgeleitete Impulse haben ihren Wert in der Analyse und im Design, um nützliche Namen oder Konzepte einzuführen. Und im Design, um eine Wiederverarbeitung zu verhindern.

[Anmerkung]Anmerkung

Die UML-Metaklasse Element, von der alle anderen Modellelemente abgeleitet werden, beinhaltet den Eigenschaftswert documentation, der in ArgoUML im Register Dokumentation bearbeitet wird.

19.3.2. Eigenschaftssymbolleiste Impuls

Nach oben

Navigiert in der Paketstruktur nach oben.

Löschen

Löscht den Impuls aus dem Modell.

[Warnung]Warnung

Dies ist ein Löschen aus dem Modell, nicht nur aus dem Diagramm. Um einen Impuls aus dem Diagramm zu löschen, ihn aber im Modell zu erhalten, verwenden Sie Aus Diagramm entfernen im Hauptmenü (oder drücken Sie die Taste Entf).

19.3.3. Eigenschaftsfelder für einen Impuls

Name

Textfeld. Es gibt keine Namenskonvention für die Benennung von Impulsen und es ist normal, diesen unbenannt zu lassen. Die Aktion ist eine ausreichende Identifikation.

[Tipp]Tipp

Es ist manchmal nützlich, Impulsen einfache Namen zu geben, so dass sie in den hinzugefügten Notizen, welche die zeitlichen Randbedingungen beschreiben, referenziert werden können.

Aktion

Textfeld. Wird verwendet, um die Aktion zu identifizieren, die den Impuls generiert hat.

[Achtung]Achtung

Die aktuelle Release von ArgoUML implementiert Aktionen nur als textuelle Beschreibungen.

Als praktische Konvention wird empfohlen, dass Aufruf- Aktionen mit dem Namen der Operation dargestellt werden, welche die Aktion, einschliesslich aller, in Klammern gesetzten Argumente erzeugen und Sende-Aktionen mit dem Namen des Signales dargestellt werden, welche die Aktion, einschliesslich aller, in Klammern gesetzten Argumente generieren. Rückgabe-Aktionen sollten als Ausdruck für den Rückgabewert dargestellt werden, oder im anderen Fall leer sein. Erzeugen- und Lösch- Aktionen sollten leer bleiben, weil sie durch ihre Darstellung erklärt sind.

Stereotyp

Kombinationsfeld. Ein Impuls hat im UML-Standard standardmäßig keine Stereotypen, aber ArgoUML bietet die Stereotypen machine, organization und person an.

[Achtung]Achtung

ArgoUML bietet auch den Stereotyp realize für einen Impuls an. Dies scheint ein Fehler zu sein, weil dieser Stereotyp richtigerweise zur Metaklasse Abstraction gehört.

Stereotyp navigieren

Symbol. Wenn ein Stereotyp markiert wurde, wird es in das Eigenschaftsfenster des Stereotyps navigieren (siehe Abschnitt 18.5, „ Stereotyp).

Sender

Textfeld. Identifiziert die Instanz, die diesen Impuls sendete.

Ein Taste 1-Klick navigiert zur Senderinstanz, Taste 2 öffnet ein Popup-Menü mit einem Eintrag.

  • Öffnen. Navigiert zur markierten Senderinstanz.

Empfänger

Textfeld. Identifiziert die Instanz, die den Impuls empfängt.

Ein Taste 1-Klick navigiert zu der Empfängerinstanz, Taste 2 öffnet ein Popup-Menü mit einem Eintrag.

  • Öffnen. Navigiert zu der markierten Empfängerinstanz.

[Warnung]Warnung

In der aktuellen Release von ArgoUML ist dieses Feld ohne Funktion. Es zeigt immer den Eintrag none und das Popup-Menü ist deaktiviert.

Namensraum

Textfeld. Nimmt den Namensraum für den Impuls auf. Dies ist die Pakethierarchie.

Ein Taste 1-Klick auf diesen Eintrag navigiert zu dem Paket, das diesen Namensraum definiert (oder zum Modell als Namensraum auf oberster Ebene).