40 年后的等价性检查:双模拟工具综述
1. 引言
在形式化方法中,验证系统或程序的正确性并非孤立进行,而是将其与规格说明进行对比。根据规格说明所用的形式化方法不同,可分为两种情况:
- 若系统和规格说明采用不同形式化方法,需证明系统满足规格说明,模型检查是主要方法,其中规格说明用某种时态逻辑表达。
- 若系统和规格说明采用相同形式化方法,则需证明系统与规格说明等价,或系统包含于规格说明,这种验证方法称为等价性检查。
并发系统等价性检查的基础在 20 世纪 70 年代奠定。当时,协议工程界通过系统探索并发系统的可达状态来进行验证;理论上,并发系统的语义可用状态转换模型(如标记转换系统 LTS 或 Kripke 结构)表示。然而,当时已知的两种主要等价关系并不适用:图同构要求过强,语言等价要求过弱。为解决此问题,引入了行为等价关系,如强等价和观察等价,双模拟概念的提出为这些等价关系提供了概念框架。
2. 20 世纪 80 年代回顾
2.1 基于项重写的双模拟工具
Robin Milner 关于 CCS 的著作和 David Park 提出的双模拟的共归纳定义,为双模拟与进程演算紧密相关的研究领域奠定了理论基础。早期基于项重写的双模拟工具包括:
- CIRCAL:使用代数定律证明两个进程演算程序的等价性。
- ECRINS:用于操作进程演算,实现了强双模拟的半判定算法,能自动证明无进程递归但有自由进程变量的 CCS 类程序的强双模拟,还可证明从一个进程演算到另一个进程演算的语义翻译的正确性。
- BIP:用于验证用 ECCS 语言编写的协议规格说明,使用增强版的 Sanderson 双模
超级会员免费看
订阅专栏 解锁全文
4881

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



