Hierarchical Decision Diagrams to Exploit Model Structure [chapter]

Jean-Michel Couvreur, Yann Thierry-Mieg
2005 Lecture Notes in Computer Science  
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]
more » ... e a directed acyclic graph structure that manipulates(a priori unbounded) integer domain variables, and which o«ers 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 e«ect 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 diAEcult for plain BDD representations.
doi:10.1007/11562436_32 fatcat:ze6tucdczvff3g3p7rrfchkzna