Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

spin(1) [plan9 man page]

SPIN(1) 						      General Commands Manual							   SPIN(1)

NAME
spin - verification tool for concurrent systems SYNOPSIS
spin [ -nN ] [ -plgrsmv ] [ -iat ] [ -DV ] [ file ] DESCRIPTION
Spin is a tool for analyzing the logical consistency of concurrent systems, specifically communication protocols. The system is specified in a guarded command language called PROMELA2. The language, described in the references, allows for the dynamic creation of processes, nondeterministic case selection, loops, gotos, variables, and the specification of correctness requirements. The tool has fast algorithms for analyzing arbitrary liveness and safety conditions. Given a model system specified in PROMELA2, spin can perform interactive, guided, or random simulations of the system's execution or it can generate a C program that performs an exhaustive or approximate verification of the system. The verifier can check, for instance, if user specified system invariants are violated during a protocol's execution, or if non-progress execution cycles exist. Without any options the program performs a random simulation of the system defined in the input file, default standard input. The option -nN sets the random seed to the integer value N. The group of options -pglmrsv is used to set the level of information reported about the simulation run. Every line of output normally contains a reference to the source line in the specification that caused it. p Show at each time step which process changed state and what source statement was executed. l In combination with option p, show the current value of local variables of the process. g Show the value of global variables at each time step. r Show all message-receive events, giving the name and number of the receiving process and the corresponding source line number. For each message parameter, show the message type and the message channel number and name. s Show all message-send events. m Ordinarily, a send action will be delayed if the target message buffer if full. With this option a message sent to a full buffer is lost. The option can be combined with -a (see below). v Verbose mode: add extra detail and include more warnings. i Perform an interactive simulation. a Generate a protocol-specific verifier. The output is written into a set of C files, named pan.[cbhmt], that can be compiled (cc pan.c) to produce an executable verifier. Systems that require more memory than available on the target machine can still be ana- lyzed by compiling the verifier with a bit state space: cc -DBITSTATE pan.c This collapses the state space to 1 bit per system state, with minimal side-effects. Partial order reduction rules take effect dur- ing the verification if the compiler directive -DREDUCE is used. The compiled verifiers have their own sets of options, which can be seen by running them with option -?. t If the verifier finds a violation of a correctness property, it writes an error trail. The trail can be inspected in detail by invoking spin with the -t option. In combination with the options pglrsv, different views of the error sequence are then be obtained. D Perform a static dataflow analysis. V Print the version number and exit. SEE ALSO
G.J. Holzmann, Design and Validation of Computer Protocols, Prentice Hall, 1991. --, ``Using SPIN''. SPIN(1)

Check Out this Related Man Page

findmsg(1)						      General Commands Manual							findmsg(1)

NAME
findmsg, dumpmsg - create message catalog file for modification SYNOPSIS
sym] sym]] file ... file ... DESCRIPTION
The command extracts messages from a C program source file and writes them to the standard output in a format suitable for input to (see gencat(1)). The input file will be preprocessed using (see cpp(1)) in order to select print specifiers and handle conditional primitives. If multiple input files are specified and the option is not used, the files are processed sequentially such that message catalog comment lines identifying the input file are written before the output for each input file. The command scans the source files for uncommented lines with one of the following three formats embedded within it: or any combination of these formats wholly contained on a single physical line. could be a string constant or a combination of string con- stants and print specifiers (PRI*). Any number of spaces or tabs can separate the comment from the message. The digit n, which can be any valid message number (see gencat(1)), is combined with the message string to produce a message catalog source line. The message source line is assigned to the set whose number is the current value of as set by the last directive encountered. If has not yet been defined when a message line is found, the message is output without a set number specification. If more than one message is found belonging to the same set and message number, the last message found is output; any others are silently discarded. Conditional compilation and instructions in the C source files are ignored. Options recognizes the following command-line options: Merge identically numbered sets from multiple input files so that can process the output. Define symbol sym. Cause symbol sym to be undefined. Consider all #ifdefs to extract messages from the input file. Options and will be used to select print specifiers if this option is not used. Outputs all error messages issued by By default, does not display the error messages issued by The command extracts messages from a message catalog file created by Messages are written to standard output in a format suitable for edit- ing and re-input to EXTERNAL INFLUENCES
Environment Variables determines the interpretation of messages as single-byte and/or multi-byte characters. determines the language in which messages are displayed. If or is not specified in the environment or is set to the empty string, the value of is used as a default for each unspecified or empty variable. If is not specified or is set to the empty string, a default of (see lang(5)) is used instead of If any internationalization variable contains an invalid setting, and behave as if all internationalization variables are set to See environ(5). International Code Set Support Single-byte and multi-byte character code sets are supported. WARNINGS
The and commands are HP proprietary, not portable to other vendors' systems, and will not be provided in future HP-UX releases. AUTHOR
and were developed by HP. SEE ALSO
findstr(1), gencat(1), insertmsg(1), catgets(3C). findmsg(1)
Man Page