Aktivitätsdiagramm

Ein Aktivitätsdiagramm beschreibt einen Arbeitsablauf oder Prozess: die einzelnen Schritte, ihre Reihenfolge sowie Entscheidungen und parallele Pfade. Es eignet sich gut für Geschäftsprozesse, Algorithmen und alles, was von einem Anfang zu einem Ende fließt.

In PlantUML schreiben Sie jede Aktivität in eine eigene Zeile und verwenden Pfeile sowie Schlüsselwörter wie if, repeat und fork, um den Kontrollfluss auszudrücken. Das Diagramm wird automatisch erzeugt.

Wenn Sie ältere Diagramme pflegen: Die frühere Syntax wird weiterhin unterstützt, für neue Diagramme aber nicht mehr empfohlen.

Weitere Funktionen, die für alle Diagrammtypen verfügbar sind, finden Sie unter allgemeine Befehle.

Einfache Aktivität

Aktivitäts-Labels beginnen mit : und enden mit ;.

Textformatierungen können mit Creole Wiki Syntax erfolgen.

Sie sind in ihrer Festlegungsreihenfolge indirekt verbunden.

Andere einfache Aktion (als Liste angegegben)

Liste einfacher Aktionen getrennt durch -

Liste einfacher Aktionen getrennt durch *

Eine Ebene

Mehrere Ebenen

[Ref. GH-2376]

Start Stop End

Man kann die start und stop Schlüsselwörter verwenden um Beginn und Ende des Diagramms zu kennzeichnen.

Das Schlüsselwort end beendet ebenfalls das Diagramm, zeigt aber als Symbol den durchkreuzten Kreis.

Bedingung (if, then, else, endif)

Sie können die Schlüsselwörter if, then, else und endif verwenden, um Tests in Ihr Diagramm einzufügen. Beschriftungen können in Klammern gesetzt werden.

Die 3 Syntaxformen sind möglich:

[Ref. QA-301]

Mehrere Tests (horizontaler Modus)

Sie können das Schlüsselwort elseif verwenden, um mehrere Tests durchzuführen (standardmäßig im horizontalen Modus):

Mehrere Tests (vertikaler Modus)

Sie können den Befehl !pragma useVerticalIf on verwenden, um die Tests im vertikalen Modus durchzuführen:

Sie können die Befehlszeilenoption -P verwenden, um das Pragma anzugeben:

java -jar plantuml.jar -PuseVerticalIf=on

[Refs. QA-3931, GH-582]

WARNING
 This translation need to be updated. 
WARNING

Fallunterscheidungen [switch, case, endswitch]

Mit den Schlüsselwörtern switch, case und endswitch können Fallunterscheidungen im Diagramm abgebildet werden.

Beschriftungen können in Klammern angegeben werden.

Conditional with stop on an action [kill, detach]

You can stop action on a if loop.

But if you want to stop at the precise action, you can use the kill or detach keyword:

[Ref. QA-265]

Repeat-Schleife

Mit den repeat und repeatwhile Schlüsselwörtern können Repeat-Schleifen dargestellt werden.

Es ist desweiteren möglich repeat an einer Aktion zu nutzen und am Rückpfad mittels des keywords backward eine weitere Aktion zu spezifizieren. Weiterhin kann auch auf eine andere Aktion verwiesen werden.

*[Ref. QA-5826]*

WARNING
 This translation need to be updated. 
WARNING

Break on a repeat loop [break]

You can use the break keyword after an action on a loop.

[Ref. QA-6105]

Goto and Label Processing [label, goto]

⚠ It is currently only experimental 🚧

You can use label and goto keywords to denote goto processing, with:

[Ref. QA-15026, QA-12526 and initially QA-1626]

While-Schleife

Mit den while und end while Schlüsselwörtern können While-Schleifen dargestellt werden.

Es ist möglich eine Beschriftung hinter dem endwhile Schlüsselwort anzugeben. Eine Beschriftung kann aber auch mit dem is Schlüsselwort hinzugefügt werden..

WARNING
 This translation need to be updated. 
WARNING

Parallele Verarbeitung

Mit dem fork, fork again und end fork Schlüsselworten kann eine parallele Verarbeitung angezeigt werden.

