ArticleslgStudy

computer science

NuSMV

NuSMV is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand NuSMV rather than just read about it. In short: In computer science, NuSMV is a reimplementation and extension of the SMV symbolic model checker, the first model checking tool based on binary decision diagrams (BDDs). The tool has been designed as an open architecture for model checking.

Key takeaways

  • NuSMV belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect NuSMV to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of NuSMV from memory before moving on to harder problems.

Reference excerpt

In computer science, NuSMV is a reimplementation and extension of the SMV symbolic model checker, the first model checking tool based on binary decision diagrams (BDDs). 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 in Trento), Carnegie Mellon University, the University of Genoa and the University of Trento. NuSMV 2, version 2 of NuSMV, inherits all the functionalities of NuSMV. Furthermore, it combines BDD-based model checking with SAT-based model checking. It is maintained by Fondazione Bruno Kessler, the successor organization of ITC-IRST.

Functionalities NuSMV supports the analysis of specifications expressed in computation tree logic (CTL) and linear temporal logic (LTL). It can be run in batch mode, or interactively with a textual user interface.

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

NuSMV first tries to read and execute commands from an initialization file if such file exists and is readable unless -s was passed on the command line. File master.nusmvrc is looked for in the directories defined in environment variable NUSMV_LIBRARY_PATH or in the default library path if no such variable is defined. If no such file exists, user's home directory and the current directory will also be checked. Commands in the initialization file are executed consecutively. When the initialization phase is completed the NuSMV shell prompt 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:

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

Checking for LTL specification or CTL specification NuSMV can be used to check whether given LTL or CTL constraints holds for a given model. For example, we have a CTL specification that we want to check:

This specification is true if there exists an execution path such that the component state of the process proc5 has the value critical at some point. User can check to see if their model holds for this specification using the following commands.

If the specification is true, NuSMV will inform you with

If some specification fails, NuSMV will return a full trace of execution showing how it fails, if possible.

See also Spin Model Checker a general model checker for asynchronous software systems CADP (Construction and Analysis of Distributed Processes), a toolbox for the formal design of asynchronous concurrent systems

References

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

Worked examples

Example 1 — a first encounter with NuSMV

Start with the simplest possible case. Write down what NuSMV claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to NuSMV before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about NuSMV ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of NuSMV

In research
NuSMV appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses NuSMV in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
NuSMV is common in secondary-school and first-year university syllabi. It links to neighbouring topics Free software programmed in C, Model checkers, so understanding it makes those chapters shorter.
In everyday life
Look for NuSMV outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study NuSMV in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what NuSMV means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain NuSMV out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is NuSMV in simple terms?

In computer science, NuSMV is a reimplementation and extension of the SMV symbolic model checker, the first model checking tool based on binary decision diagrams (BDDs). The tool has been designed as an open architecture for model checking.

Why does NuSMV matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study NuSMV?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on NuSMV.

Tags

  • Free software programmed in C
  • Model checkers

Keep exploring