The BDD space complexity of different forms of concurrency

Symbolic representations using binary decision diagrams (BDDs) are popular means to cope with extremely large state spaces. However, it may be the case that the BDD representation itself is prohibitively large. We consider the BDD representations of synchronous, asynchronous and interleaved processes with communication via shared variables and present upper bounds for their sizes. For this reason, we introduce a general representation strategy where a possible exponential growth of the BDD representation can only be due to the specifics of communication and/or write conflict resolution; it is never due to the number of processes or the concurrency discipline. Moreover, certain conditions on the communication and the write conflict resolution are postulated that lead to polynomial sized BDD representations.

[1]  Olivier Coudert,et al.  New ideas on symbolic manipulations of finite state machines , 1990, Proceedings., 1990 IEEE International Conference on Computer Design: VLSI in Computers and Processors.

[2]  Edmund M. Clarke,et al.  Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic , 1981, Logic of Programs.

[3]  George J. Milne,et al.  Design for Verifiability , 1989, Hardware Specification, Verification and Synthesis.

[4]  E BryantRandal Graph-Based Algorithms for Boolean Function Manipulation , 1986 .

[5]  Kenneth L. McMillan Hierarchical Representations of Discrete Functions, with Application to Model Checking , 1994, CAV.

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

[7]  Joseph Sifakis,et al.  Specification and verification of concurrent systems in CESAR , 1982, Symposium on Programming.

[8]  Randal E. Bryant,et al.  Symbolic Boolean manipulation with ordered binary-decision diagrams , 1992, CSUR.

[9]  Fabio Somenzi,et al.  CUDD: CU Decision Diagram Package Release 2.2.0 , 1998 .

[10]  Kurt Jensen,et al.  Mutual Exclusion Algorithm , 1997 .

[11]  Aarti Gupta,et al.  Formal hardware verification methods: A survey , 1992, Formal Methods Syst. Des..

[12]  Kenneth L. McMillan,et al.  Symbolic model checking: an approach to the state explosion problem , 1992 .

[13]  Randal E. Bryant,et al.  On the Complexity of VLSI Implementations and Graph Representations of Boolean Functions with Application to Integer Multiplication , 1991, IEEE Trans. Computers.

[14]  Leslie Lamport,et al.  A fast mutual exclusion algorithm , 1987, TOCS.

[15]  C. Rattray,et al.  Specification and Verification of Concurrent Systems , 1990, Workshops in Computing.

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

[17]  R. BurchJ.,et al.  Symbolic model checking , 1992 .

[18]  Robert K. Brayton,et al.  BDD Variable Ordering for Interacting Finite State Machines , 1994, 31st Design Automation Conference.

[19]  Geoffrey Brown,et al.  Hardware Specification, Verification and Synthesis: Mathematical Aspects , 1990, Lecture Notes in Computer Science.