




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SPIN Overview of this File1 Downloading Spin2 Installing Spin3 Related software (gcc, cpp, tcl/tk wish, yacc, dot, etch, jspin, erigone, spinja, ltl2ba)0. OverviewThis readme file contains the guidelines for downloading and installing Spin and related software on Unix/Linux and Windows platforms. Refer to Spins homepage for a general description of Spin, with pointers to manual pages, newsletters.Spin is distributed in source form to encourage research in formal verification, and to help a support friendly and open exchange of algorithms, ideas, and tools. The software itself has a copyright from Lucent Technologies and Bell Laboratories, and is distributed for research and educational purposes only (i.e., no guarantee of any kind is implied by the distribution of the code, and all rights are reserved by the copyright holder). For this general use of Spin, no license is required.Commercial application of the Spin software is also allowed, but requires the acceptance of a basic license. Refer to the Spin Public license for details.1. Downloading SpinSpin runs on Unix, Solaris, and Linux machines, on most flavors of Windows PCs, and on Macs. Precompiled binary executables for some popular types of machines are available in the Spin Binaries.All binaries have an extension that matches the Spin version number, such as spin610.exe. To install the binary, rename it to spin.exe and copy it into your bin directory.If you have machine type that is not available there, or if you are installing Spin for the first time, then follow the more detailed instructions below. Unix systems: download the most recent .tar-file with sources, the graphical interface iSpin, documentation and examples from the Spin Distribution, and continue atStep 2a. PCs (Windows95/98/2000/NT/XP): download the most recent pc_spin*.zip file, with a precompiled Spin executable, the graphical interface iSpin, and some examples from the Spin Distribution, and continue at Step 2b. Macs (Mac OS X): download the most recent .tar-file with sources, from the Spin Distribution, and continue at Step 2c.2. Installing Spin Unix/Linux systems (compiled from the sources) Windows PCs (using the executable) Macs (compiled from the sources, with some patches)2a. Installing Spin on a Unix/Linux SystemPlace the *.tar.gz file from the Spin Source Distribution in clean directory, and cd to that directory. If you have a standard Unix/Linux system, unpack the archive, and compile an executable, for instance as follows: gunzip *.tar.gz tar -xf *.tar cd Src* makeIf you are on a SOLARIS system, edit the makefile and add -DSOLARIS to the compiler directives in the makefile before you type make. Similarly, if you use a different C compiler than defined in the makefile, edit the makefile first. You need to have at least a C compiler and a copy of yacc.If all else fails, you can also compile everything with the following line: yacc -v -d spin.y; cc -o spin *.cSpin should compile without warnings. Install the executable version of spin in a directory that is within your default search path (such as your home bin directory, or /usr/local/bin etc.)On Unix/Linux systems Spin assumes that the standard C preprocessor cpp is stored in file /lib/cpp. On some systems this is different: check the comments in the makefile for details if you run into this problem.TestingTo test the basic sanity of the Spin executable, cd to the Test directory that was created when you unpacked the source archive, and follow the instructions in README.tests file that is included there.Adding iSpin (Unix/Linux)iSpin is an optional, but highly recommended, graphical user interface to Spin, written in Tcl/Tk. To obtain Tcl/Tk, see Related software. The iSpin source can be found the iSpin/ subdirectory that will is created when you unpack the source tarfile.iSpin is compatible with Tcl/Tk version 8.4 and 8.5.iSpin prints the version numbers of Spin, iSpin, and Tcl/Tk when it starts up. You can also check separately which version of Tcl/Tk you have installed by executing the following commands in wish (a Tcl/Tk command): info tclversion puts $tk_versionYou can find out which version of Spin you have by typing, at a shell command prompt: $ spin -VSpin and iSpin need a working version of a C compiler installed on your system.iSpin can also make use the graph layout program dot if it is available on your system. For information on dot, see Related software.To install iSpin run the iSpin/install.sh script (after possibly editing it). invoke the program by typing ispinor ispin promela_specFor example: ispin iSpin/examples/leader.pmlCheck the online Help menus in ispin for more details on routine use.2b. Installing Spin on a Windows PCIf you just need to update the Spin executable itself, download a new version from /spin/Bin/index.html If you need more files, e.g. a new copy of iSpin, download the latest pc_spin*.zip file from /spin/Src/index.html Extract the files from pc_spin*.zip, and copy spin*.exe, renamed spin.exe, into the directory where all your commands reside and that is within your default search path (e.g., c:/cygwin/bin/, or c:appsspin) You can find out what your search path is set to by typing set at an MS-DOS prompt - this prints a list of all defined variables in your environment, including the search path that is used to find executable commands. (Note that you may need to set the search path in the environment variables)If you use Spin from the command line (i.e., without iSpin), be warned that some command shells, e.g., the MKS Korn-shell, have none-standard rules for argument parsing (i.e., you can not reliably quote an argument that contains spaces, such as an LTL formula). In most cases this will not be much of a problem, except with the conversion of LTL formula with the spin -f option. Use single-quotes when needed, e.g.: spin -f p You can circumvent the problem by using inline LTL formula, which are supported in Spin version 6, or by using sping option -F instead of -f, to read the formula from a file instead of the command line.To run Spin, also with the precompiled version, you need a working C-compiler and a C-preprocessor, because Spin generates its model checking software as C-source files that require compilation before a verification can be performed. This guarantees fast model checking, because each model checker can be optimized to the specific model being checked. Check, for instance, if you can compile and run a minimal C program succesfully, e.g.: #include int main(void) printf(hellon); To find a public version of a C compiler and some instructions on how to install it see Related software.Adding iSpin (PC)To run iSpin on a PC, you need the PC version of Tcl/Tk, which you can find under Related software.The ispin*.tcl source is contained in the .zip file of the distribution. Copy the .tcl file as is into a directory where you plan to work, or put a shortcut to this file on the Desktop or in the Start Menu. If you keep the extension .tcl, make sure it is recognized as a wish file by the system, so that ispin starts when you double click the ispin*.tcl script.Under cygwin, copy the ispin*.tcl file to /bin/ispin and make it executable You can now use ispin as a normal Unix-style command, and you can pass the name of a filename to it, for instance as: ispin leaderAn alternative is to start ispin from its source by invoking wish: wish -f ispin.tcl or wish -f /bin/ispinAn even more indirect way to force ispin to startup is to first start wish from the Start Menu, under Programs, then select the larger window that comes up (the command window), and cd to the directory where youve stored the ispin tcl/tk source file. Then you can then start it up by typing: source ispin.tcl # or whatever else youve named thisand you should be up and running.The PC installation assumes that you have a command called cpp.exe or gcc.exe available (which comes with the gnu-c installation). cpp is the traditional name of the C preprocessor. Alternatively, ispin can also use the Visual C+ compiler, which is named cl.exe for preprocessing. To complicate your life somewhat, if you have a copy of the Borland C+ compiler installed, youll notice that this cplusplus compiler was also named cpp.exe - thats not the cpp you want. To avoid the name clash, you either have to edit the Spin source code to give it the full path name of the real cpp.exe and recompile, or use Spin with the command-line option -Pxxxx where xxxx is the path for cpp.exe. Or better still (the current default) use gcc for both compilation and for preprocessing. Nothing much in Spin will work without access to a preprocessor. You can do a reasonable number of things without a full-blown compiler though (like simulations). The C-compiler (e.g., gcc) is required for all verifications and for the automata views in iSpin.If iSpin cannot locate the gcc executable on your system, it will put up a warning message when it first starts up. On recent versions of cygwin gcc is actually a link from /bin/gcc to /bin/gcc-3 or /bin/gcc-4 Depending on how the name changes, iSpin may not always recognize it. To fix this - edit the iSpin source (its tcl/tk text) and define CC as set CC c:/cygwin/bin/gcc-5or whatever the new name is.2c. Installing Spin on a MacCompile Spin from its sources, as described under 2a for Unix systems in general, while following the suggestions below, which were provided by Dominik Brettnacher, email: domisaargate.de.The C preprocessor on Mac OS X cannot be found in /lib. Change the path in the makefile for the proper location (/usr/bin/cpp), and in addition also tell the Mac preprocessor to handle its input as assembler-with-cpp. This can be done by adding a flag to cpp, for instance in the makefile by adding the directive-DCPP=gcc -E -x c -xassembler-with-cppto the definition of CFLAGS.Adding iSpinOn the Mac, iSpin is known to work correctly with Tcl/Tk Aqua, which offers a self-contained binary distribution for the Mac. Use, for instance, TclTkAquaStandalone, version 8.4.4 from.au/steffen/tcltk/TclTkAqua/Some users reported that on a Mac iSpin by default places its temporary files into the root directory. This is nasty if you have admin privileges and probably leads to error messages if you dont. To prevent this, add a cd statement to iSpin (no arguments, just cd by itself on a line), as the first command executed. Place it, for instance, directly after the opening comments in the file. This makes iSpin use the home directory for these files.TclTk Aqua also provides the possibility to start a script when being run. For instance, to make iSpin start if you launch the TCL interpreter: move the ispin file into the Wish Shell.app, as follows:chmod -R u+w Wish Shell.appmkdir Wish Shell.app/Contents/Resources/Scriptsmv ispin*.tcl Wish Shell.app/Contents/Resources/Scripts/AppMain.tcl3. Related SoftwareSome pointers to public domain versions of related software packages. Some (e.g, a C compiler) are required to run Spin, but most other packages are optional extensions or alternatives.GCC (needed)On Unix/Linux you probably have gcc, or an equivalent, installed. On the PC you need either a copy of Visual Studio Express (for the cl command), or an installation of gcc with minimally the executables: gcc.exe, and cpp.exe in your search path, together with all the standard C library routines and header files. You can get good free version of all these files with the cygwin toolkit, which is mostly self-installing and available from:/ See also whats available in /spin/Bin/index.html.Tcl/Tk WishTo run iSpin youll need Tcl/Tk. Tcl/Tk was written by John Ousterhout () and is public domain. It can be obtained (for PCs or Unix) from cygwin, or from: http:/www.tcl.tk/ or also (a more recent extension): /Products/ActiveTcl/More details can be found in netnews-group: comp.lang.tclYacc (optional)To compile Spin itself from its sources on a PC, youll need to have a copy of yacc installed. A public domain version for a PC can most easily be obtained from cygwin, or also from: /ucb/4bsd/byacc.tar.ZA copy of this file is also available in: /spin/Bin/index.html (You dont need yacc on the PCs if you use the pre-compiled version of Spin for the pc in the pc*.zip file from the distribution) Look at the file make_it.bat for an example on how to perform the compilation.Dot (optional)Dot is a graph layout tool developed by Stephen North and colleagues at AT&T (email: ). iSpin can make use of dot to show a graph layout of the state-machines in the automata-view option (recommended!). To obtain Dot, see /The are both PC and Unix versions of dot available. For documentation of dot see, for instance: A technique for drawing directed graphs, by Gansner, Koutsofios, North and Vo, IEEE-TSE, March, 1993.If you accept the default installation on a PC, you will need to define the location of dot.exe in the ispin source as follows: set DOT C:/Program FilesATTGraphviz/bin/dot.exe(the line that sets the location of DOT appears near the top of the ispin.tcl file).Etch (optional)Etch, short for Enhanced Type CHecker, can perform more thorough static checking than the default SPIN type checker, using type inference to reconstruct types of channels which can only be incompletely specified in Promela. The techniques are described in a SPIN 2005 tool demo paper. The Etch tool can be downloaded from: http:/www.allydonaldson.co.uk/etchTopSpin (optional)TopSpin is a symmetry reduction package for Spin, developed by Alastair Donaldson. It can be applied to a Promela model and, provided that the model adheres to some restrictions (detailed in a user manual) uses computational group theory to determine a group of component symmetries associated with the model. The tool can modify the model checking algorithm used by Spin to exploit the symmetries during verification, resulting in reduced memory use and in many cases also shorter verification time. The package can be downloaded from: http:/www.allydonaldson.co.uk/topspinJSpin (optional)jSpin, developed by Moti Ben-Ari, is a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 绍兴文理学院元培学院《口腔内科学二》2023-2024学年第二学期期末试卷
- 宁夏大学《儿童问题与辅导》2023-2024学年第二学期期末试卷
- 西安信息职业大学《中国古代女性文学》2023-2024学年第二学期期末试卷
- 2025年执业药师资格证之《西药学专业一》预测试题附答案详解【巩固】
- 桂林电子科技大学《幼儿园级组织与管理》2023-2024学年第二学期期末试卷
- 闽江师范高等专科学校《人力与组织管理》2023-2024学年第二学期期末试卷
- 郴州职业技术学院《写意花鸟一》2023-2024学年第二学期期末试卷
- 南阳科技职业学院《微积分BⅡ》2023-2024学年第二学期期末试卷
- 黑龙江八一农垦大学《动物性食品卫生学》2023-2024学年第二学期期末试卷
- 天津生物工程职业技术学院《体育赛事管理》2023-2024学年第二学期期末试卷
- 无人机在坦克战中的火力支援研究-洞察分析
- 四川省树德中学2025届高三下学期一模考试数学试题含解析
- 王阳明读书分享
- 2024年银行考试-银行间本币市场交易员资格考试近5年真题集锦(频考类试题)带答案
- PC工法桩专项施工方案-
- 艺术与科学理论基础智慧树知到答案2024年北京交通大学
- 2024年金华市中考数学试卷
- DB13(J) 8457-2022 海绵城市雨水控制与利用工程设计规范
- 人教版五年级上册小数乘除法竖式计算题200道及答案
- 部编版(2024)一年级语文上册识字3《口耳目手足》精美课件
- 班级管理案例与应用智慧树知到期末考试答案章节答案2024年哈尔滨师范大学
评论
0/150
提交评论