首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Promela通过参考

在Promela通过参考
EN

Stack Overflow用户
提问于 2014-11-18 09:52:27
回答 1查看 600关注 0票数 4

在我的设计中,我有一个N全局变量和一个方法,该方法根据状态将上述参数中的一些作为参数。

我可以通过引用传递全局变量作为参数吗?

本论文在结论部分明确指出

“传递自旋的引用参数的特殊形式不支持”

还有其他方法可以做到这一点吗?(即传递变量名)

结构如下

代码语言:javascript
复制
bit varA = 1;
bit varB = 1;
bit varC = 1;

proctype AProcess(bit AVar){
  /* enter_crit_section */

  /* change global varN */

  /* exit_crit_section */
}

init {
  run AProcess(varA)
  run AProcess(varB)
  run AProcess(varC)
}

例如,我无法使用P.S.

代码语言:javascript
复制
mtype = { A, B, C }
...
proctype AProcess(bit AVar; mtype VAR)
...
run AProcess(varA, A)

然后检查传递了哪个变量,因为AProcess 无法知道是否存在其他变量。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-20 23:21:49

将变量放入数组中,然后传递数组索引。类似于:

代码语言:javascript
复制
// A type to identify VARs; we pass these values to simulate 'by reference'
#define var_id byte

// A VAR 
typedef var_struct
{
   bit val;  // The var's value
};

#define VAR_COUNT 3

// allocate the VARs
var_struct var_array [VAR_COUNT];

// Access the value for VAR (based on var_t
#define VAR_VAL(id)   var_array[(id)].val
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26991254

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档