问题标签 [spin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
146 浏览

spin - Promela中的浮点计算

我想在 Promela 中对物体的弹道轨迹进行建模,并验证模型的一些属性。但是,Promela 没有浮点数据类型。因此,它不能例如计算弹丸运动参数。例如,它无法计算正弦/余弦等三角函数,因此我无法模拟射弹运动。

解决方法是什么?我们如何在 Promela 中对此类系统进行建模?

0 投票
1 回答
143 浏览

model - 模型检查链表

我查看了 SPIN 模型检查器。但是,它没有动态分配的功能。是否有任何其他模型检查器可用于动态分配?

0 投票
1 回答
1293 浏览

arrays - promela - 我如何一次初始化一个数组?

理想情况下,我会喜欢这样的东西:

但据我所知,这是行不通的。有没有办法做到这一点,而不是这样?

0 投票
1 回答
4774 浏览

random - 自旋验证 - 对随机和随机的未定义引用

我目前正在学习 Promela/Spin。我遇到的问题是我无法验证我的程序。

我创建我的平移文件: spin_64bits.exe -a x.pr --- 一切都很好,直到这里。

现在,当我尝试通过gcc pan.c (gcc -o pan pan.c, 不管) 编译 pan.c 时,我收到一个错误,即存在对随机和随机的未定义引用。

注意:当我分别用 srand() 和 rand() 交换它们时它确实有效,但老实说,我不想在每次想要运行验证时打开 pan.c 并对其进行编辑。

我是否必须使用另一个编译器?我正在使用 MinGW。

0 投票
1 回答
325 浏览

spin - SPIN模型中的最大进程数

我创建了多个进程,这些进程又产生了其他进程。因此,SPIN 模型不断打印“进程过多(最多 255)”。但是,它仍然给了我最终的输出。如果它不能处理超过 255 个进程,它如何仍然设法给我最终输出?

0 投票
1 回答
676 浏览

spin - Promela 语法错误:错误:不完整的结构 ref 'table' 看到了 'operator: ='

我有以下类型定义。Pub 类型保留两个整数,而 pub_table 保留一个发布者数组和一个整数。

然后在网上pt.table[pt.last] = p;我收到一个错误说

“错误:不完整的结构参考‘表’看到‘操作员:=’”

不幸的是,我看不出那条线上有什么问题?

0 投票
1 回答
546 浏览

automata - 生成我的 Promela 模型的自动机图像

我正在使用 SPIN 模型检查器 GUI - iSPIN。GUI 带有一个不错的自动机视图生成器,但是为了看到完整的自动机,我需要放大/缩小。如果可能的话,我还想将该自动机保存在一个漂亮的图像中(避免使用打印屏幕)。有没有办法从 SPIN 或其他可以基于 Promela 模型生成自动机的工具中保存生成的自动机图像?

PS 下面是一张图片,显示了我想保存的生成的 Automaton 图像。显然,我无法仅通过打印屏幕重新创建它。 在此处输入图像描述

0 投票
1 回答
104 浏览

verification - 多个 proctype 实例的 Promela 原子命题

我想知道如何编写代表 proctype 的所有实例的 never 声明。例如,如果我有以下命题:

现在,如果我实例化 5 个实例,camera_node我如何创建一个原子命题检查start_publishing所有这 5 个实例是否等于零?

0 投票
1 回答
3130 浏览

gcc - 自旋:gcc-4:错误:spawn:没有这样的文件或目录

我想在 windows7-64 上使用 SPIN 模型检查器,并且我已经安装了它的所有先决条件。以下是我如何做到的程序

  1. 我用 cygwin 安装了 gcc 编译器 .. 用命令提示符检查了更新的路径,它显示版本 4.9.2
  2. 安装 Active Tcl .. 更新路径 .. 当我打开 ispin 时工作正常。
  3. 更新了 ispin 目录的路径。
  4. 只是一点技巧,还可以通过在 ispin 文件中给出 gcc.exe 的确切路径来检查。但是错误仍然相同。

但是当我尝试编译预先包含的示例文件(例如leader.pml)时,它给了我错误

有人可以告诉我我做错了什么和/或错过了什么吗?我该如何解决这个问题?

谢谢。

0 投票
1 回答
1242 浏览

spin - iSpin LTL 属性评估仅激活“断言违规”?

我正在尝试习惯 iSpin/Promela。我在用:

Spin 版本 6.4.3——2014 年 12 月 16 日,iSpin 版本 1.1.4——2014 年 11 月 27 日,TclTk 版本 8.6/8.6,Windows 8.1。

这是我尝试使用 LTL 的示例。如果 for 循环中的两个步骤不是原子的,则 LTL 属性的验证会产生错误:

在验证点击中,我只想测试 LTL 属性,所以我禁用所有安全属性并激活“使用声明”。声明名称为“alwaysten”。

验证选项卡配置

但是,如果我激活“断言违规”,似乎只是评估了 LTL 属性。为什么?一位同事正在使用 iSpin v1.1.0,他不需要激活它?我究竟做错了什么?我想独立地证明断言和 LTL 属性......

这是跟踪: