Symbolic Reachability for Process Algebras with Recursive Data Types

In this paper, we present a symbolic reachability algorithm for process algebras with recursive data types. Like the various saturation based algorithms of Ciardo et al, the algorithm is based on partitioning of the transition relation into events whose influence is local. As new features, our algorithm supports recursive data types and allows unbounded non-determinism, which is needed to support open systems with data. The algorithm does not use any specific features of process algebras. That is, it will work for any system that consists of a fixed number of communicating processes, where in each atomic step only a subset of the processes participate. As proof of concept we have implemented the algorithm in the context of the μCRL toolset. We also compared the performance of this prototype with the performance of the existing explicit tools on a set of typical case studies.

[1]  Matthias Kuntz,et al.  Symbolic Performance and Dependability Evaluation with the Tool CASPA , 2004, FORTE Workshops.

[2]  Matthias Kuntz,et al.  Deriving Symbolic Representations from Stochastic Process Algebras , 2002, PAPM-PROBMIV.

[3]  Ernest J. H. Chang,et al.  An improved algorithm for decentralized extrema-finding in circular configurations of processes , 1979, CACM.

[4]  Andrew William Roscoe,et al.  The Theory and Practice of Concurrency , 1997 .

[5]  Jan Friso Groote,et al.  New developments around the mCRL tool set , 2003, Electron. Notes Theor. Comput. Sci..

[6]  Gerard J. Holzmann,et al.  The SPIN Model Checker - primer and reference manual , 2003 .

[7]  W. Randolph Franklin On an improved algorithm for decentralized extrema finding in circular configurations of processors , 1982, CACM.

[8]  Radu Mateescu,et al.  CADP 2006: A Toolbox for the Construction and Analysis of Distributed Processes , 2007, CAV.

[9]  Wan Fokkink,et al.  Leader Election in Anonymous Rings: Franklin Goes Probabilistic , 2008, IFIP TCS.

[10]  Gianfranco Ciardo,et al.  Saturation-Based Symbolic Reachability Analysis Using Conjunctive and Disjunctive Partitioning , 2005, CHARME.

[11]  Mihaela Sighireanu,et al.  Verification of the Link layer protocol of the IEEE-1394 serial bus (FireWire): an experiment with E-LOTOS , 1998, International Journal on Software Tools for Technology Transfer.

[12]  Gianfranco Ciardo,et al.  The saturation algorithm for symbolic state-space exploration , 2006, International Journal on Software Tools for Technology Transfer.

[13]  Alain Kerbrat,et al.  CADP - A Protocol Validation and Verification Toolbox , 1996, CAV.

[14]  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.

[15]  Edmund M. Clarke,et al.  A parallel algorithm for constructing binary decision diagrams , 1990, Proceedings., 1990 IEEE International Conference on Computer Design: VLSI in Computers and Processors.

[16]  Jan Friso Groote,et al.  Verification of a sliding window protocol in μCRL and PVS , 2005, Formal Aspects of Computing.

[17]  Gianfranco Ciardo,et al.  SMART: the stochastic model checking analyzer for reliability and timing , 2004, First International Conference on the Quantitative Evaluation of Systems, 2004. QEST 2004. Proceedings..

[18]  Manuel Núñez,et al.  Applying Formal Methods: Testing, Performance, and M/E-Commerce , 2004, Lecture Notes in Computer Science.

[19]  Mihaela Sighireanu,et al.  Regular contribution Verication of the Link layer protocol of the IEEE-1394 serial bus (FireWire): an experiment with E-LOTOS , 1998 .

[20]  S. P. Luttik Description and formal specification of the Link Layer of P1394 , 1997, FME 1997.

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

[22]  George J. Milne,et al.  Correct Hardware Design and Verification Methods , 2003, Lecture Notes in Computer Science.

[23]  Jaco van de Pol,et al.  A Database Approach to Distributed State-Space Generation , 2008, J. Log. Comput..

[24]  J. F. Groote,et al.  A balancing act : analyzing a distributed lift system , 2001 .

[25]  Jan Friso Groote,et al.  µCRL: A Toolset for Analysing Algebraic Specifications , 2001, CAV.

[26]  Paul Klint,et al.  Efficient annotated terms , 2000, Softw. Pract. Exp..

[27]  Wan Fokkink,et al.  Model checking a cache coherence protocol for a Java DSM implementation , 2003, Proceedings International Parallel and Distributed Processing Symposium.

[28]  Michael Weber,et al.  An embeddable virtual machine for state space generation , 2007, International Journal on Software Tools for Technology Transfer.