在下面的状态机上,假设我在“StateE”。然后是 Sig1,因此发生了转换。首先我退出“StateE”,然后假设“Grd1”守卫让我通过。
现在我进入“StateH”,执行进入动作(“Act2”)。然后我将一个信号放入队列中以执行“StateH”的“do”动作。这意味着“StateH”“do”操作不必在 enter 操作之后立即执行,但可能会首先提供一些其他已调度的信号。
然后我进入“StateG”。再次在“StateG”中,执行进入动作(“Act2”)并且“do”动作被调度为信号。
信号调度程序到达信号队列中 StateH 执行动作信号所在的点。
问题是:我们是在执行StateH的do动作之前从StateG退出回到StateH还是可以说:处于StateG也处于StateH,所以不需要状态转换,让我们立即执行StateH的do动作。