NuSMV is a symbolic model checker originated from the
reengineering, reimplementation and extension of CMU SMV, the
original BDD-based model checker developed at CMU [McMil93].
The NuSMV project aims at the development of a state-of-the-art
symbolic model checker, designed to be applicable in technology
transfer projects: it is a well structured, open, flexible and
documented platform for model checking, and is robust and close to
industrial systems standards [CCGR00].
Version 1 of NuSMV basically implements BDD-based symbolic model checking.
Version 2 of NuSMV (NuSMV2 in the following) 
inherits all the functionalities of the previous version, and extend them in
several directions [CCG+02].
The main novelty in NuSMV2 is the integration of model checking
techniques based on propositional satisfiability (SAT) [BCCZ99].
SAT-based model checking is currently enjoying a substantial success
in several industrial fields, and opens up new research directions.
BDD-based and SAT-based model checking are often able to solve
different classes of problems, and can therefore be seen as
complementary techniques.
Starting from NuSMV2, we are also adopting a new development and
license model. NuSMV2 is distributed with an OpenSource license
(see http://www.opensource.org), that allows anyone interested to freely use the
tool and to participate in its development.
The aim of the NuSMV OpenSource project is to provide to the model
checking community a common platform for the research, the
implementation, and the comparison of new symbolic model checking
techniques.
Since the release of NuSMV2, the NuSMV team has received code
contributions for different parts of the system.
Several research institutes and commercial companies have express
interest in collaborating to the development of NuSMV.
The main features of NuSMV are the following:
NuSMV allows for the representation of synchronous and
asynchronous finite state systems, and for the analysis of
specifications expressed in Computation Tree Logic (CTL) and Linear
Temporal Logic (LTL), using BDD-based and SAT-based model checking techniques.
Heuristics are available for achieving efficiency and partially
controlling the state explosion.  The interaction with the user can be
carried on with a textual interface, as well as in batch mode.
NuSMV have been isolated and separated in
modules. Interfaces between modules have been provided. This 
reduces the effort needed to modify and extend NuSMV.
NuSMV is written in ANSI C, is POSIX compliant, and has been
debugged with Purify in order to detect memory leaks. Furthermore, the
system code is thoroughly commented. NuSMV uses the state of the
art BDD package developed at Colorado University, and provides a general
interface for linking with state-of the-art SAT solvers. This makes
NuSMV very robust, portable, efficient, and easy to
understand by other people than the developers.
This document is structured as follows.
NuSMV. 
NuSMV.
NuSMV interactively the commands of the
interaction shell are described.
NuSMV batch we define the batch mode of NuSMV.
NuSMV is available at http://nusmv.irst.itc.it.
Go to the first, previous, next, last section, table of contents.