Participant : B. Jeannet [ contact person ] .
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. It aims at handling efficiently systems combining a non-trivial numerical behaviour with a complex logical (Boolean) behaviour.
NBac is connected to 2 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: sets of states are approximated by abstract values belonging to an abstract domain, on which fix-point computations are performed.
It has been used for verification and debugging of Lustre programs   . It is connected to the Lustre toolset (http://www-verimag.imag.fr/SYNCHRONE/index.php?page=tools )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 is used by the test generator STG   for selecting test cases.