Annotation of researchv10dc/man/adm/man1/spin.1, revision 1.1.1.1

1.1       root        1: .TH SPIN 1
                      2: .CT 1 comm_mach protocol
                      3: .SH NAME
                      4: spin \(mi protocol analysis software
                      5: .SH SYNOPSIS
                      6: .B spin
                      7: [
                      8: .BI -n N
                      9: ]
                     10: [
                     11: .BI -pglprs
                     12: ]
                     13: [
                     14: .BI -at
                     15: ]
                     16: [
                     17: .I file
                     18: ]
                     19: .SH DESCRIPTION
                     20: .I Spin
                     21: is a tool for analyzing the logical consistency of
                     22: concurrent systems, specifically communication protocols.
                     23: The system is specified in a guarded command language called Promela.
                     24: The language, described in the reference,
                     25: allows for the dynamic creation and deletion of both processes
                     26: and message channels, nondeterministic case selection, loops, gotos,
                     27: variables and assertions.
                     28: .PP
                     29: Given a model system specified in Promela,
                     30: .I spin
                     31: can either perform random simulations of the system's execution
                     32: or it can generate a C program that performs a fast exhaustive
                     33: validation of the system state space.
                     34: The validator can check, for instance, if user specified system
                     35: invariants may be violated during a protocol's execution.
                     36: .PP
                     37: Without any options the program performs a random simulation.
                     38: With option
                     39: .TP
                     40: .BI -n N
                     41: the seed for the simulation is set explicitly to the integer value
                     42: .BR N .
                     43: .PP
                     44: The second group of options
                     45: .B -pglrs
                     46: is used to set the desired level of information that the user wants
                     47: about the simulation run.
                     48: Every line of output normally contains a reference to the source
                     49: line in the specification that caused it.
                     50: .TP
                     51: .B p
                     52: Show at each time step which process changed state.
                     53: .TP
                     54: .B l
                     55: In combination with option
                     56: .BR p ,
                     57: show the current value of local variables of the process.
                     58: .TP
                     59: .B g
                     60: Show at each time step the current value of global variables.
                     61: .TP
                     62: .B r
                     63: Show all message-receive events, giving
                     64: the name and number of the receiving process
                     65: and the corresponding the source line number.
                     66: For each message parameter, show
                     67: the message type and the message channel number and name.
                     68: .TP
                     69: .B s
                     70: Show all message-send events.
                     71: .TP
                     72: .B a
                     73: Generate a protocol-specific analyzer.
                     74: The output is written into a set of C files, named
                     75: .BR pan. [ cbhmt ],
                     76: that can be compiled
                     77: .RB ( "cc pan.c" )
                     78: to produce an executable analyzer.
                     79: For larger systems the state space can quickly exhaust
                     80: the available memory on the machine used.
                     81: Large to very large systems can still be analyzed by compiling
                     82: with a bit state space:
                     83: .IP
                     84: .B cc -DBITSTATE pan.c
                     85: .IP
                     86: A compiled analyzer has its own set of options,
                     87: which can be seen by typing
                     88: .BR "a.out -?" .
                     89: .TP
                     90: .B t
                     91: If the analyzer finds a violation of an assertion, a deadlock, or
                     92: an unspecified reception, it writes an error trail into a file
                     93: named
                     94: .BR pan.trail .
                     95: The trail can be inspected in detail by invoking
                     96: .I spin
                     97: with the
                     98: .B t
                     99: option.
                    100: In combination with the options
                    101: .B pglrs
                    102: different views of the error sequence are then easily obtained.
                    103: .SH SEE ALSO
                    104: .I cospan
                    105: in
                    106: .IR langs (1)
                    107: .br
                    108: G.J. Holzmann,
                    109: `Spin \(em A Protocol Analyzer',
                    110: this manual, Volume 2.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.