问题描述
实际上,我想验证有关 HSM 的执行顺序。 下图是真的吗?
解决方法
我想问题是关于图中存在的独特过渡
自我转变
没有到 s2 的过渡,所以当过渡发生时不可能在 s2 中。转换是外部的,所以 s1ExitAction 然后 T1TransAction 然后 s1EnterAction
假设有一个额外的初始伪状态和从它到 s2 的转换,那么执行就是你指定的那个。
如果我们在 s2 中是因为隐藏的转换不是来自隐藏的初始伪状态,那么执行是 s2ExitAction 然后 s1ExitAction然后 T1TransAction 然后 s1EnterAction
外部过渡 A
假设转换至少发生第二次,那么执行就是你指定的那个,否则转换发生在 s1 并且执行是 s1ExitAction 然后t1TransAction 然后 s1EnterAction 然后 s2EnterAction
本地转换 A
假设转换至少发生第二次,或者我们在 s2 因为隐藏转换,那么执行就是你指定的,否则转换发生在 s1 并且执行是 t1TransAction 然后 s2EnterAction
外部转换 B
没有过渡到s2,所以不可能在s2,然后就不可能进行过渡。
假设有一个额外的初始伪状态和从它到 s2 的转换,那么执行就是你指定的那个。
如果我们在 s2 中是因为隐藏的转换不是来自隐藏的初始伪状态,那么执行是 s2ExitAction 然后 s1ExitAction然后 t1TransAction 然后 s1EnterAction
本地转换 B
没有过渡到s2,所以不可能在s2,然后就不可能进行过渡。
假设有一个额外的初始伪状态和从它到 s2 的转换或允许在 s2 中的隐藏转换,那么执行就是你指定的。
内部过渡
没有过渡到s2,所以在过渡发生时不可能在s2中,则执行t1TransAction >
假设有一个额外的初始伪状态和从它到 s2 的转换,那么执行就是你指定的那个。
如果我们在 s2 中是因为隐藏的转换不是来自隐藏的初始伪状态,那么执行是 s2ExitAction 然后 t1TransAction