状態、領域、および遷移

UML モデリングにおける状態は、オブジェクトの振る舞いの変更を表します。 状態の変更は、2 つの状態の間のパスを表すように、遷移を使用して記述されます。

状態

ネストされた状態または副状態と呼ばれることがある状態を、 状態に含めることができます。 複雑な状態マシンをモデル化している場合は、 ネストされた状態を使用して、 詳細な振る舞いを複数のレベルに分離します。 また、 オブジェクトが特定の状態にあるときに、 発生する可能性のあるタスクを識別するアクションも、 状態に含めることができます。

状態タイプおよび領域

すべての状態は、コンパートメントに分割されます。 上部のコンパートメントには、状態の名前が表示されます。 名前コンパートメントの下のコンパートメントは、 アクション・コンパートメントになります。 アクション・コンパートメントには、 その状態に含まれている可能性のある、Do アクティビティー、 入状アクティビティー、または退状アクティビティーが表示されます。 アクティビティー・コンパートメントの下の各コンパートメントは、 領域を表します。 状態マシン、コンポジット状態、および直交状態は、領域を含んでいます。 領域には、状態、疑似状態、および遷移を含めることができます。 領域を使用して、ネストされた状態および遷移を定義します。
状態タイプ 説明 ダイアグラム要素
シンプル 領域のない状態 シンプル状態の名前は、 角丸の長方形の上部コンパートメント内に表示されます。
コンポジット 領域を 1 つ持つ状態 コンポジット状態の名前は、 角丸の長方形の上部コンパートメント内に表示されます。
直交 領域を 2 つ以上持つ状態 直交状態の名前は、 角丸の長方形の上部コンパートメント内に表示されます。
最終 その領域内のアクティビティーが完了したことを示すために、 コンポジット状態の領域内に配置される状態 最終状態の名前は、 黒丸を含む円の下に表示されます。
サブマシンの状態 別の状態マシンを参照する状態 サブマシンの状態の名前は、 角丸の長方形の上部コンパートメント内に表示されます。

遷移

遷移は、状態の変更が起こっていることを示す状態間のパスを表示します。 トリガー、ガード条件、および効果が、遷移の 3 つのパーツです (すべてオプション)。

トリガーは、遷移を開始するために起こす必要があるイベントです。 ガード条件は、遷移を起こすために true でなければならない、ブール値条件です。 効果は、ガード条件が満たされたときにオブジェクトが実行する、 アクションまたはアクティビティーです。
イベント・タイプ 説明
呼び出し オブジェクトは要求を受信して、操作を呼び出します。 操作の呼び出しによって、遷移が起動します。
変更 条件が true のときに遷移を起動するよう、ブール値条件が指定されます。
シグナル オブジェクトによって受信されたときに、 遷移を起動するように指定されたメッセージ。
時刻 受け渡される必要のある指定時刻、または遷移を起動する絶対時刻。

フィードバック