ステートダイアグラム
ステートダイアグラムは、システムまたはオブジェクトが存在しうるさまざまな状態、およびそれらの状態間の遷移を視覚的に表現します。これらは、システムが時間の経過とともに異なるイベントにどのように応答するかを捉え、システムの動的な動作をモデリングする上で不可欠です。ステートダイアグラムはシステムのライフサイクルを描写し、その挙動を理解、設計、最適化するのを容易にします。 PlantUML を使用してステートダイアグラムを作成することは、いくつかの利点を提供します:- テキストベースの言語:手描きの手間なく、迅速に状態と遷移を定義し、視覚化します。
- 効率と一貫性:ダイアグラムの作成を効率的に行い、簡単なバージョンコントロールを確保します。
- 多様性:さまざまなドキュメンテーションプラットフォームと統合し、複数の出力フォーマットをサポートします。
- オープンソース&コミュニティサポート:強力なコミュニティにサポートされ、絶えずその強化に貢献し、貴重なリソースを提供します。
簡単なステート
ステート図の始点と終点は、 [*] で示します。
矢印は、 --> で示します。
|
🎉 Copied!
|
|
ステートの表現を変える
hide empty descriptionを使用し、ステート枠をシンプルにできます。
|
🎉 Copied!
|
|
合成状態
状態は合成することもできます。キーワードstateと中括弧を使用して定義します。
内部サブ状態
|
🎉 Copied!
|
|
サブ状態からサブ状態へ
|
🎉 Copied!
|
|
[Ref. QA-3300]
WARNING
This translation need to be updated. WARNING
長い名前
キーワードstateによって、状態についての長めの記述を使用することができます。
|
🎉 Copied!
|
|
履歴
[H]でサブ状態の履歴、[H*]でサブ状態の深い履歴(deep history)を定義します。
|
🎉 Copied!
|
|
フォーク(非同期実行)
<<fork>> と <<join>> stereotypesを使うことで、フォークノードとジョインノードを表せます。
|
🎉 Copied!
|
|
同時状態
記号--または|| で分離することで、合成状態の中に同時状態を定義することができます。
水平セパレータ--
|
🎉 Copied!
|
|
垂直セパレータ||
|
🎉 Copied!
|
|
[Ref. QA-3086]
WARNING
This translation need to be updated. WARNING
条件
<<choice>>ステレオタイプで条件付きの状態を表すことができます。
|
🎉 Copied!
|
|
全ステレオタイプの例(choice, fork, join, end)
|
🎉 Copied!
|
|
[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>>ステレオタイプで退場点を追加することができます。
|
🎉 Copied!
|
|
WARNING
This translation need to be updated. WARNING
入力ピンと出力ピン
<<inputPin>>ステレオタイプで入力ピン、<<outputPin>>ステレオタイプで出力ピンを追加することができます。
|
🎉 Copied!
|
|
[Ref. QA-4309]
WARNING
This translation need to be updated. WARNING
展開
<<expansionInput>>と<<expansionOutput>>ステレオタイプにより、展開(expansion)を追加することができます。
|
🎉 Copied!
|
|
[Ref. QA-4309]
WARNING
This translation need to be updated. WARNING
矢印の方向
記号->を水平矢印として使用でき、以下の構文を使用することで、矢印の方向を指定することができます。
-down->or-->-right->or->(デフォルトの矢印)-left->-up->
|
🎉 Copied!
|
|
方向を示す単語の、最初の文字だけ(例:-down-の代わりに-d-)、または2文字(-do-)を使用することで、矢印の記述を短くすることができます。
線の色とスタイルを変更する
線の色とスタイルを変更することができます。
|
🎉 Copied!
|
|
[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
|
🎉 Copied!
|
|
注釈
キーワード
note left of, note right of, note top of, note bottom of
を使用して注釈を定義することができます。
また、複数行の注釈を定義することもできます。
|
🎉 Copied!
|
|
さらに、状態にひもづかない注釈を定義できます。
|
🎉 Copied!
|
|
WARNING
This translation need to be updated. WARNING
リンクへの注釈
note on linkキーワードで、状態遷移(リンク)に注釈を追加することができます。
|
🎉 Copied!
|
|
その他の注釈
合成状態にも注釈をつけることができます。
|
🎉 Copied!
|
|
インライン色指定
|
🎉 Copied!
|
|
[Ref. QA-1812]
skinparam
skinparam コマンドを使用すると、ダイアグラムの色やフォントを変更できます。
このコマンドは以下の場面で使用できます。
- 他のコマンドと同様にダイアグラム定義内で
- インクルードされたファイル内
- コマンドラインやAntタスクで指定された設定ファイル内
|
🎉 Copied!
|
|
すべての状態遷移図特有のskinparamのテスト
|
🎉 Copied!
|
|
スタイル変更
スタイルを変更できます。
|
🎉 Copied!
|
|
[Ref. GH-880]
WARNING
This translation need to be updated. WARNING
状態の色とスタイルを変更する(インラインスタイル)
個別の状態ごとに色とスタイルを変更するには、次の記法を使用します:
#color ##[style]color
#color)を書き、次に線のスタイルと色(##[style]color )を書きます。
|
🎉 Copied!
|
|
[Ref. QA-1487]
#color;line:color;line.[bold|dashed|dotted];text:color
FIXME
🚩
text:color seems not to be taken into account
FIXME
|
🎉 Copied!
|
|
|
🎉 Copied!
|
|
[Adapted from QA-3770]
別名
aliasを使用して状態に別名を付けることができます:
|
🎉 Copied!
|
|
もしくは、
|
🎉 Copied!
|
|
[Ref. QA-1748, QA-14560]
Display JSON Data on State diagram
Simple example
|
🎉 Copied!
|
|
[Ref. QA-17275] For another example, see on JSON page.
State description
You can add description to a state or to a composite state.
|
🎉 Copied!
|
|
[Ref. QA-16719]
Style for Nested State Body
|
🎉 Copied!
|
|
[Ref. QA-16774]