0

私は階層ステートマシンの初心者です。

親の状態が別の状態に遷移すると、子の状態はどうなりますか? 現状のままですか?

running という親状態から fault という親状態に移行したいと考えています。障害が解消されたら、running 状態に戻り、最初の子状態に入りたいと思います。

スティーブン

4

2 に答える 2

0

親状態が終了すると、その子状態も終了する必要があります。

親状態が再入力されたときに子状態の再入力を実現するには、履歴疑似状態 (子状態の深さに応じて深いまたは浅い) が必要です。

ここで例を参照してください: http://www.steelbreeze.net/state.js/#examples - 「フリップ」ボタンを 2 回押すと、実際の深い履歴が表示されます。

DMM

于 2013-11-14T08:45:44.853 に答える
0
  1. 実行中の障害: 「EVT_Fault」という名前のイベントを参照するトリガーを配置します
  2. たとえば、「低」と「高」は実行中の 2 つのサブステートです。
  3. 実行中の最初のノードを配置し、ターゲットを「低」にします
  4. falut から running へのトランジションを設定します。トランジションにトリガーを設定しないでください。(完成遷移です)

Low がアクティブ状態であると仮定し、EVT_Fault をトリガーすると、次のシーケンスが発生します。

low.exit

running.exit

transition_running_to_fault.effect

fault.entry

(when entry finished, since there is completion transition)

fault.exit

transition_fault_to_running.effect

running.entry

transition_initial_to_low.entry
于 2013-09-22T22:34:10.037 に答える