0

我是分层状态机的新手。

当父状态转换到另一个状态时,子状态会发生什么?它是否停留在当前状态?

我想从称为运行的父状态转换为称为故障的父状态。一旦故障清除,我想转换回运行状态并进入第一个子状态。

史蒂文

4

2 回答 2

0
  1. 运行出错:放置一个触发器,引用名为“EVT_Fault”的事件
  2. 例如,“低”和“高”是运行的两个子状态
  3. 将初始节点放入运行中并定位为“低”
  4. 进行从故障到运行的过渡,不要在过渡中放置任何触发器。(这是完成过渡)

假设低为活动状态,触发 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 回答
0

当父状态退出时,其子状态也应该退出。

要实现在重新进入父状态时重新进入子状态,您需要一个历史伪状态(深或浅取决于您的子状态的深度)。

在此处查看示例:http: //www.steelbreeze.net/state.js/#examples - 按两次“翻转”按钮显示了深刻的历史。

数字万用表

于 2013-11-14T08:45:44.853 回答