移动系统验证的实用方法
1. 网络展开
有限有界Petri网Υ的有限完全展开前缀是一个有限无环网,它隐式地表示了Υ的所有可达状态以及在这些状态下启用的转换。直观地说,可以通过以下假设对Υ进行展开来获得它:
- 每次新的触发都会生成一个新的转换(称为事件)。
- 每次新生成的令牌都会生成一个新的位置(称为条件)。
例如,图1(b)中Petri网的有限完全前缀如图2(a)所示。
由于其结构特性(如无环性),Υ的可达状态可以用其展开的配置来表示。配置C是一个向下封闭的事件集合(向下封闭意味着如果e∈C且f是e的因果前驱,则f∈C),且没有选择(即对于所有不同的事件e, f∈C,•e ∩ •f = ∅)。例如,在图2(a)的前缀中,{e1, e2, e4}是一个配置,而{e1, e2, e6}和{e1, e2, e3, e4, e5}不是(前者不包括e4,e4是e6的前驱,而后者在e4和e5之间存在选择)。直观地说,配置是一个部分有序的执行,即其中一些事件(即并发事件)的触发顺序并不重要的执行。例如,配置{e1, e2, e4}对应于两个达到相同最终标记的全序执行:e1e2e4和e2e1e4。由于一个配置可以对应多个执行,因此在模型检查中探索配置通常比探索执行更有效。我们用[e]表示事件e的局部配置,即包含e的最小(相对于⊆)配置(它由e及其因果前驱组成)。
当原始的Υ有无限运行时,展开是无限的;然而,由于Υ是有界的,因此只有有限个可达状态,展开最终会开始重复,可以通过识别一组截止事件来截断它,而不会丢失信息,从而得到一个有限完全前缀。直观地说,如果前缀中已经构建的部分包含一个配置Ce(称为e的对应配置),使得其最终标记与[e]的最终标记一致,并且相对于展
超级会员免费看
订阅专栏 解锁全文

8万+

被折叠的 条评论
为什么被折叠?



