JAVA环境下SPIN模型检测工具安装的问题(新手第一问,多谢了)

「已注销」 2009-02-17 08:47:39
弱弱的问:我还站在JAVA的大门外,但要用到模型检测工具SPIN,安装使用一直出现问题,经过一番请教搜索,没有得到实质性的解决,现将我遇到的问题描述如下:
(一)下载http://202.194.89.125/Soft/UploadSoft/jdk-1_5_0_04-windows-i586-p.exe 后一直默认安装,没有做任何修改,安装后修改环境变量按如下说明:(设置环境变量:1.右击“我的电脑”,点击“属性”:选择“高级”选项卡,点击“环境变量”
  2.在“系统变量”中,新建系统变量名JAVA_HOME 变量值C:\Program Files\Java\jdk1.5.0_04
新建系统变量名Path,变量值%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
新建系统变量名CLASSPATH,变量值.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
(二)SPIN有如下安装说明:
1、 WIN32环境下SPIN的安装和使用
从[http://spinroot.com/spin/Src/index.html]下载最新的pc_spin*.zip文件(或
pc_spin412.zip:),解压pc_spin*.zip然后将spin*.exe拷贝到例如D:\SPIN下,进入控制台,转到D:\SPIN目
录下就可以用spin的当前版本对模型进行检测了,在VC6.0环境下,编译SPIN产生的pan.c文件,得到pan.exe
可以用spin*.exe在Windows控制台环境下对模型进行相应的检测和错误迹观察了。
2、 Java环境下SPIN的安装和使用
上述smv.exe只有控制台界面,以色列的Mordechai (Moti) Ben-Ari使用Java作出了图形界面jSPIN,可如下安装
使用: 在Windows2000/NT/XP下 - 使用VC++6.0编译器:先安装并运行成功:VC++6.0、JDK1.5.0
将jspin1-1-5.zip解压,得目录\jspin1-1-5,可将此目录放于例如:d:\jspin1-1-5
将SPIN4.1.2(Win32版): pc_spin412.zip解压到后将spin412.exe取出放入d:\jspin1-1-5;
打开d:\jspin1-1-5的config文件,做如下改变:
设置示例文件所在目录 SOURCE_DIRECTORY=d\:\\jspin1-1-5\\examples
设置spin412.exe所在目录 SPIN= d\:\\jspin1-1-5\\spin412.exe
设置VC++6编译命令 C_COMPILER=cl -w -nologo pan.c
(估计这是我的一大门槛之一,安装时我选择的路径同样是默认,装好后桌面有jSpin快捷方式,没有进行任何更改时
同样可以运行,记事本打开C:\jspin\config.cfg,修改如下,其他没有做任何改变
SOURCE_DIRECTORY=c\:\\jspin\\jspin-examples
SPIN=c\:\\jspin\\spin.exe
C_COMPILER_OPTIONS=cl -w -nologo pan.c这一句存在问题可能性较大
保存退出
(三)双击桌面图标jSpin运行
有如下正确协议,复制如下代码到左侧窗口,FILE->SAVE->SEM.PML->保存
byte sem = 1;
byte critical = 0;
#define sss (sem>0)
#define mutex (critical <= 1)
active proctype P1 () {
do ::
atomic { sem > 0; sem--; }
critical++;
critical--;
sem++;
od
}
active proctype P2 () {
do ::
atomic { sem > 0; sem--; }
critical++;
critical--;
sem++;
od
}
点击Verify按钮出现如下错误
c:\jspin\spin.exe -a SEM.PML ... IO exception
java.io.IOException: CreateProcess: c:\jspin\spin.exe -a SEM.PML error=2done!
c:\mingw\bin\gcc.exe -DSAFETY cl -w -nologo pan.c ... IO exception
java.io.IOException: CreateProcess: c:\mingw\bin\gcc.exe -DSAFETY cl -w -nologo pan.c error=3done!
c:\jspin\jspin-examples\pan -m2000 -X ... IO exception
java.io.IOException: CreateProcess: c:\jspin\jspin-examples\pan -m2000 -X error=2done!

真诚期待高手解决问题,不胜感激~!!!!!!!
所用文件地址如下:
JDKhttp://202.194.89.125/Soft/UploadSoft/jdk-1_5_0_04-windows-i586-p.exe
pc_spin517.ziphttp://spinroot.com/spin/Src/pc_spin517.zip
jspin-4-6.exehttp://stwww.weizmann.ac.il/g-cs/benari/jspin/jspin-4-6.exe
文中的安装说明来自http://210.40.7.188/E'ojc/MXJC/SPIN/000/001.asp
再次感谢了!!!!!!!!
...全文
639 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaqitc2 2012-05-15
  • 打赏
  • 举报
回复
mtype={goods,rev,ok,fail,cfm,cancel,TimeOut};
active proctype Publisher(chan ch1,ch2,ch3,ch4,ch5,ch6)
{
do
sv0:ch1!goods;
goto sv1;
sv1:ch2?rev;
goto sv2;
sv2:
if
::ch3!fail->goto sv1;
::ch3!ok->goto sv3;
fi;
sv3:if
::ch5?cancel->goto sv1;
::ch5?cfm->goto sv4;
::timeout->ch4!TimeOut;
fi;
sv4:
if
::ch6!ok->goto sv1;
::ch6!fail->goto sv1;
fi;
od
}
active proctype Reader(chan ch1,ch2,ch3,ch4,ch5,ch6)
{
mtype AK;
do
sv0:ch1?goods;
goto sv1;
sv1:ch2!rev;
goto sv2;
sv2:
if
::ch3?fail->goto sv1;
::ch3?ok->goto sv3;
fi;
sv3:
if
::ch5!cancel->goto sv1;
::ch5!cfm->goto sv4;
::skip;ch4?AK;assert(AK==TimeOut);
goto sv1
fi;
sv4:
if
::ch6!ok->goto sv1;
::ch6!fail->goto sv1;
fi;
od
}
Init
{
chan ch1=[1]of{mtype};
chan ch2=[1]of{mtype};
chan ch3=[1]of{mtype};
chan ch4=[1]of{mtype};
chan ch5=[1]of{mtype};
chan ch6=[1]of{mtype};
atomic{
run Publisher(ch1,ch2,ch3,ch4,ch5,ch6);
run Reader(ch1,ch2,ch3,ch4,ch5,ch6);
}
}
各位高人 这段代码有什么错误啊 运行时错误$ spin -a BOOK.abp
spin: BOOK.abp:5, Error: syntax error saw 'an identifier' near 'sv0'
spin: BOOK.abp:30, Error: syntax error saw 'an identifier' near 'sv0'
spin: BOOK.abp:55, Error: redeclaration of 'ch1' saw ';' near 'chan
我用的是在cygwin下面的spin
a201c501ys 2011-11-09
  • 打赏
  • 举报
回复
请问怎么使用jspin啊?我是刚学的,有没有中文版的参考教材?谢谢!
zhaosupingwan 2011-10-20
  • 打赏
  • 举报
回复
c:\jspin\jspin-examples\pan -m2000 -X ... IO exception
java.io.IOException: CreateProcess: c:\jspin\jspin-examples\pan -m2000 -X error=2done!

我都安装了,但是点verify按钮是出现如上的错误。这是怎么回事啊
「已注销」 2009-02-22
  • 打赏
  • 举报
回复
刚才试了,可以用了,谢谢
「已注销」 2009-02-22
  • 打赏
  • 举报
回复
感谢你的帮助,我因为家里有事,最近很难上网来,工作的事情也暂时放下了,根据你提供的帮助,我觉得应当可以解决问题了,等我试好了就来结贴,大概还得有几天时间才能离家,回去工作
NickCheng 2009-02-19
  • 打赏
  • 举报
回复
关注,阅!
「已注销」 2009-02-19
  • 打赏
  • 举报
回复
多谢你的热心帮助
1、在命令行下手动调用spin.exe可以用
2、“ 设置VC++6编译命令 C_COMPILER=cl -w -nologo pan.c “ 是安装说明中说的,但是在那个打开的文件中有C_COMPILER和C_COMPILER_OPTIONS=cl -w -nologo pan.c两句,其中C_COMPILER原值为路径,C_COMPILER_OPTIONS原值才是~,我根据自己的判断来作出的修改,所以不是很有把握,怀疑问题较大
3、gcc确实没有装
问题还没有解决,但必须要用到,还没有按照你说的试试,实在上网不方便,到现在才回复
谢了

jimgreat 2009-02-19
  • 打赏
  • 举报
回复
你的问题我又研究了下

如果你只是想运行jspin
那只要安装JDK 、 jspin-4-6.exe 、 mingw.exe 这三项就可以了
按默认的设置安装就行了 jspin已经自带spin.exe了
安装后不用进行修改可以直接使用
这样安装是通过windows下的gcc来编译的 安装mingw.exe 就是安装这个东西
jspin默认就是用gcc编译的

要是VC++来进行编译,我也试验了下
说明中的“C_COMPILER=cl -w -nologo pan.c ”是有一点问题
其中cl 是VC++在命令行下的编译程序
jspin要调用它才能编译pan.c
后面的-w -nologo pan.c是参数
所以配置文件要改成这样
C_COMPILER=cl
C_COMPILER_OPTIONS=-w -nologo pan.c
这样确实可能运行,但会有错误

bin\spin.exe -a a ... done!
cl -DSAFETY -w -nologo pan.c ... pan.c
pan.c(17) : fatal error C1083: Cannot open include file: 'unistd.h': No such file or directory
done!


我分析可能是这样
windows下的c语言 和 linux下的c是不完全一样的 有些头文件也是不同的
spin当初设计时都是在linux下的 jspin也是
所以移到windows来时 对pan.c编译还要使用linux下的标准 也就是为什么要用gcc了

因此就我目前了解的情况,在Windows下使用jspin只能用它的默认配置,也就是我前面提到的。
jimgreat 2009-02-18
  • 打赏
  • 举报
回复
我前一段用过SPIN也是在Windows下

对你的说明我有几个问题

你出现的错误提示的前两行是
c:\jspin\spin.exe -a SEM.PML ... IO exception
java.io.IOException: CreateProcess: c:\jspin\spin.exe -a SEM.PML error=2done!
这说明在调用spin.exe时就出错了
你试下在命令行下手动调用spin.exe试下 看看好不好用

你前面说
“ 设置VC++6编译命令 C_COMPILER=cl -w -nologo pan.c “
后面又说
C_COMPILER_OPTIONS=cl -w -nologo pan.c这一句存在问题可能性较大“

C_COMPILER 应该是编译pan.c的程序 应该是通过windows下的gcc
从错误信息的三、四行也能看出
c:\mingw\bin\gcc.exe -DSAFETY cl -w -nologo pan.c ... IO exception
java.io.IOException: CreateProcess: c:\mingw\bin\gcc.exe -DSAFETY cl -w -nologo pan.c error=3done
它是要运行"c:\mingw\bin\gcc.exe"
这个程序你装一下就行了

我在安装时就安装了JDK jspin-4-6.exe mingw.exe 这三个程序

还有一个是我在使用中遇到的问题 就是pml存放的路径中不能有空格
如果有,jspin在调用时就会在空格处截断 这样就不能正常运行了
不知道对你是否有帮助!

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