ステートダイアグラム

ステートダイアグラムは、システムまたはオブジェクトが存在しうるさまざまな状態、およびそれらの状態間の遷移を視覚的に表現します。これらは、システムが時間の経過とともに異なるイベントにどのように応答するかを捉え、システムの動的な動作をモデリングする上で不可欠です。ステートダイアグラムはシステムのライフサイクルを描写し、その挙動を理解、設計、最適化するのを容易にします。

PlantUML を使用してステートダイアグラムを作成することは、いくつかの利点を提供します:

簡単なステート

ステート図の始点と終点は、 [*] で示します。

矢印は、 --> で示します。

ステートの表現を変える

hide empty descriptionを使用し、ステート枠をシンプルにできます。

合成状態

状態は合成することもできます。キーワードstateと中括弧を使用して定義します。

内部サブ状態

サブ状態からサブ状態へ

[Ref. QA-3300]

WARNING
 This translation need to be updated. 
WARNING

長い名前

キーワードstateによって、状態についての長めの記述を使用することができます。

履歴

[H]でサブ状態の履歴、[H*]でサブ状態の深い履歴(deep history)を定義します。

フォーク(非同期実行)

<<fork>><<join>> stereotypesを使うことで、フォークノードとジョインノードを表せます。

同時状態

記号--または|| で分離することで、合成状態の中に同時状態を定義することができます。

水平セパレータ--

垂直セパレータ||

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

条件

<<choice>>ステレオタイプで条件付きの状態を表すことができます。

全ステレオタイプの例(choice, fork, join, end)

[Ref. QA-404 and QA-1159]

[Ref. QA-404, QA-1159 and GH-887]

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

入場点と退場点

<<entryPoint>>ステレオタイプで入場点、<<exitPoint>>ステレオタイプで退場点を追加することができます。

WARNING
 This translation need to be updated. 
WARNING

入力ピンと出力ピン

<<inputPin>>ステレオタイプで入力ピン、<<outputPin>>ステレオタイプで出力ピンを追加することができます。

[Ref. QA-4309]

WARNING
 This translation need to be updated. 
WARNING

展開

<<expansionInput>><<expansionOutput>>ステレオタイプにより、展開(expansion)を追加することができます。

[Ref. QA-4309]

WARNING
 This translation need to be updated. 
WARNING

矢印の方向

記号->を水平矢印として使用でき、以下の構文を使用することで、矢印の方向を指定することができます。

方向を示す単語の、最初の文字だけ(例:-down-の代わりに-d-)、または2文字(-do-)を使用することで、矢印の記述を短くすることができます。

この機能を乱用しないよう注意しなくてはいけません:通常、Graphvizは微調整なしでよい結果をもたらしてくれます。

線の色とスタイルを変更する

線のとスタイルを変更することができます。

[Ref. Incubation: Change line color in state diagrams]

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

Change head or tail of arrow line

注釈

キーワード note left of, note right of, note top of, note bottom of を使用して注釈を定義することができます。

また、複数行の注釈を定義することもできます。

さらに、状態にひもづかない注釈を定義できます。

WARNING
 This translation need to be updated. 
WARNING

リンクへの注釈

note on linkキーワードで、状態遷移(リンク)に注釈を追加することができます。

その他の注釈

合成状態にも注釈をつけることができます。

インライン色指定

[Ref. QA-1812]

skinparam

skinparam コマンドを使用すると、ダイアグラムの色やフォントを変更できます。

このコマンドは以下の場面で使用できます。

ステレオタイプが指定された状態に対して、特定の色とフォントを定義することができます。

すべての状態遷移図特有のskinparamのテスト

スタイル変更

スタイルを変更できます。

[Ref. GH-880]
WARNING
 This translation need to be updated. 
WARNING

状態の色とスタイルを変更する(インラインスタイル)

個別の状態ごとにとスタイルを変更するには、次の記法を使用します:

最初に背景色(#color)を書き、次に線のスタイルと色(##[style]color )を書きます。

[Ref. QA-1487]

FIXME
🚩 text:color seems not to be taken into account
FIXME

[Adapted from QA-3770]

別名

aliasを使用して状態に別名を付けることができます:

もしくは、

[Ref. QA-1748, QA-14560]

Display JSON Data on State diagram

Simple example

[Ref. QA-17275]

For another example, see on JSON page.

State description

You can add description to a state or to a composite state.

[Ref. QA-16719]

Style for Nested State Body

[Ref. QA-16774]