PAT:过程分析工具包

一种用于并发和实时系统的增强模拟器、模型检查器和优化检查器

月度档案2009年3月

2009年3月30日:PAT 2.2用户手册在线发布!

用户手册可用联机
CHM版本可以下载酒店雇员和饭馆雇员
如果您对PAT的技术细节感兴趣,请参阅我们的出版物

接口选项

键入“”的文本接口选项

2009年3月27日:PAT 2.2.0发布!

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服务模块添加了旅行社示例。

2009年3月9日:PAT 2.1.0发布!

在这个版本中,我们支持进程级公平性,并改进了性能和修复了错误。参数化验证(处理无限数量的线程)正在实施中。一旦我们测试了这些程序,我们将很快发布一个新版本。
过程级公平性
PAT支持流程级周和强公平性。

绩效改进
1强公平性检查绩效改进
2改进检查加速。
3使用静态变量
4公平循环检查针对非buchi公平循环进行了改进。

用户界面简化
1删除树数据管理器,因为内存节省并不显著,而且内存现在很便宜。
2“公平性”选项分组到组合框中。选项会根据应用情况动态更改。

新示例:
1领导人选举协议
2网络服务:旅行社
3线性化:SNZI算法

分析器库更新为ANTLR 3.1.2