Multithreading SPIN模型检查器中的多线程处理

Multithreading SPIN模型检查器中的多线程处理,multithreading,spin-rdf,Multithreading,Spin Rdf,我们如何用线程数参数化SPIN模型? 我正在使用标准的旋转模型检查器。它是否有设置并行线程数的选项?我检查了引用,但没有发现任何有用的内容您可以使用run操作符动态生成Promela进程。因此,您可以迭代为: #define TRY_COUNT 5 byte index = 0; do :: index == TRY_COUNT -> break :: else -> index++; run theProcess() od 您还可以定义如下文件: active [TRY_COUN

我们如何用线程数参数化SPIN模型?
我正在使用标准的旋转模型检查器。它是否有设置并行线程数的选项?我检查了引用,但没有发现任何有用的内容

您可以使用run操作符动态生成Promela进程。因此,您可以迭代为:

#define TRY_COUNT 5
byte index = 0;
do
:: index == TRY_COUNT -> break
:: else -> index++; run theProcess()
od
您还可以定义如下文件:

active [TRY_COUNT] proctype foo () {
  printf ("PID: %d\n", _pid);
  assert (true)
}

init {
  assert (true)
}
然后运行旋转模拟:

$ spin -DTRY_COUNT=4 bar.pml
              PID: 2
      PID: 0
          PID: 1
                  PID: 3
5 processes created
还是核实

$ spin -DTRY_COUNT=4 -a bar.pml
$ gcc -o bar pan.c
$ ./bar
hint: this search is more efficient if pan.c is compiled -DSAFETY

(Spin Version 6.3.2 -- 17 May 2014)
    + Partial Order Reduction
...