PAT:过程分析工具包

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

版本历史记录



3.7版(N-PAT)

2021年8月21日
N-PAT是一种概念验证模型检查工具,支持嵌套模型的验证,即其行为取决于验证任务的结果的模型。
要安装N-PAT,请参阅N-PAT安装和使用说明.
N-PAT文件可在在这里.
在这个纸张,我们描述了它的操作,并讨论了为嵌套模型的有效验证量身定制的机制。

版本3.5.1内部版本20562

1修复PCSP和RTS中的错误以隐藏同步通道通信
2 PCSP配置的错误修复
3 TA模块的改进。

版本3.5.1版本21489

1解析并行组合的优化
2解析某些LTL属性时出现的错误
3 TA模块的改进。

版本3.5.1内部版本21466

2013年8月13日:PAT 3.5.1发布!

版本3.5.0内部版本21221

2012年12月28日:PAT 3.5.0发布!

版本3.4.4内部版本20502

2012年7月30日:PAT 3.4.4发布!

版本3.4.3版本20099

2012年4月15日:PAT 3.4.3发布!

版本3.4.2内部版本19913

2012年3月7日
1 RTS模块的错误修复,特别是原子关键字。
2对于RTS模块,在定时处理中禁用全局变量。
3 PAT中添加了所有BEEM示例。
4修复了在LTL属性中使用常量的错误。

版本3.4.2内部版本19689

2012年2月4日:PAT 3.4.2发布!

版本3.4.1内部版本19499

2012年1月19日
CSP模块中的1,宏支持声明中的if和while。
2 CSP模块中实现了更好的自我合成检测,以避免PAT崩溃
3添加了更多BEEM示例(正在进行中)
4在所有模块中增加了无效语句检查。
5验证完成后,模型检查窗口中闪烁。
6此版本有自动更新功能。

版本3.4.1内部版本19462

2012年1月14日
CSP模块中的1,通道可以附加程序

对于同步和异步通道,
通道c0;或通道c1;
var x=1;

P=c!x{x=2}->P;
Q=c?y{x=y;}->Q;
A=P||Q;

执行顺序是c!x->(x=2)->c?y->(x=y)

CSP模块和RTS模块中的2个错误修复
3添加了更多BEEM示例(正在进行中)

版本3.4.1内部版本19371

2012年1月5日
1 CSP模块支持代码生成(测试版,基于QP平台)
2已完成CSP模块的BDD支持
所有基本的5个模块都支持3位整数运算符:&(and)、|(or)和xor(^)
4添加了一些BEEM数据库示例(正在进行中)
5 RTS模块解析器更新,以支持通道数组和过程参数范围
6所有基本的5个模块都支持解析器错误修复和宏
7 RTS非zeno检查和区域抽象性能改进

版本3.4.1(测试版)内部版本19079

2011年12月7日
1修复中断的语义
2如果进程中存在隐藏,则禁用对BDD的支持。
3支持CSP和RTS模块中的宏。
#定义multi(i,j)i*j;
系统=if(call(multi,3,4)>12){a->Skip}else{b->Skip};
这对于定义一些函数很有用,然后可以在模型中直接使用该函数。
在您必须使用C#静态方法进行此操作之前,PAT提供了另一种选择。

3.4.1版(测试版)内部版本19066

2011年11月23日
1 CSP模块BDD验证的性能改进
2 RTS模块错误修复和模拟显示改进
3修复了所有模块中数组索引分配的错误
4改进着色的验证结果
5在方法调用异常中添加异常堆栈显示。
6验证窗口中所有模块的统计显示改进。

版本3.4.1(Beta)内部版本18833

2011年11月15日
CSP模块的1个BDD支持已准备好进行测试。还支持Wild Variable。
2 RTS模块现在支持guard和ifa。如果定时进程紧跟在guard和ifa之后,解析将失败。
例如,P=[秒](等待[5]);
3所有模块中解析器的许多错误修复。
4增加并改进了所有模块的序列合成中的跳过检查。
5支持在进程参数和调用参数中使用直接数组。
例如
var<IntArrayList>intList;
intList。增加([1,2,3,4,5]);
64位Windows机器的6字体修复。

