PAT:过程分析工具包

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

月度档案2010年1月

2010年1月29日:PAT 2.9.0发布!

PAT 2.9.0的新增功能

在这个版本中,发布了三个新模块:概率CSP模块、Orc模块和NesC模块。在用户界面、语言语法和验证算法方面有很多变化。因此,我们决定在它变得稳定之前将其作为测试版发布。

概率CSP模块
PCSP模块用概率行为扩展了CSP模块。通过在建模中引入概率选择,PCSP模块支持通过概率查询验证死锁、可达性和LTL属性。

兽人模块
Orc模块支持UT奥斯汀大学开发的Orc语言的建模和验证。这是一个测试版。需要更多的示例和测试。

NesC模块
NesC模块支持NesC语言的建模和验证。这是一个测试版。不久将支持NesC语言的更多语法。

语言更改
1具有CSP模块、RTS模块和PCSP模块支持子句以获取可达性属性。
为了进一步查询变量值,PAT允许用户在所有可到达的跟踪中查找某些表达式的最小值或最大值。下面的硬币更换示例显示了如何在可达性搜索期间最小化硬币数量。

var x=0;
var权重=0;
P()=如果(x<=14)
{
coin1{x=x+1;weight=weight+1;}->P()[]coin2{x=x+2;weight=weight+1
};
#定义目标x==14;
#断言P()以min(重量)达到目标;

2用户定义的数据结构支持“new”关键字。
Var<HashTable>x=新的HashTable(100);

用户定义方法的返回类型支持3个“字节”“短”。
但方法参数不支持。

支持3个嵌套if-then-else
if(cond){P}else if(cond2){Q}

GUI更新
搜索深度选项将从验证器中删除。我们实现了最短见证跟踪选项,以找到最短的反例或见证跟踪,用于死锁、可达性和细化检查。最短见证搜索算法基于宽度优先搜索。

模拟器添加了隐藏tau事件的选项。

绩效改进
1对细化验证算法进行了更新和改进。
2简化了并行执行。

其他
1用户手册更新为最新版本。
2细化检查算法中的错误修复
3 LTL安全检查算法中的错误修复
实现了4种LTL安全检查算法。
增加了PCSP模块和RTS模块的5个示例。
针对一些错误输入,改进了6个分析器。