UNIX版的SPIN与XSPIN在Cygwin下的安装与使用 第一步,先下载 ftp://ftp.cs.berkeley.edu/ucb/4bsd/byacc.tar.Z 用编译yacc.exe: 将byacc.tar.Z解压: gunzip *.tar.Z tar -xf *.tar 然后用make编译,若有错误再用下面命令编译: gcc -o yacc *.o 将yacc.exe拷贝到cygwin\bin下(或Src*目录下) 第二步,编译SPIN 1) 在[8]处下载spin*.tar.gz 放在一个空目录中 2) 解压: gunzip *.tar.gz tar -xf *.tar 3) 转到Src*目录下 cd Src* 4) 打开文件make_unix,将第12行等号后的cc命令改为gcc,保存 5) make -f make_unix 6) 将生成的spin.exe放到cygwin\bin下,然后参考Test/README.tests进入测试阶段 注:将测试中的cc命令换成gcc命令即可。将cygwin\bin中的cpp.exe拷贝到cygwin\lib下,执行test 1,在第五步和第九步中生成pan.exe,用./pan -l 和./pan -a来验证。 2.3 SPIN 的图形界面工具XSPIN安装和使用 使用SPIN的最简单的方式是使用图形界面XSPIN,图形界面独立于SPIN 运行,辅助产生和选择相应的SPIN命令,XSPIN在后台运行SPIN得到期望的输出值,XSPIN知道什么时候怎么样去编译模型检测的代码,也知道什么时候如何去执行它。所以可以不用记住所有的参数。下面我们将具体介绍在Cygwin环境下的安装和使用。 2.3.1 XSPIN的安装 在[8]处下载xspin*.tcl ,将xspin*.tcl改名为xspin拷贝到Cygwin的/bin/下。打开此文件,在文件的前几行你会看到该软件默认执行的路径是 c:/cygwin/bin/xspin 将此项改为你所安装的Cygwin的路径然后保存即可。在/cygwin/bin下找到wish* 文件,改名为wish。现在你就可以将xspin作为标准的UNIX命令使用了,例如: $xspin leader。 2.3.2 XSPIN的使用[9] 我们用Test文件夹下的leader程序为例说明如何使用XSPIN,具体步骤如下: 1 转到Test目录下输入$ xspin leader 2 这时你将看到XSPIN的主窗口(如图2- 所示)。整个窗口分四个区域: 菜单栏(左上方)。首先点击Help按钮,了解一下相关的帮助主题,阅读完后点击OK返回主窗口。在Edit选项中提供了一些基本的编辑功能和查找功能你可以在文本编辑区用鼠标拖动选择要进行操作的区域,然后用编辑菜单栏的功能进行拷贝剪切和粘贴。 右上方提供了显示当前鼠标在文本编辑区中的位置和简单的查找功能。 文本编辑区(窗口中间部分)。图中文本编辑区加载了leader election的Promela语言的程序说明。 日志窗口(主窗口最下面的黑色区域)。它用来显示我们当前使用的SPIN、XSPIN和TclTk的版本号,还有我们运行时所执行的相应的SPIN命令和一些提示性语句。 3 点击RUN按钮,选择Run Syntax Check进行语法检测。 4 选择Run Slicing Algorithm进行模型冗余检测。在此次检测中系统会给出那些数据在模型中是没有用的,同时还给你一些改进模型的建议。 5 选择set simulation parameters...现在使用默认值,点START按钮,开始第一次的仿真运行。 6 这时一系列的新窗口出现:message sequence chart ,variable values和simulation output窗口。刚开始message sequence chart 是空的,它将列出在仿真过程中所有的消息的发送和接收。variable values窗口将列出所有全局变量和全局通道的当前值(也可以在Simulation Options窗口Data Value Panel中选择要在variable values窗口中显示的数据)。simulation output窗口显示所有执行的语句并在左边显示执行的步骤号。它允许单步执行(点击Single Step按钮)或连续执行(点RUN按钮)。 7 当运行完,simulation output窗口将显示多少进程被创建,执行的结果如下图所示: 本文来源:https://www.wddqw.com/doc/0d6fd1144431b90d6c85c77e.html