异步系统的符号 CTL 模型检查:使用受限饱和算法
1. 引言
CTL(计算树逻辑)模型检查是形式验证中的一种重要方法,结合二元决策图(BDDs)等高效数据结构,符号模型检查在工业硬件和嵌入式软件系统验证中取得了显著成功。目前,大多数符号模型检查器采用广度优先搜索(BFS)方法,而饱和算法在状态空间生成方面展现出优于传统符号方法的特性,但将其应用于 CTL 模型检查的前期尝试仅取得了部分成功。
本文提出了一种扩展的受限饱和算法,用于异步系统的 CTL 模型检查。该算法将基于饱和的状态空间探索限制在给定的状态集合中,避免了实现 CTL 运算符时通常需要的昂贵交集操作。此外,该算法具有通用性,不要求下一状态函数以 Kronecker 形式表示。受限饱和算法可用于计算满足 EU 和 EG 属性的状态集合,在运行时间和内存消耗方面相较于基于 BFS 的方法以及之前提出的混合方法有显著降低。
2. 预备知识
- 离散状态模型 :考虑一个离散状态模型 $(S, S_{init}, E, N)$,其中状态空间 $S$ 是 $L$ 个子模型的局部状态空间的乘积,即 $S = S_L × \cdots × S_1$,每个全局状态 $i$ 是一个元组 $(i_L, \cdots, i_1)$,$i_k \in S_k$。初始状态集合为 $S_{init} \subseteq S$,异步事件集合为 $E$,下一状态函数 $N : S → 2^S$ 以析取分区形式表示为 $N = \bigcup_{\alpha \in E} N_{\alpha}$,其中 $N_{\alpha}(i)$ 是事件 $\alpha$ 在状态 $i$ 发生
超级会员免费看
订阅专栏 解锁全文
404

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



