Hierarchical Decision Diagrams to Exploit Model Structure

Symbolic model-checking using binary decision diagrams (BDD) can allow to represent very large state spaces. BDD give good results for synchronous systems, particularly for circuits that are well adapted to a binary encoding of a state. However both the operation definition mechanism (using more BDD) and the state representation (purely linear traversal from root to leaves) show their limits when trying to tackle globally asynchronous and typed specifications. Data Decision Diagrams (DDD) [7] are a directed acyclic graph structure that manipulates(a priori unbounded) integer domain variables, and which offers a flexible and compositional definition of operations through inductive homomorphisms. We first introduce a new transitive closure unary operator for homomorphisms, that heavily reduces the intermediate peak size effect common to symbolic approaches. We then extend the DDD definition to introduce hierarchy in the data structure. We define Set Decision Diagrams, in which a variable’s domain is a set of values. Concretely, it means the arcs of an SDD may be labeled with an SDD (or a DDD), introducing the possibility of arbitrary depth nesting in the data structure. We show how this data structure and operation framework is particularly adapted to the computation and representation of structured state-spaces, and thus shows good potential for symbolic model-checking of software systems, a problem that is difficult for plain BDD representations.

[1]  Edmund M. Clarke,et al.  Symbolic Model Checking with Partitioned Transistion Relations , 1991, VLSI.

[2]  Gianfranco Ciardo,et al.  Efficient Reachability Set Generation and Storage Using Decision Diagrams , 1999, ICATPN.

[3]  Susanna Donatelli,et al.  Application and Theory of Petri Nets 1999 , 2003, Lecture Notes in Computer Science.

[4]  Sérgio Vale Aguiar Campos,et al.  Symbolic Model Checking , 1993, CAV.

[5]  Aarti Gupta,et al.  Representation and symbolic manipulation of linearly inductive Boolean functions , 1993, ICCAD '93.

[6]  Mogens Nielsen,et al.  Application and Theory of Petri Nets 2000: 21st International Conference, ICATPN 2000 Aarhus, Denmark, June 26–30, 2000 Proceedings , 2000, ICATPN.

[7]  Edmund M. Clarke,et al.  Symbolic Model Checking: 10^20 States and Beyond , 1990, Inf. Comput..

[8]  Jaco Geldenhuys,et al.  Techniques for Smaller Intermediary BDDs , 2001, CONCUR.

[9]  Gianfranco Ciardo,et al.  Saturation Unbound , 2003, TACAS.

[10]  Marco Pistore,et al.  NuSMV 2: An OpenSource Tool for Symbolic Model Checking , 2002, CAV.

[11]  Javier Esparza,et al.  Application and Theory of Petri Nets 2002 , 2002, Lecture Notes in Computer Science.

[12]  Fabrice Kordon,et al.  Formal Methods for Embedded Distributed Systems , 2004, Springer US.

[13]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

[14]  David de Frutos-Escrig,et al.  Formal Techniques for Networked and Distributed Systems – FORTE 2004 , 2004, Lecture Notes in Computer Science.

[15]  R. Milner,et al.  Bigraphical Reactive Systems , 2001, CONCUR.

[16]  Marco Pistore,et al.  Nusmv version 2: an opensource tool for symbolic model checking , 2002, CAV 2002.

[17]  Denis Poitrenaud,et al.  A Symbolic Symbolic State Space Representation , 2004, FORTE.

[18]  Gianfranco Ciardo Reachability Set Generation for Petri Nets: Can Brute Force Be Smart? , 2004, ICATPN.

[19]  Emmanuelle Encrenaz-Tiphène,et al.  Data Decision Diagrams for Petri Net Analysis , 2002, ICATPN.

[20]  Gianfranco Ciardo,et al.  Efficient Symbolic State-Space Construction for Asynchronous Systems , 2000, ICATPN.

[21]  Wolfgang Reisig,et al.  Applications and Theory of Petri Nets 2004 , 2004, Lecture Notes in Computer Science.

[22]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.