03
12
[状態マシン図] 遷移 と イベント[ガード]/アクション
2014.03.12(20:39)
UML2.0 State Machine (状態機械) モデルでは、
遷移には、イベント(トリガ)とガードとアクションがそれぞれ0個または1個設定できます。

遷移に、
イベント [ガード] / アクション
と書きます。

ですが、遷移がどの状態または疑似状態を始点とするかによって、イベントが設定できないところ、ガードが設定できないところ、があります。次の状態マシン図は、それを説明するために設定できるところは全部設定してみた図です。
e[g]/aは全部を設定できるところ、
[g]/aはガードとアクションだけ設定できるところ、
/aはアクションだけを設定できるところです。
★はもし、状態の中の終了条件が成立し次第、
その状態を退場して遷移したい場合、イベントもガードも設定しないことを示しています。
s18サブマシン状態の下位状態です。
ルールを文章で書くとこうなります。
/アクションのみしか設定できないところ
[ガード] / アクション のみ設定できるところ
イベント [ガード] / アクション を設定できるところ
状態マシン図をレビューするときは、このこともレビュー観点にいれておきましょう。
遷移には、イベント(トリガ)とガードとアクションがそれぞれ0個または1個設定できます。

遷移に、
イベント [ガード] / アクション
と書きます。

ですが、遷移がどの状態または疑似状態を始点とするかによって、イベントが設定できないところ、ガードが設定できないところ、があります。次の状態マシン図は、それを説明するために設定できるところは全部設定してみた図です。
e[g]/aは全部を設定できるところ、
[g]/aはガードとアクションだけ設定できるところ、
/aはアクションだけを設定できるところです。
★はもし、状態の中の終了条件が成立し次第、
その状態を退場して遷移したい場合、イベントもガードも設定しないことを示しています。

s18サブマシン状態の下位状態です。

ルールを文章で書くとこうなります。
/アクションのみしか設定できないところ
- 開始疑似状態を始点とする遷移
- 履歴疑似状態を始点とする遷移
- 状態を始点とする遷移のうち、その状態を完了遷移で退場させたい遷移 ★
- フォーク疑似状態を始点とする遷移
- ジョイン疑似状態を始点とする遷移
- 入場点を始点とする遷移
- 退場点を始点とする遷移
[ガード] / アクション のみ設定できるところ
- 選択疑似状態を始点とする遷移
- ジャンクション疑似状態を始点とする遷移
イベント [ガード] / アクション を設定できるところ
- 状態を始点とする遷移 (★を除く)
状態マシン図をレビューするときは、このこともレビュー観点にいれておきましょう。