EN FR
EN FR


Section: Software

NBac

Participant : Bertrand Jeannet.

NBac (Numerical and Boolean Automaton Checker) (http://pop-art.inrialpes.fr/people/bjeannet/nbac/ ) is a verification/slicing tool for reactive systems containing combination of Boolean and numerical variables, and continuously interacting with an external environment. NBac can also handle the same class of hybrid systems as the HyTech tool [63] . It aims at handling efficiently systems combining a non-trivial numerical behaviour with a complex logical (Boolean) behaviour.

NBac is connected to two input languages: the synchronous dataflow language Lustre , and a symbolic automaton-based language, AutoC/Auto , where a system is defined by a set of symbolic hybrid automata communicating via valued channels. It can perform reachability analysis, co-reachability analysis, and combination of the above analyses. The result of an analysis is either a verdict to a verification problem, or a set of states together with a necessary condition to stay in this set during an execution. NBac is founded on the theory of abstract interpretation.

It has been used for verifying and debugging Lustre programs [65] [52] [36] . It is connected to the Lustre toolset (http://www-verimag.imag.fr/The-Lustre-Toolbox.html ). It has also been used for controller synthesis of infinite-state systems. The fact that the analyses are approximated results simply in the obtention of a possibly non-optimal controller. In the context of conformance testing of reactive systems, it has been used by the test generator STG (http://www.irisa.fr/prive/ployette/stg-doc/stg-web.html ) [42] [66] for selecting test cases.

It has recently been superseded by ReaVer (see Section  5.2 ).