PAT:过程分析工具包

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

的月度档案2009年6月

150个国家和地区

阿富汗
阿尔巴尼亚
阿尔及利亚
安道尔
安哥拉
安提瓜和德普
阿根廷
亚美尼亚
澳大利亚
奥地利
巴哈马群岛
巴林
孟加拉国
巴巴多斯
巴布达
白俄罗斯
比利时
贝宁
博茨瓦纳
巴西
保加利亚
布基纳
柬埔寨
喀麦隆
加拿大
佛得角
乍得
智利
中国
中国、澳门
中国、台湾
哥伦比亚
刚果
哥斯达黎加
克罗地亚
古巴
捷克共和国
丹麦
厄瓜多尔
埃及
萨尔瓦多
赤道几内亚
爱沙尼亚
斐济
芬兰
法国
佐治亚州
德国
加纳
格林纳达
危地马拉
海地
洪都拉斯
香港
匈牙利
冰岛
印度
印度尼西亚
伊朗
伊拉克
爱尔兰
爱尔兰(共和国)
以色列
意大利
象牙海岸
牙买加
日本
哈萨克斯坦
肯尼亚
科伊语
韩国
科索沃
科威特
吉尔吉斯斯坦
黎巴嫩
利比里亚
卢森堡
马其顿
马拉维
马来西亚
马里
马耳他
马绍尔群岛
毛里求斯
墨西哥
摩尔多瓦
摩纳哥
蒙古
摩洛哥
莫桑比克
缅甸(缅甸)
纳米比亚
尼泊尔
荷兰
新西兰
尼加拉瓜
尼日尔
尼日利亚
北爱尔兰
挪威
阿曼
巴基斯坦
巴基斯坦?
帕劳
巴拿马
巴拉圭
秘鲁
菲律宾
波兰
葡萄牙
卡塔尔
重聚
罗马尼亚
俄罗斯
俄罗斯联邦
圣文森特和格林纳丁斯
沙特阿拉伯
塞内加尔
塞尔维亚
塞拉利昂
新加坡
斯洛伐克共和国
斯洛伐克
斯洛文尼亚
索马里
南非
韩国
西班牙
斯里兰卡
圣基茨和尼维斯
瑞典
瑞士
叙利亚
泰国
汤加
特立尼达和多巴哥
突尼斯
土耳其
土库曼斯坦
美国。
乌干达
乌克兰
阿拉伯联合酋长国
大不列颠联合王国
美国
乌拉圭
委内瑞拉
越南
赞比亚
津巴布韦

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

PAT 2.6.0的新增功能

在此版本中,Real-Time System模块通过更多的定时语法进行了改进。CSP和RTS模块支持原子事件序列。对于用户界面,PAT在窗口工具栏中提供了更好的文档管理菜单。模拟器的图形生成被放入一个附加线程中,该线程不会挂起用户界面。其他更新新示例和错误修复。

原子序列

关键字atomic允许用户定义一个进程,如果可能的话,该进程总是取得最大的进展。语法是原子{P},其中P是任何进程定义。

如果语句序列包含在括号中,并以关键字atomic作为前缀,则表示该序列将作为一个超级步骤执行,与其他进程无关。在进程执行的交错中,从原子序列的第一条语句执行到最后一条启用的语句完成,没有其他进程可以执行语句。序列可以包含任意的过程语句,并且可能是非确定性的。

在原子序列开始之前,它与其他进程竞争。一旦原子序列启动,它就会进入活动状态,并继续执行,直到终止或阻塞。如果原子序列中的任何语句被阻塞(例如,由于同步通道输出事件或并行屏障同步),原子性将丢失,然后允许其他进程开始执行语句。当被阻止的语句再次变为可执行语句时,原子序列的执行将立即恢复。如果启用了多个活动的原子进程,那么它们将交错执行。在下面的示例中,进程P(或Q)一旦处于活动状态,就会被同步通道事件阻塞。同步事件发生后,P和Q都处于活动状态,然后执行b->c->Skip和e->f->Skipp,因为没有原子。

信道ch0;
P=原子{a->ch!0->b->c->Skip};
Q=原子{d->ch?0->e->f->Skip};
系统=P|||Q;

注意:原子序列可以用于模型检查的状态简化,特别是当进程与其他进程并行组成时。状态数可能会成倍减少。在某种程度上,通过使用原子,我们可以手动减少部分订单(没有计算开销)。

注意:其他原子序列中的原子序列根本没有影响。

注意:RTS模块支持原子序列,原子组中所有参与的事件都不需要时间。

LTL中的同步信道
在LTL中,如果存在同步通道,则解析后其输入(?)或输出(!)事件将重命名为同步事件(.)。
[](c1!2-><>c2?3)将更改为[](c 1.2-><>c2.3)

用户界面更新
1窗口工具栏下的选项卡管理,它提供了与其他IDE类似的行为。
2 Simulator中的图形生成功能移动到独立线程。当你生成一个大图形时,模拟器不会挂起。
3“打开文件”对话框将使用默认建模语言文件类型作为默认文件过滤器。

其他
1用户手册更新为最新版本。
2增加了实时系统示例。
3修复乳胶生成函数中的错误,并更改乳胶中的“refines”、“refines<F>”和“refiness<FD>”符号