0

UML でサブステートマシンの終了をモデル化する正しい方法は何ですか?

着信イベントを処理するある種のエージェント用のサブ ステート マシンがあるとします。このステートマシンを「処理」と呼びます

「処理中」のマシンから親ステート マシンの別の状態への遷移線を引くことは有効でしょうか?

例えば

+SUB----------+                          +-----------+
| processing  |---user cancelled  ------>| done      |
+-------------+                          +-----------+

「ユーザーがキャンセルした」トリガーが発生したときに、処理状態マシンが終了することをどのように示しますか?

4

1 に答える 1

0

あなたのモデリングはOKです。processingからへの遷移は、 がアクティブで現在のイベントであるdone場合processingにアクティブになります。そのサブステートのいずれか、つまりサブマシン内のいずれかの状態がアクティブである場合にアクティブです。したがって、イベントはサブマシンの実行を停止し、実行は に移ります。user cancelledprocessinguser cancelleddone

(サブマシン) のサブステートの一部 (すべてではない) の実行のキャンセルのみを許可する場合はprocessing、ステート マシンをもう少し複雑にする必要があります。図のようにモデル化すると、イベントuser cancelledは強力すぎます。

于 2013-11-13T08:19:50.310 に答える