NuSMV

NuSMV
NuSMV
Developer(s) FBK-irst (Trento, Italy), CMU (Pittsburgh, PA), The University of Genova (Italy), The University of Trento (Italy)
Stable release 2.5.2 / October 29, 2010; 11 months ago (2010-10-29)
Written in ANSI C
Operating system Linux, Mac OS X, Microsoft Windows
Type Model Checking
License LGPL v2.1
Website nusmv.fbk.eu

Contents

Introduction

NuSMV is a reimplementation and extension of SMV symbolic model checker, the first model checking tool based on Binary Decision Diagrams (BDDs).[1] The tool has been designed as an open architecture 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 techniques

NuSMV has been developed as a joint project between ITC-IRST (Istituto Trentino di Cultura, Istituto per la Ricerca Scientifica e Tecnologica in Trento, Italy), Carnegie Mellon University, the University of Genoa and the University of Trento. .

NuSMV 2, version 2 of NuSMV, inherits all the functinalities of NuSMV. Furthermore, it combines BDD-based model checking with SAT-based model checking. [2] It is maintained by 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.

Running NuSMV Interactively

The interaction shell of NuSMV is activated from the system prompt as follows:

system_prompt> NuSMV -int <RET>
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:

system_prompt> NuSMV -source cmd_file <RET>

Running NuSMV batch

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

system_prompt> NuSMV [command line options] input_file <RET>

The program described in input_file will be processed and the corresponding finite state is built.

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 an CTL specification that we want to check

CTLSPEC EF(proc5.state = critical);

This specification checks that 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.

system_prompt> NuSMV [command line options] input_file <RET>
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 retrun a full trace of execution showing how it fails.

References

  1. ^ K.L. McMillan. Symbolic model checking. In Kluwer Academic Publ.,1993.
  2. ^ 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.

See also

External links


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Look at other dictionaries:

  • Symbolic Model Verifier — Der SMV (Symbolic Model Verifier) ist ein Werkzeug zur Modellprüfung (engl. Model Checking). Dieser Model Checker prüft endliche Zustandsautomaten (engl. Finite State Machines) mit der temporalen Logik CTL. Inhaltsverzeichnis 1 Technologie 1.1… …   Deutsch Wikipedia

  • Model checking — This article is about checking of models in computer science. For the checking of models in statistics, see regression model validation. In computer science, model checking refers to the following problem: Given a model of a system, test… …   Wikipedia

  • LURCH — is a tool for software design debugging that uses a nondeterministic algorithm to quickly explore the reachable states of a software model. By performing a partial and random search, LURCH looks for faults in the model and reports the pathways… …   Wikipedia

  • SPIN model checker — SPIN is a general tool for verifying the correctness of distributed software (software design) in a rigorous and mostly automated fashion. It was written by Gerard J. Holzmann and others, and has evolved for more than 15 years. SPIN is an… …   Wikipedia

  • Methode formelle (informatique) — Méthode formelle (informatique) Pour les articles homonymes, voir Méthode. En informatique, les méthodes formelles sont des techniques permettant de raisonner rigoureusement, à l aide de logique mathématique, sur des programmes informatiques ou… …   Wikipédia en Français

  • Model Checking — Le Model Checking désigne une famille de techniques de vérification automatique des systèmes dynamiques (souvent d origine informatique ou électronique). Il s agit de vérifier algorithmiquement si un modèle donné, le système lui même ou une… …   Wikipédia en Français

  • Model checking — Le Model Checking désigne une famille de techniques de vérification automatique des systèmes dynamiques (souvent d origine informatique ou électronique). Il s agit de vérifier algorithmiquement si un modèle donné, le système lui même ou une… …   Wikipédia en Français

  • Méthode formelle — (informatique) Pour les articles homonymes, voir Méthode. En informatique, les méthodes formelles sont des techniques permettant de raisonner rigoureusement, à l aide de logique mathématique, sur des programmes informatiques ou des matériels… …   Wikipédia en Français

  • Méthode formelle (informatique) — Pour les articles homonymes, voir Méthode. En informatique, les méthodes formelles sont des techniques permettant de raisonner rigoureusement, à l aide de logique mathématique, sur des programmes informatiques ou des matériels électroniques, afin …   Wikipédia en Français

  • Méthodes formelles — Méthode formelle (informatique) Pour les articles homonymes, voir Méthode. En informatique, les méthodes formelles sont des techniques permettant de raisonner rigoureusement, à l aide de logique mathématique, sur des programmes informatiques ou… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”