我是promela的新手。我有一个用promela编写的编程:
bit signal [2];
active [2] proctype proc() {
l1: signal[_pid]=1;
l2: !signal[1-_pid] ->
l3: signal[_pid]=0;
}
#define sig0 (signal[0]==0)
#define sig1 (signal[0]==1)
有人知道如何为这个程序绘制过渡系统吗?
答案 0 :(得分:1)
您必须计算promela模型的所有可能交错。在你的情况下,有两个活动进程,所以这仍然是可行的;但是,您仍然可以获得包含20个节点的图片。为了获得灵感,我建议应用spinspider
工具:
spinspider -p2 -vsignal[0] -vsignal[1] yourProgram.pml
结果如下图所示:Transition System
spinspider
是JSpin distribution的一部分,虽然现在已弃用JSpin,但它仍然可以使用。