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.