次のステートチャートを検討してください。
Customer の状態は Confirmed になり、リソースの状態は NotAssigned になります。Confirmed から Join 疑似状態への遷移に対して定義されたガードはありません。
このシナリオでは、NotAssigned が Assigned に移行するまで、状態 Confirmed はアクティブなままですか? (つまり、トリガー「キャンセル」を送信して、顧客が「NotConfirmed」状態になるようにすることができます。これは、取得したい動作です)。それとも、これをモデル化する正しい方法を使用していませんか? (そして、ステートチャートはどのように見えるでしょうか)
編集(コメント後ガンヌス)私が求めているのは理解です
- 結合疑似状態がどのように機能するか
- 結合に接続された状態がアクティブな状態を失うのはいつですか
だから私が得たいのは、結合状態をより深く理解することです。UML 仕様 (formal-1108-06.pdf の第 15 章) を調べましたが、上記のシナリオの明確な説明が見つかりませんでした。トリガーが指定されている場合、リソース領域で NotAssigned がアクティブになっているときに、Confirmed がそのアクティブ ステータスになると、次のようになります。
- 状態に入った直後
- NotAssigned が Assigned に遷移するとき (その後、両方の状態が非アクティブになり、ExecutionAllowed に遷移します。