Aktivität (UML)

Knoten und Kanten als Netzwerk von Aktionen
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 16. Mai 2005 um 17:15 Uhr durch Gubaer (Diskussion | Beiträge) (Semantik). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Eine Aktivität (engl. Activity) ist ein Modellelement in der Unified Modeling Language 2.0 (UML2), einer Modellierungssprache für Software und andere Systeme. Sie modelliert das Verhalten eines modellierten Systems, indem sie beschreibt, wie elementare Verhaltensbauscheine, so gennante Aktionen, mit Hilfe von Kontroll- und Datenflüssen zu komplexeren Verhalten kombiniert werden.

Grundlegende Struktur

Eine Aktivität ordnet Aktionen als elementare Verhaltensbausteine in einem Netzwerk an, das aus Knoten und Kanten besteht. Die UML2 kennt drei Typen von Aktivitäts-Knoten:

  1. Aktionen sind die elementaren Verhaltensbausteine
  2. Objektknoten sind Hilfsknoten, die verwendet werden, um den Fluss von Objekten durch das Netzwerk zu spezifizieren
  3. Kontrollknoten sind Aktivitätsknoten, die in der einen oder anderen Weise den Kontroll- oder Datenfluss in einer Aktivität steuern
Datei:Activity-1.png
Graphische Notation einer Aktivität mit Beispielen für die Bestandteile einer Aktivität

Aktivitätskanten sind in zwei Hauptgruppen eingeteilt:

  1. ein Kontrollfluss ist eine Aktivitätskante, über die keine Objekt-Token fliessen
  2. ein Objektfluss ist eine Aktivitätskante, über die Objekte von einer Aktion zur nächsten fliessen können

Die Abbildung rechts zeigt eine Beispiel für die graphische Notation einer Aktivität. Verschiedene mögliche Bestandteile, zum Beispiel Formen von Objekt- und Kontrollknoten sowie Exemplare von Objekt- bzw. Kontrollflüssen sind dargestellt.


Semantik

Eine Aktivität modelliert ein Verhalten, indem sie indirekt festlegt, welche elementaren Aktionen in welcher Reihenfolge ausgeführt werden. Die Bedeutung einer Aktivität ist dadurch gegeben, dass zumindest gedanklich kleine Datenpakete, so genannte Token, den Aktivitätskanten entlang wandern und bei den Aktivitätsknoten etwas bewirken. Jede Art von Aktivitätsknoten geht anders mit eingehenden und ausgehenden Knoten um. Alle Regeln zu den einzelnen Arten von Aktivitätsknoten zusammengefasst, ergeben das Rahmenwerk, aufgrund dessen die Bedeutung einer Aktivität festgelegt ist.

Grundsätzlich orientieren sich die Regeln für den Fluss von Token in einer Aktivität an den Regeln ähnlicher formaler Modelle, wie zum Beispiel den Petri-Netzen. So gilt zum Beispiel in Analogie zu Petri-Netzen das grundlegende Prinzip, dass eine Aktion in einer Aktivität dann gestartet wird, wenn an jeder eingehenden Aktivitätskante ein Token anliegt. Andererseits definiert die UML2 für den Fluss von Token durch eine Aktivität viel detailliertere Regeln als in Petri-Netzen, vor allem weil Aktivitäten über zahlreiche zusätzliche Arten von Knoten verfügen können und weil Eigenschaften wie die Kapazität von Aktivitätskanten, die Multiplizität von Objektknoten und der Streaming-Modus von Aktivitätsparameterknoten den Token-Fluss mitbestimmen.