- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的设计中,我有 电话 全局变量和一个方法,根据状态将一些提到的参数作为参数。
我可以通过引用将全局变量作为参数传递吗?
This paper在结论部分明确说
"special form of call-by-reference parameter passing that Spin does not support"
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)
}
mtype = { A, B, C }
...
proctype AProcess(bit AVar; mtype VAR)
...
run AProcess(varA, A)
最佳答案
将您的变量放入一个数组中,然后传递数组索引。就像是:
// 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
关于spin - Promela 中的按引用传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26991254/
我希望为多核处理器建模缓存,包括缓存一致性。这样的 PROMELA 实现是否已经存在。我试图搜索它,但找不到任何东西。其次,如果我必须自己实现它,在 PROMELA 中声明非常大的数组来表示缓存结构是
我正在尝试在 Promela 中创建一个 B 树,以便我可以证明有关它的内容,但是,Promela 似乎不支持递归数据类型。这不起作用: #define n 2 typedef BTreeNode {
在我的设计中,我有 电话 全局变量和一个方法,根据状态将一些提到的参数作为参数。 我可以通过引用将全局变量作为参数传递吗? This paper在结论部分明确说 "special form of ca
这会是死锁的一个例子吗? active proctype test(){ bool one; byte x; one; x = x+11; } 最佳答案 恕我直
byte x; if ::(x == 0) -> ... ::(x > 0) -> ... fi 全局变量有默认值吗?或者模型检查器检查所有可能的交错,也就是说,在这种情况下,使用 (x==0) 和
要在 C 中创建矩阵,我们需要编写: int[][] a = {{1,2,3},{1,2,3},{1,2,3}} 如何在 Promela 中创建矩阵? 最佳答案 来自docs : Multidimen
是否可以从另一个进程访问一个进程的局部变量的值。 例如在下面的程序中,我想从经理读取 my_id 的值。 proctype user (byte id){ byte my_id = id; }
我正在使用 SPIN 模型检查器 GUI - iSPIN。 GUI 附带了一个很好的自动机 View 生成器,但是为了查看完整的自动机,我需要放大/缩小。如果可能的话,我还想将该自动机保存在漂亮的图像
所以我想要的是进程 A 广播一条消息,告诉进程 B 到 D。如何才能做到这一点?正确的方法似乎是在 A 和进程 B 到 D 之间建立 channel ,然后将相同的消息发送到从 B 到 D 的每个进程
谁能给我解释一下下面发生的事情的顺序? if :: a_channel??5 -> // do A :: value_1 == value_2 -> // do B fi; 所以基本上我的理解是,
我有以下 promela 代码: chan level = [0] of {int}; proctype Sensor (chan levelChan) { int x; do
首先,我将总结我正在工作的项目,以便更容易理解问题(我不习惯用英语写作,对于我可能犯的错误感到抱歉)。 我一直在研究 Promela 模型,用于使用 LTL 条件为机器人在自然地形上进行路径规划。总之
我是尝试使用 Promela 和 SPIN 的初学者。在开发一些简单的 Promela 规范时,我想使用 printf() 检查程序中变量的值。我已阅读 this man page并且正在尝试运行一个
我正在尝试重现 Dijkstra 在题为“合作顺序进程”的论文中编写的 ALGOL 60 代码,该代码是解决互斥问题的第一次尝试,这里是语法: begin integer turn; turn:= 1
尝试在 Promela 中使用 Python 库并旋转 (error message screenshot) 时收到此错误消息: spin: /usr/include/unistd.h:778, Er
我有以下类型定义。 Pub 类型保留两个 int,pub_table 保留一个发布者数组和一个 int。 typedef pub{ int nodeid; int tid }; typ
我是一名优秀的程序员,十分优秀!