アクティビティ図
アクティビティ図は、ワークフローやプロセスを表現します。各ステップ、それらの順序、および分岐や並行する流れを記述するもので、業務プロセス、アルゴリズム、開始から終了まで流れるあらゆるものに適しています。 PlantUML では、各アクティビティを 1 行ずつ記述し、矢印とif、repeat、fork などのキーワードで制御フローを表現します。図は自動的に生成されます。
- テキストを入力、図を出力。 分岐やループを含めて、上から下に流れを記述できます。
- 上から下へ読める。 テキスト内の順序が、そのまま図の順序になります。
- 再構成が容易。 ステップの並び替えや分岐の追加は、図を描き直すのではなく、テキストを編集するだけで済みます。
単純なアクティビティ
アクティビティのラベルは:で開始し;で終了します。
テキストの書式設定は、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
開始/終了
図の開始と終了を示すために、キーワードstartとstopを使用できます。
end もまた使用できます。
条件文
図に条件分岐を追加したい場合は、キーワードif、thenそしてelseを使用することができます。ラベルは括弧を使用することで与えることができます。
3種類の構文を使うことができます。
if (...) then (...)
if (...) is (...) then
if (...) equals (...) then
複数条件(水平モード)
いくつもの条件分岐がある場合には、キーワード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
WARNING
This translation need to be updated. WARNING
繰り返し(後判定)
繰り返し処理(後判定)がある場合には、キーワードrepeatとrepeat whileを使用できます。
repeatの戻り先にすることもできます。また、backwardキーワードを使用して、戻りのパスにアクティビティを挿入することもできます。
WARNING
This translation need to be updated. WARNING
repeat 節を中断する [break]
アクションの後でbreakキーワードを使うと、ループを中断することができます。
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:
label <label_name>goto <label_name>
繰り返し(前判定)
繰り返し処理(前判定)がある場合には、キーワードwhileとendwhileを使用できます。
endwhileの後ろ、または、 キーワードisを使用することで、ラベルを与えることができます。
detachを使用して無限ループを作る場合は、-[hidden]->を使用して不要な矢印を隠すと良いでしょう。
WARNING
This translation need to be updated. WARNING
並列処理
キーワードfork、fork againそしてend forkまたはend mergeを使用して、並列処理を記述することができます。
単純なfork
end mergeを使ったfork
end forkのラベル、またはjoin仕様(UML joinspec):
その他の例
処理の分岐
Split
split、split again、end splitキーワードを使って、プロセスの分岐を表すことができます。
入力の分岐(複数開始)
入力の分岐を表現するには、hiddenで矢印を隠します。
出力の分岐(複数終了)
出力の分岐を表現するには、killまたはdetachを使用します。
注釈
Creole表記のWiki構文を使用することで、テキストの書式設定ができます。
キーワード floating を使用し、注釈を遊離させることもできます。
WARNING
This translation need to be updated. WARNING
色指定
各アクティビティに、色を指定することができます。
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.
コネクタ
半角括弧を使用して、コネクタを記述することができます。
WARNING
This translation need to be updated. WARNING
コネクタの色
コネクタに色を設定することができます。
WARNING
This translation need to be updated. WARNING
グループ化(パーティション)
グループ
グループを定義して複数のアクティビティをまとめることができます:
パーティション
パーティションを定義して複数のアクティビティをまとめることができます:
グループ、パーティション、パッケージ、四角形、カード
- グループ(group)、
- パーティション(partition)、
- パッケージ(package)、
- 四角形(rectangle)、
- カード(card)
WARNING
This translation need to be updated. WARNING
スイムレーン
パイプ記号|を用いて、複数のスイムレーンを定義することができます。
さらに、スイムレーン毎に色を変えることができます。
if条件文やrepeat、whileのループを使用できます。
alias)を付けることができます。
|[#<color>|]<swimlane_alias>| <swimlane_title>
WARNING
This translation need to be updated. WARNING
矢印の除去(detach, kill)
キーワードdetachまたはkillを使用して、矢印を取り除くことができます。
kill
Emoji as action (with icon stereotype)
You can use emoji as action, with the stereotype <<icon>>:
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>>
|
UML Shape Example using Stereotype
完全な例
条件のスタイル
insideスタイル(デフォルト)
diamondスタイル
InsideDiamond (またはfoo1)スタイル
条件終了のスタイル
diamondスタイル(デフォルト)
- 分岐が1つの場合
- 分岐が2つ(
B1,B2)の場合
水平ライン(hline)スタイル
- 分岐が1つの場合
- 分岐が2つ(
B1,B2)の場合
グローバル(global)スタイルの使用
スタイル無し(デフォルト)
スタイル有り
スタイルを指定して要素の見た目を変更することができます。
Creole on Activity
You can use Creole or HTML Creole on Activity diagram: