PAT:过程分析工具包

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

月度档案2007年10月

读写器问题

这个读者/作者该问题描述了一个协议,用于协调N个读卡器和N个写卡器访问共享资源。

大小为N的读写问题的CSP定义如下。




要验证的属性是错误情况的可达性(即错误的读写器协调)。
[]<>错误

以下定义是大小为2的MS示例。
====~=======>===:====2流程定义====================
读数0()=控制器;
读取1()=((startread->Reading2)[](stopread->Reading 0));
Reading2()=(stopread->Reading1);
写入()=((停止写入->控制器)[](停止读取->(错误->写入));

Writer0()=(startwrite->(stopwrite->WriterO));
Writer1()=(startwrite->(stopwrite->Writer一));

读卡器1()=(startread->(stopread->Reader1));
读卡器0()=(startread->(stopread->Reader0));

Controller()=((startread->Reading1)[]((stopread->(error->Controller))[](startwrite->Writing)));
aReadersWriters()=(控制器||(读卡器0|||读卡器1)||(写入器0||写入器1));

=================================
LTL(AlwaysError=[]<>错误);

模型检查器

我们实现了显式模型检查和有界模型检查,用于CSP模型的系统分析。在我们的实现中,实现了两个模型检查器:

  • 现场模型检查:验证是否有公平事件的CSP过程。
  • 有界模型检查:基于SAT求解器,在没有公平事件的情况下验证CSP进程。

两个模型检查器的详细信息见提交的出版物。

CSP模拟器

CSP模拟器接受规范并允许用户执行各种模拟任务:

  • 基于执行图完成状态生成。如果状态不是有限的,则生成可能不会终止。
  • 带动画的自动随机模拟
  • 用户交互仿真,分步执行
  • 轨迹显示和回放

规范编辑器

规范编辑器接受中定义的CSP规范和LTL属性如何编写流程定义如何编写LTL公式分别是。

规范编辑器具有非常友好的用户界面,具有以下功能:

  • 完整的文本编辑功能
  • 语法突出显示
  • 多线程执行
  • 多文档环境

屏幕快照

拍打

拍打

模拟器

模拟器

Buchi Automata查看器

BA查看器

模型检查器

模型检查器