版本3.4.0内部版本18776

2011年11月6日
CSP/RTS/PCSP模块支持1个异或运算符。
2验证窗口中支持生成见证跟踪复选框。如果反例生成时间过长或不重要,可以取消选中它。
3修复了LTL解析器错误
4调用方法中的错误修复
5发布自动更新。

版本3.4.0内部版本18671

2011年10月20日
LTS支持1选择
2所有模块中的全局变量更新修复。
3 PCSP模块中PCASE的错误修复。
4发布自动更新。

版本3.4.0内部版本18653

2011年10月18日
1修正可变范围检查的错误。
2 RTS模块的错误修复,尤其是数字化。
3版本3.4.0发布了自动更新

版本3.4.0内部版本18600

2011年10月5日
1平行合成图案的错误修复。
2 CSP模块的一些示例更新。

版本3.4.0内部版本18595

2011年10月2日
1取消和验证过程中的异常将立即提供更多信息
2在过程参数中使用用户定义的数据结构的情况下,更新所有模块的解析器。
3 TA模块更新了BDD支持,也支持自动机局部变量。
4解析器中检测到自循环过程,避免PAT容易崩溃
5添加了新的BFS搜索引擎,用于在最小/最大条件下进行可达性检查(Beta)。
6序列合成中Skip的合成检测。以前,P=(跳过|||跳过);a->跳过;有3个状态。现在它只有两个州。
7 CSP模块的BDD被禁用,因为它目前不稳定。

版本3.4.0内部版本18409

