アクティビティ図

アクティビティ図は、ワークフローやプロセスを表現します。各ステップ、それらの順序、および分岐や並行する流れを記述するもので、業務プロセス、アルゴリズム、開始から終了まで流れるあらゆるものに適しています。

PlantUML では、各アクティビティを 1 行ずつ記述し、矢印と ifrepeatfork などのキーワードで制御フローを表現します。図は自動的に生成されます。

古い図を保守している場合、以前の構文 も引き続きサポートされていますが、新しい図には推奨されません。

すべての図種に共通する機能については、共通コマンド を参照してください。

単純なアクティビティ

アクティビティのラベルは:で開始し;で終了します。

テキストの書式設定は、Creole記法のWiki構文を使用して行うことができます。

それらは定義順に暗黙的にリンクされます。

Other simple action (defined as a list)

Simple action list separated by -

Simple action list separated by *

With one level

With several levels

[Ref. GH-2376]

開始/終了

図の開始と終了を示すために、キーワードstartstopを使用できます。

キーワード end もまた使用できます。

条件文

図に条件分岐を追加したい場合は、キーワードifthenそしてelseを使用することができます。ラベルは括弧を使用することで与えることができます。

3種類の構文を使うことができます。

[Ref. QA-301]

複数条件(水平モード)

いくつもの条件分岐がある場合には、キーワードelseifを使用できます。(デフォルトで水平モードになります):

複数条件(垂直モード)

!pragma useVerticalIf onコマンドを使用すると、垂直モードの分岐になります:

コマンドラインオプション-Pを使用してpragmaを指定することもできます:

java -jar plantuml.jar -PuseVerticalIf=on

[Refs. QA-3931, issue-582]

[Refs. QA-3931, GH-582]

WARNING
 This translation need to be updated. 
WARNING

スイッチとケース [switch, case, endswitch]

switch ,case,endswitch キーワードを使って、図の中にスイッチを入れることができます。

ラベルは括弧を使って提供できます。

アクションの停止を伴う条件文 [kill, detach]

if 節内でアクションを停止できます。

ただし、明確なアクションで停止したい場合は、キーワード「kill」または「detach」を使用できます:

[Ref. QA-265]

WARNING
 This translation need to be updated. 
WARNING

繰り返し(後判定)

繰り返し処理(後判定)がある場合には、キーワードrepeatrepeat whileを使用できます。

アクティビティをrepeatの戻り先にすることもできます。また、backwardキーワードを使用して、戻りのパスにアクティビティを挿入することもできます。

[Ref. QA-5826]

WARNING
 This translation need to be updated. 
WARNING

repeat 節を中断する [break]

アクションの後でbreakキーワードを使うと、ループを中断することができます。

[Ref. QA-6105]

WARNING
 This translation need to be updated. 
WARNING

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]

繰り返し(前判定)

繰り返し処理(前判定)がある場合には、キーワードwhileendwhileを使用できます。

キーワードendwhileの後ろ、または、 キーワードisを使用することで、ラベルを与えることができます。

detachを使用して無限ループを作る場合は、-[hidden]->を使用して不要な矢印を隠すと良いでしょう。

WARNING
 This translation need to be updated. 
WARNING

並列処理

キーワードforkfork againそしてend forkまたはend mergeを使用して、並列処理を記述することができます。

単純なfork

end mergeを使ったfork

[Ref. QA-5320]

[Ref. QA-13731]

end forkのラベル、またはjoin仕様(UML joinspec):

[Ref. QA-5346]

その他の例

処理の分岐

Split

splitsplit againend splitキーワードを使って、プロセスの分岐を表すことができます。

入力の分岐(複数開始)

入力の分岐を表現するには、hiddenで矢印を隠します。

[Ref. QA-8662]

出力の分岐(複数終了)

出力の分岐を表現するには、killまたはdetachを使用します。

注釈

Creole表記のWiki構文を使用することで、テキストの書式設定ができます。

キーワード floating を使用し、注釈を遊離させることもできます。

戻り方向(backward)のアクティビティに注釈をつけることもできます。

パーティションにノートを追加することもできます。
[Ref. QA-2398]

WARNING
 This translation need to be updated. 
WARNING

色指定

各アクティビティに、色を指定することができます。

グラデーションを使用することもできます。
[Ref. QA-4906]

WARNING
 This translation need to be updated. 
WARNING

矢印無しの線

skinparam ArrowHeadColor noneを指定すると、アクティビティの接続線を矢印無しにすることができます。

矢印

記号->を用いて、矢印にテキストを添えることができ、また、色を変えることもできます。

点線、破線、太線、または、矢印なし、もまた可能です。

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]

コネクタ

半角括弧を使用して、コネクタを記述することができます。

WARNING
 This translation need to be updated. 
WARNING

コネクタの色

コネクタにを設定することができます。

[Ref. QA-10077]

[Ref. QA-19975]
WARNING
 This translation need to be updated. 
WARNING

グループ化(パーティション)

グループ

グループを定義して複数のアクティビティをまとめることができます:

パーティション

パーティションを定義して複数のアクティビティをまとめることができます:

パーティションのを変更することができます:

[Ref. QA-2793]

パーティションにリンクを追加することもできます:
[Ref. QA-542]

グループ、パーティション、パッケージ、四角形、カード

を定義して複数のアクティビティをまとめることができます:

WARNING
 This translation need to be updated. 
WARNING

スイムレーン

パイプ記号|を用いて、複数のスイムレーンを定義することができます。

さらに、スイムレーン毎にを変えることができます。

スイムレーンの中で、if条件文やrepeatwhileのループを使用できます。

次の構文で、スイムレーンに別名(alias)を付けることができます。

[Ref. QA-2681]

WARNING
 This translation need to be updated. 
WARNING

矢印の除去(detach, kill)

キーワードdetachまたはkillを使用して、矢印を取り除くことができます。

Emoji as action (with icon stereotype)

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

[Ref. GH-2436]

SDL図

終端記号;を置き換えることで、アクティビティの表現形式を変えることができます:

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]

完全な例

条件のスタイル

insideスタイル(デフォルト)

diamondスタイル

InsideDiamond (またはfoo1)スタイル

[Ref. QA-1290 and #400]

条件終了のスタイル

diamondスタイル(デフォルト)

水平ライン(hline)スタイル

[Ref. QA-4015]

グローバル(global)スタイルの使用

スタイル無し(デフォルト)

スタイル有り

スタイルを指定して要素の見た目を変更することができます。

Creole on Activity

You can use Creole or HTML Creole on Activity diagram: