状态流语义:默认的快捷方式
今天,我想与您分享一个较少的已知的状态流语义:转换结束在状态的内部边界上。
这是不是一个内在过渡;这些都是从内部边界开始的,而不是结束于内部边界。相反,这些转换可以作为返回默认转换路径的快捷方式。
回来
在这里,我们有一个小的例子,具有两个孩子,a和b的状态p,以及四个输出,帮助我们了解正在发生的事情。
- 首先输入图表时,顶级默认转换会引导状态流输入状态P.该状态集的条目操作Y1 = 1.
- 然后statflow查找P的子节点;发现没有活动的,它遵循P内部到子A的默认转换。
- 现在A的进入行动集Y2 = 1也是。
- 在时间= 1秒钟,转换到B有效。在同一时间表期间,StateFlow设置两者Y2 = 0.和y3 = 1.
- 在时间= 2秒,从B出来的过渡现在有效。StateFlow集合Y1 = 2, 然后y3 = 0因为B正在退出。
- 从那里,StateFlow将跳转到导致A的默认转换,并再次为进入操作,设置Y2 = 1,所有在同一时间。
我们可以查看范围的输出:
实际上,该转换作为父级的默认转换路径的快捷方式,P.来自上述范围的屏幕截图的通知,父P未在时间= 2秒内退出并重新输入;Y1 = 2直到p在时间= 5秒退出Q.
我们可以通过在默认路径上使用连接(如下所示)获得相同的结果,但这在视觉上可能会变得混乱,特别是当你有一个大的父状态和许多子状态时。
现在轮到你了
对于这个statflow语义,你有一个真正有趣的应用程序吗?在下面的评论中分享吧!
- 类别:
- 州流程
评论
要发表评论,请点击在这里要登录您的MathWorks帐户或创建新的。