PAT 2.2.0的新增功能
在此版本中,PAT添加了新的语言功能、分组过程的优化、参数化系统的新模型检查技术等(主要用于CSP模块)。CSP和Web服务模块的性能都提高了一倍。新增示例。具体解释如下。
CSP模块的语言更改
1) 支持可变范围规范。
用户可以通过提供下限或上限或两者来显式提供变量/数组的范围。通过这种方式,模型检查器和模拟器可以报告变量值的超出范围违规,以帮助用户监视变量值。指定范围值的语法如下所示。
var骑士:{0..}=0;
var板:{0..10}=[3,5,6,0,2,7,8,4,1];
var前导符[N]:{..N-1};其中N是定义的常数。
2) 支持同步通道:通道输出与其匹配的通道输入接合在一起。同步通道事件将显示为通道输出c的c.exp!exp和通道输入c?x.要进行同步信道通信,只需将信道大小设置为0。非零信道的所有信道通信都是异步的。
3) 支持分组交织和无限交织。
|||{50}@P();50 P()交错运行。
|||{..}@Q();交错运行的Q()数量无限。
[]x:{0..2}@((||{x}@P)|||(||}@Q());这相当于(跳过|||Skip)[]((|||{1}@P())|||(||{10}@Q()))[];
注意:|||{0}@P()与Skip相同。
4) 允许嵌套组合。
[]x:{0..2}@(||y:{0..x}@P(x,y))
5) 出于性能原因,从语法中删除了选择运算符。选择算子可以用隐藏算子很容易地表示出来。因此,语言的表现力并没有降低。
6) 在解析平凡无限系统时添加了错误消息,例如,P()=a->Skip||P();
CSP模块的断言更改
1) PAT现在支持以下公平性。如果适用,这些选项将自动启用。有关公平选项的含义,请参阅PAT手册。
- 个人活动的注释公平性:wf、sf、wl、sl。
- 整个系统事件的事件级弱公平性
- 事件级对整个系统事件的强公平性
- 整个系统进程上的进程级弱公平性
- 整个系统进程的进程级强公平性
- 强大的全球公平性
2) 可以在LTL命题中查询信道(包括同步和异步信道)。
[]<>“c!5”
[]<>“c?1”
[]<>“c.1”用于同步信道通信
3) PAT支持具有无限个相同进程的模型检查系统。此外,您可以添加不同的公平约束
关于无穷大系统的验证。有关更多详细信息,请参阅参数化系统的内置示例和PAT手册。。
所有模块的性能改进
1) 并行和交织的评估完全重写
2) 有力的全球公平实施得到改善。
3) 使用更多静态变量来提高性能
经过一些测试,我们发现在某些情况下验证速度提高了一倍。
用户界面
1) 简化了验证窗口。
2) “关于”对话框独立显示每个模块的信息。
3) PAT网站升级至最新版本的TiddlyWiki。
新示例
1) 添加了四个新的示例来演示参数化系统建模和验证。
2) 为Web服务模块添加了旅行社示例。