电子说
AMEsim状态机优先级
如果没有转换优先级,以下状态图是模棱两可的。事实上,状态 1 之后的状态并不是唯一的,因为两个Guard x>= 2 和 x > 0 都是真的,因为在初始转换期间 x 被赋予了值 5。
这种歧义可以通过向转换添加优先级编号来解决:
优先级编号是附加到退出给定状态的转换的唯一编号。在几个候选转换中,采用优先级编号最低的转换。例如,这里采取了向State 2 的过渡。
在存在复合状态和并行状态的情况下,优先级规则将扩展为处理离开复合状态的转换。选择的优先级是“ 内部优先 ”(这一点应当熟记),在尝试在封闭复合或并行状态上定义的转换之前,我们始终倾向于本地定义的转换。
在此示例中,如果状态 2 或 3 处于活动状态(或状态 1处于活动状态 且 x <= 0),我们可以转到状态 4。如果 x 大于 0 并且状态 1 处于活动状态,则其中一个本地转换将具有更高的优先级并将被采用( 这也即是所谓本地局部优先原则 )。
并行过渡优先级
并行状态的规则扩展了相同的“ 内部优先 ”规则,在并行状态下,如果任何子级进行过渡,则不进行上部过渡。
在这种情况下,如果状态 1 、状态 2 处于活动状态并且 e 被激活,则进行从状态 2 到状态 3 的转换。进行转换时,不会进行从并行状态到状态 4 的转换。如果在状态 1、状态 3 处于活动状态且e被激活,因为没有过渡“消耗”事件,那么我们尝试上层转换并进入状态 4。
全部0条评论
快来发表一下你的评论吧 !