Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

Aktivität (UML)

Eine Aktivität (engl. Activity) ist ein Modellelement in der Unified Modeling Language (UML), einer Modellierungssprache für Software und andere Systeme.

Inhalt4 Abschnitte
  1. 1. Begriff und Aufbau
  2. 2. Knoten und Flüsse
  3. 3. Große Aktivitäten gliedern
  4. 4. Token-Semantik

Begriff und Aufbau

Eine Aktivität (engl. Activity) ist ein Modellelement der Unified Modeling Language (UML), einer Modellierungssprache für Software und andere Systeme. Sie beschreibt Verhalten: Elementare Verhaltensbausteine, die Aktionen, werden durch Kontroll- und Datenflüsse zu einem komplexeren Ablauf verbunden.

Eine Aktivität ist als Netzwerk aus Knoten und Kanten aufgebaut. Damit legt sie indirekt fest, welche Aktionen in welcher Reihenfolge ausgeführt werden. In einem Aktivitätsdiagramm kann dieses Netzwerk graphisch dargestellt werden.

Knoten und Flüsse

Die UML2 unterscheidet drei Typen von Aktivitätsknoten:

  • Aktionen sind die elementaren Verhaltensbausteine.
  • Objektknoten spezifizieren, wie Objekte durch das Netzwerk fließen.
  • Kontrollknoten steuern Kontroll- oder Datenflüsse.

Aktivitätskanten verbinden diese Knoten. Ein Kontrollfluss ist eine Kante, über die keine Objekt-Token fließen. Ein Objektfluss erlaubt dagegen, dass Objekte von einem Objektknoten zum nächsten fließen können.

Große Aktivitäten gliedern

Komplexe Aktivitäten können so umfangreich werden, dass sie schwer zu verstehen, zu vermitteln und zu warten sind. Die UML2 kennt deshalb zwei Techniken zur Gliederung.

Bei der Verschachtelung wird ein Teil der Hauptaktivität in eine eigenständige Unteraktivität ausgelagert, ähnlich wie ein Unterprogramm aus einem Hauptprogramm aufgerufen wird. In der Hauptaktivität bleibt dafür eine Aktion stehen, die den Aufruf repräsentiert. Die UML2 verwendet hierfür die CallBehaviorAction; ihre graphische Kennzeichnung ist eine stilisierte Harke in der rechten oberen Ecke.

Eine weitere Technik sind strukturierte Knoten (engl. StructuredNode). Sie übertragen die drei Grundbausteine der strukturierten Programmierung auf Aktivitäten: Sequenz, Auswahl und Schleife. Zu ihnen gehören der Sequenzknoten (engl. SequenceNode), der Entscheidungsknoten (engl. ConditionalNode) und der Schleifenknoten (engl. LoopNode). Dadurch sollen beliebig gesetzte Kontroll- und Objektflüsse vermieden werden, die zu schlecht strukturierten Verhaltensspezifikationen führen können. Die UML2 legt keine graphische Darstellung dieser Knoten fest. In einem dargestellten Vorschlag erscheint ein strukturierter Knoten als gestricheltes, abgerundetes Rechteck; ein Entscheidungsknoten enthält einen Wenn-Teil zur Bedingungsprüfung sowie Dann- und Sonst-Teil.

Token-Semantik

Die Bedeutung einer Aktivität wird mit kleinen Datenpaketen erklärt, den Token. Gedanklich wandern sie entlang der Aktivitätskanten und lösen an Knoten Wirkungen aus. Für jede Art von Knoten und Kante gibt es Regeln dafür, wann Token gespeichert, zurückgehalten, verdoppelt oder einzeln beziehungsweise gruppenweise weitergeleitet werden.

Die Token-Regeln orientieren sich an Petri-Netzen. Beispielsweise startet eine Aktion, wenn an jeder eingehenden Aktivitätskante ein Token anliegt. UML2 beschreibt den Token-Fluss jedoch genauer, unter anderem wegen zusätzlicher Knotenarten sowie wegen Eigenschaften wie der Kapazität von Aktivitätskanten und Objektknoten und dem Streaming-Modus von Aktivitätsparameterknoten.

Grundregeln sind:

  • Nur Objektknoten, etwa Pins oder Aktivitätsparameterknoten, können Token zwischenspeichern. Kontrollknoten wie Entscheidungs- oder Parallelisierungsknoten speichern sie nicht. Ein Token fließt grundsätzlich von einem Objektknoten zu einem anderen.
  • Bei vollständiger Traversierung (engl. traverse-to-completion) wandert ein Token nur dann über einen Weg, wenn dieser vollständig frei ist und der Endknoten es aufnehmen kann. Es durchläuft den Weg ganz oder gar nicht; es bleibt nicht auf halbem Weg liegen.
  • Beim Token-Wettbewerb (engl. token competition) kann ein Token bei mehreren möglichen ausgehenden Kanten irgendeinen dieser Wege wählen. Welche Auswahl erfolgt, ist nicht festgelegt und muss nicht zufällig sein; die Implementierung des spezifizierten Verhaltens darf dies entscheiden.

Lernvideos zu Aktivität (UML)

Weiterlesen