2011年8月31日
1 PAT现在支持通道阵列,这是一种语法建议,可以使通道参数化时的建模更容易。以下语法演示了如何使用通道数组。
通道c[3]1;
发件人(i)=c[i]!i->发送方(i);
接收器()=c[0]?x->a.x->接收器()[]c[1]?x->a.x->接收器()[]c[2]?x->a.x->接收器();
系统()=(|||i:{0..2}@发件人(0)|||Receiver();
注:二维或N维通道阵列可以使用一维通道阵列进行模拟。因此,我们不提供语法支持。例如,通道c[3][5]1与通道c[15]1相同,并且c[2][3]!4->跳过与c[2*N+3]相同!4->跳过,其中N是第一个维度。
2 3. CSP模块支持使用BDD进行符号模型检查(Beta版,正在测试和优化中)

版本3.4.0内部版本18350

2011年8月28日:PAT 3.4(测试版)发布!

版本3.3.1内部版本17101

2011年4月27日:PAT 3.3.1发布!

版本3.3.0内部版本16884

2011年4月2日
1文件包含得到了改进,允许嵌套包含。
用户可以将大模型拆分为多个文件,以便更好地组织。
Find Usage、Go to declaration和model explorer得到了改进,可以支持多个文件。
2后台的单独线程改进了自动更新检查。
3通过一个演示示例,可以在PAT中调用C代码
4 GUI错误修复。

版本3.3.0内部版本16818

1在CSP、PCSP、RTS和PRTS模块中添加Include关键字,以将其他模型包含在当前工作模型中。
2 GUI错误修复和增强。
3自动更新窗体被启动屏幕阻止

版本3.3.0内部版本16750

2011年3月18日:PAT 3.3.0发布!

版本3.2.3内部版本16562

2011年2月28日:PAT 3.2.3发布!

版本3.2.2内部版本16422

2011年1月30日
1编辑器支持重命名函数
2模块生成器通过更好的GUI进行了改进,生成了完整的代码。模块图标也支持
生成的代码。
GUI中的3个小错误已修复。

版本3.2.2版本16302

2011年1月21日:PAT 3.2.2发布!

版本3.2.1内部版本16181

2010年12月26日
1字母表计算的错误在所有模块中都已修复。
2模型浏览器添加到GUI中。

3 CSP模块中添加了更多示例。

版本3.2.0内部版本16032

2010年12月8日
1 Intellesense错误已修复。
2 PCSP模块中的Bug已修复。
3 PCSP模块中的精度从浮点变为双精度,因此我们可以处理10^-15级别的精度。
4 BDD现在以64位工作。
使用自动更新将64位的旧版本更新为新版本时,请替换CUDDHelper.dll
使用64Bit文件夹下的安装文件夹。否则BDD功能将无法正常工作。

版本3.2.0内部版本16003

2010年12月3日
1 PCSP中的Bug已修复。
2新版本的自动更新已准备就绪。

版本3.2.0内部版本15997

2010年11月26日
1.修复了一些解析错误。
例如P=e{;}->跳过;
2.在注释中时智能感知被禁用
3.DLL可以放在与Model中相同的文件夹下。
4.其他错误修复。
5.手动更新

版本3.2.0内部版本15962

2010年11月23日
1单声道执行在Mac和Linux中是固定的。
重新实现了2个LTL验证算法。
修复了RTS定时发散检查中的3个错误。
局部变量支持4个数组。
5 MDP验证正在加速(实验)

版本3.2.0 Beta Build 15605

2010年10月22日
1修复GUI和Mono执行的错误。
2改进了中文、繁体中文和越南语的语言本地化。

版本3.2.0 Beta Build 15506

2010年10月6日
1所有模块的错误修复
2 TA模块支持选择语法,增加示例
3细化检查性能显著提高
4 LTS模块重新构造
5RTS模块通过一步后使用最大延迟来提高性能。

版本3.2.0 Beta Build 15288

2010年9月2日
2010年9月2日:PAT 3.2.0(测试版)发布!

3.1.0版内部版本146599

2010年8月1日
2010年8月1日:发布PAT 3.1.0。PAT现在是跨平台的:运行在Linux、Mac OS等平台上!

版本3.0.0内部版本14419

2010年7月19日
在自动更新文件中修复了1个错误
2 PAT中增加了目录模式。慰问。用户可以将所有模型放入一个目录中,并使用控制台运行所有模型。

版本3.0.0内部版本14399

2010年7月15日
2010年7月14日:PAT 3.0.0发布!

版本3.0.0内部版本14150

2010年6月1日
修复自动更新的错误,请重新安装PAT 3.0以使自动更新工作。

版本3.0.0内部版本14116

2010年5月30日
错误修复,主要用于RTS模块

版本3.0.0内部版本14000

2010年5月22日
2010年5月22日:PAT 3.0.0测试版发布!

版本2.9.1内部版本12592

2010年3月18日
2010年3月18日:PAT 2.9.1发布!

版本2.9.0内部版本12592

2010年2月23日
1修复错误,以便对故障和分歧进行细化检查。
2更新用户手册。

版本2.9.0内部版本12511

2010年2月10日
1所有解析器中的错误修复和改进。
2模拟器经过改进,具有完整的状态显示
在模拟器中为滑梯游戏和调车游戏添加了3个图像(田华特供稿)
4更新用户手册(刘燕)
5新增DBM测试示例

版本2.9.0内部版本12259

2010年2月4日
修复了1个用于并行运算符和细化检查的Bug(适用于所有模块)
2改进了细化检查的性能(提高了10%-15%的速度)
3 PAT。普通数学函数支持数学
4删除重复边以隐藏模拟中的tau事件

版本2.9.0内部版本12259

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

版本2.8.0内部版本11674

2009年12月16日
1几个错误逻辑和UI修复
2实现了Beta LTL到Rabin自动机转换器
3简化并行/交错/顺序过程中的跳过和停止。

版本2.8.0内部版本11481

2009年12月5日
用于显示可达性测试结果的验证器中的1个错误修复

版本2.8.0内部版本11481

2009年12月4日
解析器中的1个错误修复

版本2.8.0版本11465

2009年12月3日
1安全属性反例显示中的错误修复。
2增加了调车游戏示例。

版本2.8.0内部版本11450

2009年12月2日
2009年12月2日:发布PAT 2.8.0!

版本2.7.0内部版本11273

2009年11月13日
1解析器中自行选择组合的错误修复。
2递归过程并行字母表计算的错误修复。
3类似LTL的错误修复!(<>P||<>!P)。
4 OutOfMemory异常被正确捕获,PAT不会因此崩溃。

版本2.7.0内部版本11141

2009年10月24日
12009年10月24日:支持警告列表。PAT使建模更容易!

版本2.7.0内部版本11121

2009年10月23日
事件前缀中支持1个进程计数器变量
2使用原子并行运算符的错误修复
3由于配置文件丢失或没有写入访问权限而捕获到异常。
4使用局部变量的错误修复

版本2.7.0内部版本11055

2009年10月9日
1日语更新
2缺陷修复。

版本2.7.0内部版本10964

2009年9月25日
RTS模块修复了1个错误。
2 C#库支持得到改进。2009年9月25日:PAT支持用户定义的数据结构
3通过更改表达式求值,提高所有模块的性能。
4增加了用于交替比特协议的示例。

版本2.7.0内部版本10711

2009年9月15日
RTS模块修复了1个错误。
2 PaceMaker示例完成了16种模式。
3所有模块的性能改进。我们自己实现了一个哈希表来替换。NET内置Dictionary类。
4由于语义混乱,RTS模块中禁用了ifa和guard构造。

版本2.7.0内部版本10511

2009年9月8日
2009年9月5日:PAT 2.7.0发布!
支持1(定时)无差异断言。
RTS模块中修复了2个错误。

版本2.7.0内部版本10427

2009年9月5日
2009年9月5日:PAT 2.7.0发布!

版本2.6.0内部版本10063

2009年7月10日
1解析器支持所有三个模块的多元素数组初始化。
2将Submit模型更改为Email模型,以允许用户快速将模型发送给其他人。
3添加了两个新的谜题示例。
4新解析器和用户反馈的用户手册更新。

版本2.6.0版本10016

2009年6月24日
1 RTS模块中的几个错误修复。
2实现了RTS的乳胶生成功能,并修复了CSP乳胶生成功能中的一些错误

版本2.6.0内部版本9922

2009年6月15日
1解析器中的错误修复了直接用作整数的常量
RTS模块中不允许使用2X运算符
3用户手册更新至最新版本2.6。

版本2.6.0内部版本9909

2009年6月12日
2009年6月9日:PAT 2.6.0发布!

版本2.6.0内部版本9847

2009年6月9日
2009年6月9日:PAT 2.6.0发布!

版本2.5.0内部版本9622

2009年6月4日
1实时系统模块中的错误已修复。
实时系统模块支持语法中的2。例如,[4]内的P/[3,10]内的P。用户手册有待更新。
3 RTS模块中增加了铁路控制示例。

版本2.5.0内部版本9580

2009年6月3日
1实时模块中的错误已修复。
2事件级公平性检查正在考虑tau和终止事件。

版本2.5.0内部版本9544

2009年6月2日
2009年6月2日:PAT 2.5.0发布!

版本2.4.0内部版本8808

2009年5月7日
1添加了Needham-Schoreder公钥协议示例。
2工艺参数可用于CSP和WS模块的通道输入
3模型检查表保持一致
修复了4个并行验证错误。
修复了5个UI错误
6用户手册更新为最新语法

版本2.4.0内部版本8710

2009年4月30日
2009年4月30日:PAT 2.4.0发布!

版本2.3.0内部版本8000

2009年4月13日
2009年4月13日:PAT 2.3.0发布!

版本2.2.0内部版本7862

2009年4月8日
添加了1个魔方示例。
2在模拟器中为无限进程添加了切割编号弹出窗口。
3更新了参数化领导人选举,使其更小。
流程调用中允许使用4个常量
5添加了数组索引的分析器检查:必须是整数值或表达式。
支持6枚举。请参阅用户手册。
添加了7个乳胶按钮和图标(测试版)
8已修复并行模型检查错误。
9增加了具体反例的公平性检查。

版本2.2.0内部版本7760

2009年4月2日
1外部选择不会区分tau事件和正常事件。虽然这与原始的CSP语义不同,但为了建模的简单性,我们采用了这种新的语义。
2布尔变量可以直接用于if/while/条件选择的条件。
修复了模拟器中的3个错误。

版本2.2.0内部版本7715

2009年4月1日
1 PAT2快捷链接已修复。特别是为了让vista用户摆脱UAC。
2模拟计数器示例按钮重命名为模拟见证跟踪
3将UNKNOWN结果添加到LTL断言和可达性断言

版本2.2.0内部版本7688

2009年3月30日
1新增的链接将添加到GUI和更新屏幕
2不可见事件:用户可以使用关键字tau(例如tau->Stop)显式写入不可见事件(即t事件)。在tau事件中,仍然可以附加语句块。有了tau事件的支持,您可以避免使用隐藏操作符通过命名tau事件来显式隐藏某些可见事件。编写不可见事件的第二种方法是跳过语句块的事件名,例如,{x=x+1;}->Stop,它相当于tau{x=x+1;}->Stop。
3内存不足异常处理正确
4修正了隐藏表达式错误的优化检查
5模拟器窗口边缘工具提示被简化。
6实现了通道输入分析器:通道输入中不允许有参数或全局变量。
7增加了对解析“P=|||x:{1..2}(a->Skip{a.x});”的支持
8用户手册更新至最新版本。

版本2.2.0内部版本7621

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

版本2.1.0版本7082

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

版本2.0.0内部版本6360

2009年1月21日
1增加了稳定领导人选举协议的新示例
2保存按钮错误已修复。
3改进了期权形式。
4单击按钮时允许自动保存。
5 WS模块的错误修复。

版本2.0.0内部版本6091

2009年1月9日
1使用鼠标右键单击选项卡,可以关闭/保存每个文档选项卡。
2 UI更新以修复一些错误并提高可用性
3实现了Web服务模块。目前,我们已经完成了所有功能:验证、模拟、合成
但此模块仍需要更多测试。
4电梯系统、无钥匙汽车系统和起搏器示例的更新示例。

版本2.0.0内部版本5595

2009年1月5日
为CSP和WS文件添加1个图标
添加了2个异常对话框
3实现了WS模块中的弦乐合成。
4架构改进。
5增加了WS的道路辅助示例。

版本1.3.1内部版本5530

2008年12月28日
改进了强全局公平算法。如果发现的SCC较大,则性能会显著提高。

版本1.3.1内部版本5515

2008年12月21日
12008年12月21日:PAT 1.3.1发布!
2添加安装选项后启动PAT。
3手册更新至1.3.1版。

版本1.3.0内部版本5478

2008年12月17日
1手册更新了教程和语言参考中的输入错误。添加完成的语法规则。
2分析器支持通道事件,如“c!1”、“c?3”!以及?是特殊的字符,不可能像正常事件那样将它们放入LTL断言中。0
所以我们决定使用引号将它们分组为单个事件。希望这是可以接受的解决方案。
3根据请求,我们更改了解析器,以便事件语句块中最后一个表达式的分号是可选的。
例如,“event{a=a+1}->Stop”是有效的语法。这将使建模更容易。

2.0.0测试版

2008年12月10日
Web服务模块集成在PAT中。

版本1.3.0内部版本5450

2008年12月4日
新手册已更新。
解析程序错误已修复。
增加无钥匙汽车系统示例。

版本1.3.0内部版本5423

2008年11月26日
当前启用事件的显示是固定的。
PAT的未处理异常将以更好的详细信息显示。
已修复分析器输入错误。

版本1.3.0内部版本5395

2008年11月25日
2008年11月25日:PAT 1.3.0发布!

版本1.2.9版本5202

2008年11月21日
init事件被添加到系统中。
UI改进。

版本1.2.9内部版本5152

2008年11月19日

2008年11月19日:PAT 1.2.9发布!请重新安装PAT!

版本1.2.8内部版本4917

2008年11月15日
2008年11月15日:PAT 1.2.8发布!

版本1.2.7内部版本4917

2008年11月11日
修正了负数运算符的错误。
分析器得到改进
现在可以由PAT直接打开csp。

版本1.2.7内部版本4850

2008年11月6日
修正了exmaple加载的错误。

版本1.2.7内部版本4848

2008年11月5日
修复了有限深度搜索中的错误。
对于有限深度搜索,已禁用部分顺序缩减。

版本1.2.7内部版本4824

2008年11月4日
2008年11月4日:PAT 1.2.7发布!

版本1.2.6内部版本4709

2008年10月17日
1修正了生成反例的错误。
2为生成prcoess的反例添加多线程
3 Parser支持字母表声明中的变量,此外,如果变量未在进程定义中声明,则会弹出错误消息。

版本1.2.6内部版本4680

2008年10月16日
一些错误修复和性能改进。

版本1.2.6版本4600

2008年10月13日
从语法中删除条件选择>>。
添加了sdefine和sequeal
FD验证的错误修复
改进检查速度提高。
GUI改进。

版本1.2.6内部版本4531

2008年10月10日
事件前缀类的错误修复。
使用代数法则优化序列类。性能有了很大提高。
线性化示例被添加回来。

版本1.2.6版本4401

2008年10月6日:PAT 1.2.6发布!

版本1.2.5内部版本4268

2008年10月3日:PAT 1.2.5发布!

版本1.2.4内部版本3140

2008年9月11日
改进了结构。
反例显示中的错误已修复。

版本1.2.3内部版本2684

2008年8月8日
接受C#代码作为自定义函数
邮箱问题是内置的。

版本1.2.2内部版本2566

2008年8月6日
修复了LTL模型检查中的错误。
更新用户手册

版本1.2.2内部版本2512

2008年8月5日
修复了LTL模型检查中的错误。
系统中添加了Peterson算法。

版本1.2.2内部版本2492

2008年7月31日
MSAGL集成到PAT中。
删除模型检查中的进度条
LTL2BA转换中的错误已修复。
添加了“模拟方向”选项:“上下”或“左右”。
pat中增加了自动更新功能。

版本1.2.1内部版本2301

2008年7月23日
改进了细化检查的性能(时间和内存)。
在模型检查UI中添加了计时器。
添加了一个线性化示例。

版本1.2.1内部版本2213

2008年7月22日
增加了线性化示例。
又增加了一个领导人选举协议。
添加了两个谜题示例。
细化检查中的错误已修复。
细化检查的部分降阶考虑了局部变量。
Skip and Stop的语法颜色更改为Navy。

版本1.2.1内部版本1988

2008年7月16日
模拟器的用户界面得到了改进:
1当前启用的事件以蓝色突出显示
2个隐藏事件显示为[event]。
添加了两位领导人选举协议作为内置示例。

版本1.2.1内部版本1952

2008年7月14日
couter示例信息完全重新设计,以获得更好的速度和代码结构。
反示例生成和模拟的错误已修复。

版本1.2.0内部版本1812

2008年7月10日
支持进程级公平:包括全局公平、强公平和弱公平
实现了领导人选举协议示例,并内置了PAT。
改进了反例模拟。
改进了强连接组件模拟。
修复了计数器示例生成错误。

版本1.1.5内部版本1566

2008年7月1日
修复了公平循环检测错误,提高了性能。
添加了验证详细信息:搜索深度、访问的州、过渡。
一元运算符错误已修复。
进程级公平编码已启动。

版本1.1.5内部版本1506

2008年6月7日
修正了内置示例。
控制台更新为最新的模型检查器。

版本1.1.5内部版本1484

2008年6月2日
PAT中支持时态运算符:
G(始终)
F(最终)
U(直到)
V|R(真实)
X(下一个)
改进了示例创建表单,以添加更多解释。
改进了错误LTL属性的错误消息。

版本1.1.5内部版本1374

2008年5月25日
并行/交错分析错误已修复。
可以检测和报告重复属性。
添加了“规格说明”面板。
现在,嵌入式示例已完全重写,添加了一个新的示例BridgeCrossing Exmaple。
GetAlphabet方法和ClearConstant方法。进程的字母表默认为构成进程(所有参数实例化)表达式的事件。
在声明定义中支持常量(其他地方也可能支持)。
如果数组声明包含负数,则报告错误消息。
改进了验证用户界面,并使用了更有意义的图标。

版本1.1.5内部版本1137

2008年5月7日
改进了模拟窗口的停靠显示。
将添加模拟窗口中的图形状态信息。

版本1.1.5内部版本1128

2008年5月5日
将内部版本号添加到系统中以更好地跟踪。内部版本号自动增加。
使用两次AST解析重新设计解析器。
Post-to-Post链接II错误:没有找到带有slug的帖子“在解析后添加语法检查,以排除无效的未声明变量的使用”
PAT现在支持弱公平和强公平注释
在主UI中,“输出”面板显示错误已修复。
使用IfProcess类替换StateGuard类。
通过进行单元测试单元测试添加了,希望以后我们可以向系统中添加更多测试用例。
模拟窗口已完全重新设计

版本1.1.5修订版1

2008年4月25日
改进了模拟表单的用户界面,允许用户调整不同列的宽度。
反例中的循环突出显示,并在模拟器中突出显示。
如果过程是为了便于处理多重外部选择运算符而实现的。
有界模型检查的错误修复:TLS树遍历方法错误。
修复if表达式求值中的错误:build-var方法中缺少else子句null检查。
系统中添加了强公平和弱公平注释,更新了相应的模型检查算法。

1.1.5版

2008年4月25日
改进了模型检查表的用户界面。

反例中的循环在输出框中高亮显示,在模拟器中也高亮显示。
如果过程是为了便于处理多重外部选择运算符而实现的。
有界模型检查的错误修复:TLS树遍历方法错误。
修复if表达式求值中的错误:build-var方法中缺少else子句null检查。
系统中添加了强公平和弱公平注释,更新了相应的模型检查算法。

版本1.1.4修订版1

2008年4月23日
在索引并行和交错进程中允许常量
在仿真和模型检查界面中添加了异常处理,以便应用程序不会因模型无效而崩溃。
各种错误修复

1.1.4版

2008年3月31日
实现了细化检查。
安装文件已创建。
为PAT创建批处理模式控制台界面。

1.1.3版

2008年2月20日
部分降阶被添加到有界模型检查中。
支持通道
修复了模拟器和模型检查器中的错误。
增加了交错和平行结构的语法糖。

1.1.2版

2008年1月16日
Libra被重命名为PAT(Process Analysis Toolkit),以避免与Microsoft Libra搜索系统发生冲突。
支持可达性检查。
引入断言以进行各种模型检查和细化检查。
在一个窗口中合并模型检查和边界模型检查。
性能优化和错误修复。
增加了对数组的支持。
示例中添加了公平活动。

版本1.1.1

2008年1月9日
修复了模型检查算法的错误。
在用户界面中添加了部分订单减少选项
SAT模型检查可以处理局部参数。

版本1.1

2008年1月3日
添加了部分降阶,这在某些情况下大大提高了性能。
针对有或无公平性的规范,实现了实时模型检查算法。我们实现了改进的迭代Tarjan算法。
模型检查窗口中添加了反例模拟。
改进并简化了系统仿真。

版本1.0

2007年11月28日
全局变量和函数被引入Libra。
迪克因发音而改名为Libra。
需要进行更多测试。

版本0.9

2007年11月10日
系统中添加了基于SAT解算器的模型检查器。
系统进行了重组,以实现可扩展设计和标准命名约定。

版本0.8

2007年10月15日
系统中添加了模拟器。

版本0.7

2007年10月2日
重新实现了分析器,以支持所有可能的定义规范。
可以对用户选择的过程定义进行验证。
添加了LTL错误消息报告功能。
添加了语法突出显示。

版本0.6

2007年9月26日
增加了规范的解析错误报告的更多含义。
添加了全套编辑功能。
该工具的官方名称为Dike。
解决了LTL解析器崩溃问题。

版本0.5

2007年9月10日
堤防中集成了全面的多标签编辑环境。
该实现基于FireBall。
添加了LTL解析选项。
增加了Peterson的算法示例。

版本0.4

2007年8月23日
集成了Buchi Automata Viewer。
改进的MC算法:可以在公平条件下检查有限进程

版本0.3

2007年8月10日
增加了LTL到BA对流器。
增加了用餐哲学家示例。

版本0.2

2007年8月2日
增加了基于Antlr 3.0的CSP解析器。
添加了Get All跟踪功能。
模型检查算法的几个错误修复
改进了以前的闭包算法,以实现快速可行和模型检查。

版本0.1

2007年7月25日
UI的第一个实现完成。
完成可行性和模型检查算法。