WARNING
 This translation need to be updated. 
WARNING

Split processing

Split

You can use split, split again and end split keywords to denote split processing.

Input split (multi-start)

You can use hidden arrows to make an input split (multi-start):

[Ref. QA-8662]

Output split (multi-end)

You can use kill or detach to make an output split (multi-end):

Notizen

Textformatierung kann mit Creole Wiki Syntax gemacht werden.

Eine Anmerkung kann auch schweben, indem das Schlüsselwort floating benutzt wird.

*[Ref. [QA-2398](https://forum.plantuml.net/2398/is-it-possible-to-add-a-comment-on-top-of-a-activity-partition?show=2403#a2403)]*

WARNING
 This translation need to be updated. 
WARNING

Farben

Man kann spezielle Farben für gewisse Aktivitäten verwenden

*[Ref. [QA-4906](https://forum.plantuml.net/4906/setting-ad-hoc-gradient-backgrounds-in-activity?show=4917#a4917)]*

WARNING
 This translation need to be updated. 
WARNING

Lines without arrows

You can use skinparam ArrowHeadColor none in order to connect activities using lines only, without arrows.

Pfeile

Über die -> Notation, können Texte an den Pfeilen angezeigt werden und die Farbe der Pfeile geändert werden.

Es sind auch gepunktete, gestrichelte, dicke oder unsichtbare Pfeile möglich.

Simple colored arrow [link]

You can use simple colored arrow with the link keyword.

Multiple colored arrow

You can use multiple colored arrow.

[Ref. QA-4411]

Connector (or Circle)

You can use parentheses to denote connector.

Color on connector

You can add color on connector.

[Ref. QA-10077]

And even use style on Circle:

[Ref. QA-19975]

Gruppierung

Aktivitäten können durch Partitionen gruppiert werden:

*[Ref. [QA-2793](https://forum.plantuml.net/2793/activity-beta-partition-name-more-than-one-word-does-not-work?show=2798#a2798)]* *[Ref. [QA-542](https://forum.plantuml.net/542/ability-to-define-hyperlink-on-diagram-elements?show=14003#c14003)]*

WARNING
 This translation need to be updated. 
WARNING

Schwimmbahnen

Mit dem Pipe Zeichen | kann man Schwimmbahnen definieren.

Es ist auch möglich die Schwimmbahnfarbe zu ändern.

*[Ref. [QA-2681](https://forum.plantuml.net/2681/possible-define-alias-swimlane-place-alias-everywhere-else?show=2685#a2685)]*

WARNING
 This translation need to be updated. 
WARNING

Abtrennen

Es ist möglich mit dem detach Schlüsselwort einen Pfeil zu entfernen.

Emoji as action (with icon stereotype)

You can use emoji as action, with the stereotype <<icon>>:

[Ref. GH-2436]

SDL-Diagramme

Durch Ändern des letzten Separators ; können Sie unterschiedliche Wiedergabe für die Aktivität einstellen:

WARNING
 This translation need to be updated. 
WARNING

UML (Unified Modeling Language) Shape (with UML stereotype)

Table of UML Shape Name

Name Stereotype syntax
ObjectNode <<object>>
ObjectNode
typed by signal
<<objectSignal>> or <<object-signal>>
AcceptEventAction
without TimeEvent trigger
<<acceptEvent>> or <<accept-event>>
AcceptEventAction
with TimeEvent trigger
<<timeEvent>> or <<time-event>>
SendSignalAction

SendObjectAction
with signal type
<<sendSignal>> or <<send-signal>>
Trigger <<trigger>>

[Ref. GH-2185]

UML Shape Example using Stereotype

[Ref. GH-2185, QA-16558, GH-1659]

Komplettes Beispiel

Condition Style

Inside style (by default)

Diamond style

InsideDiamond (or Foo1) style

[Ref. QA-1290 and #400]

Condition End Style

Diamond style (by default)

Horizontal line (hline) style

[Ref. QA-4015]

Using (global) style

Without style (by default)

With style

You can use style to change rendering of elements.

Creole on Activity

You can use Creole or HTML Creole on Activity diagram: