NuSMV
   HOME

TheInfoList



OR:

NuSMV is a reimplementation and extension of SMV symbolic
model checker In computer science, model checking or property checking is a method for checking whether a finite-state model of a system meets a given specification (also known as correctness). This is typically associated with hardware or software system ...
, the first model checking tool based on Binary Decision Diagrams (BDDs).K.L. McMillan. Symbolic model checking. In Kluwer Academic Publ.,1993. The tool has been designed as an
open architecture Open architecture is a type of computer architecture or software architecture intended to make adding, upgrading, and swapping components with other computers easy. For example, the IBM PC, Amiga 500 and Apple IIe have an open architecture supp ...
for model checking. It is aimed at reliable verification of industrially sized designs, for use as a backend for other verification tools and as a research tool for
formal verification In the context of hardware and software systems, formal verification is the act of proving or disproving the correctness of intended algorithms underlying a system with respect to a certain formal specification or property, using formal met ...
techniques. NuSMV has been developed as a joint project between ITC-IRST ( Istituto Trentino di Cultura in
Trento Trento ( or ; Ladin and lmo, Trent; german: Trient ; cim, Tria; , ), also anglicized as Trent, is a city on the Adige River in Trentino-Alto Adige/Südtirol in Italy. It is the capital of the autonomous province of Trento. In the 16th ce ...
,
Italy Italy ( it, Italia ), officially the Italian Republic, ) or the Republic of Italy, is a country in Southern Europe. It is located in the middle of the Mediterranean Sea, and its territory largely coincides with the homonymous geographical ...
), Carnegie Mellon University, the
University of Genoa The University of Genoa, known also with the acronym UniGe ( it, Università di Genova), is one of the largest universities in Italy. It is located in the city of Genoa and regional Metropolitan City of Genoa, on the Italian Riviera in the Liguri ...
and the
University of Trento The University of Trento (Italian: ''Università degli Studi di Trento'') is an Italian university located in Trento and nearby Rovereto. It has been able to achieve considerable results in didactics, research, and international relations accor ...
. NuSMV 2, version 2 of NuSMV, inherits all the functionalities of NuSMV. Furthermore, it combines BDD-based model checking with
SAT The SAT ( ) is a standardized test widely used for college admissions in the United States. Since its debut in 1926, its name and scoring have changed several times; originally called the Scholastic Aptitude Test, it was later called the Schol ...
-based model checking.A. Biere, A. Cimatti, E. Clarke, and Y. Zhu. Symbolic model checking without BDDs. In Tools and Algorithms for Construction and Analysis of Systems, In TACAS’99, March 1999. It is maintained b
Fondazione Bruno Kessler
the successor organization of ITC-IRST.


Functionalities

NuSMV supports the analysis of specifications expressed in CTL and LTL. User interaction is performed with a textual interface, as well as in
batch mode Computerized batch processing is a method of running software programs called jobs in batches automatically. While users are required to submit the jobs, no other interaction by the user is required to process the batch. Batches may automatically ...
.


Running NuSMV Interactively

The interaction shell of NuSMV is activated from the system prompt as follows: ystem_prompt NuSMV -int NuSMV> go NuSMV> NuSMV first tries to read and execute commands from an initialization file if such file exists and is readable unless -s is passed on the command line. File master.nusmvrc is looked for in directory defined in environment variable NUSMV _LIBRARY_PATH or in default library path if no such variable is defined. If no such file exists, user's home directory and current directory will also be checked. Commands in the initialization file are executed consecutively. When initialization phase is completed the NuSMV shell is displayed and the system is now ready to execute user commands. A NuSMV command usually consists of a command name and arguments to the invoked command. It is possible to make NuSMV read and execute a sequence of commands from a file, through the command line option -source: ystem_prompt NuSMV -source cmd_file


Running NuSMV batch

When the -int option is not specified, NuSMV runs as a batch program, which is with the form as follows: ystem_prompt NuSMV ommand line optionsinput_file


Checking for LTL specification or CTL specification

NuSMV can be used to check whether the predefined LTL or CTL constraints holds for the defined model. For example, we have a CTL specification that we want to check: CTLSPEC EF(proc5.state = critical); This specification checks if there exists an execution path such that the state of process 5 is critical at some point. User can check to see if their model holds for this specification using the following commands. ystem_prompt NuSMV ommand line optionsinput_file NuSMV> go NuSMV> check_ctlspec If the specification is true, NuSMV will inform you with -- specification EF proc5.state = critical is true >NuSMV However, if the specification fails at some state, NuSMV will return a full trace of execution showing how it fails.


See also

*
Spin Model Checker SPIN is a general tool for verifying the correctness of concurrent software models in a rigorous and mostly automated fashion. It was written by Gerard J. Holzmann and others in the original Unix group of the Computing Sciences Research Center ...
a general model checker for asynchronous software systems *
CADP CADP (Construction and Analysis of Distributed Processes) is a toolbox for the design of communication protocols and distributed systems. CADP is developed by the CONVECS team (formerly by the VASY team) at INRIA Rhone-Alpes and connected to vari ...
(Construction and Analysis of Distributed Processes), a toolbox for the formal design of asynchronous concurrent systems


References

{{Reflist, 30em


External links


NuSMV website

Nuseen website
a set of tools based on eclipse for the model checker NuSMV.
nuXmv
Extends NuSMV with SMT-based verification and updated SAT solving techniques Model checkers Free software programmed in C