Symbolic Reachability for Process Algebras with Recursive Data Types

  • Stefan Blom
  • Jaco van de Pol
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5160)


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.


Transition Relation Reachable State Process Algebra State Space Generation Symbolic Technique 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Garavel, H., Mateescu, R., Lang, F., Serwe, W.: CADP 2006: A Toolbox for the Construction and Analysis of Distributed Processes. In: Damm, W., Hermanns, H. (eds.) CAV 2007. LNCS, vol. 4590, pp. 158–163. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  2. 2.
    Fernandez, J.C., Garavel, H., Kerbrat, A., Mounier, L., Mateescu, R., Sighireanu, M.: CADP - A Protocol Validation and Verification Toolbox. In: Alur, R., Henzinger, T.A. (eds.) CAV 1996. LNCS, vol. 1102, pp. 437–440. Springer, Heidelberg (1996)Google Scholar
  3. 3.
    Roscoe, B.: The theory and practice of concurrency. Prentice-Hall, Englewood Cliffs (amended, 1998) (2005)Google Scholar
  4. 4.
    Blom, S., Fokkink, W., Groote, J.F., van Langevelde, I., Lisser, B., van de Pol, J.: μCRL: A Toolset for Analysing Algebraic Specifications. In: Berry, G., Comon, H., Finkel, A. (eds.) CAV 2001. LNCS, vol. 2102, pp. 250–254. Springer, Heidelberg (2001)Google Scholar
  5. 5.
    Ciardo, G., Miner, A.S.: SMART: The Stochastic Model checking Analyzer for Reliability and Timing. In: QEST, pp. 338–339. IEEE Computer Society, Los Alamitos (2004)Google Scholar
  6. 6.
    Ciardo, G., Yu, A.J.: Saturation-Based Symbolic Reachability Analysis Using Conjunctive and Disjunctive Partitioning. In: Borrione, D., Paul, W. (eds.) CHARME 2005. LNCS, vol. 3725, pp. 146–161. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  7. 7.
    Kuntz, M., Siegle, M.: Deriving Symbolic Representations from Stochastic Process Algebras. In: Hermanns, H., Segala, R. (eds.) PROBMIV 2002, PAPM-PROBMIV 2002, and PAPM 2002. LNCS, vol. 2399, pp. 188–206. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  8. 8.
    Kuntz, M., Siegle, M., Werner, E.: Symbolic Performance and Dependability Evaluation with the Tool CASPA. In: Núñez, M., Maamar, Z., Pelayo, F.L., Pousttchi, K., Rubio, F. (eds.) FORTE 2004. LNCS, vol. 3236, pp. 293–307. Springer, Heidelberg (2004)Google Scholar
  9. 9.
    Ciardo, G., Marmorstein, R.M., Siminiceanu, R.: The saturation algorithm for symbolic state-space exploration. STTT 8, 4–25 (2006)CrossRefGoogle Scholar
  10. 10.
    Bryant, R.E.: On the Complexity of VLSI Implementations and Graph Representations of Boolean Functions with Application to Integer Multiplication. IEEE Trans. Computers 40, 205–213 (1991)CrossRefGoogle Scholar
  11. 11.
    Blom, S., Groote, J.F., van Langevelde, I., Lisser, B., van de Pol, J.: New developments around the μCRL tool set. In: Arts, T., Fokkink, W. (eds.) Eighth International Workshop on Formal Methods for Industrial Critical Systems (FMICS 2003). ENTCS, vol. 80 (2003)Google Scholar
  12. 12.
    Brand, M.G.J.v.d., Jong, H.A.d., Klint, P., Olivier, P.A.: Efficient Annotated Terms. Software – Practice & Experience 30, 259–291 (2000)CrossRefGoogle Scholar
  13. 13.
    Kimura, S., Clarke, E.: A parallel algorithm for constructing binary decision diagrams. Computer Design: VLSI in Computers and Processors. Proceedings. ICCD 1990, 220–223 (1990)Google Scholar
  14. 14.
    Bryant, R.E.: Graph-Based Algorithms for Boolean Function Manipulation. IEEE Trans. Computers 35, 677–691 (1986)zbMATHCrossRefGoogle Scholar
  15. 15.
    Groote, J.F., Pang, J., Wouters, A.G.: A Balancing Act: Analyzing a Distributed Lift System. In: Gnesi, S., Ultes-Nitsche, U. (eds.) Proc. 6th Workshop on Formal Methods for Industrial Critical Systems, pp. 1–12 (2001)Google Scholar
  16. 16.
    Badban, B., Fokkink, W., Groote, J.F., Pang, J., van de Pol, J.: Verification of a sliding window protocol in μCRL and PVS. Formal Aspects of Computing 17, 342–388 (2005)zbMATHCrossRefGoogle Scholar
  17. 17.
    Blom, S., Lisser, B., van de Pol, J., Weber, M.: A database approach to distributed state space generation. In: Haverkort, B., Černa, I. (eds.) Proceedings of the 6th International Workshop on Parallel and Distributed Methods in verification, vol. 198 (2007)Google Scholar
  18. 18.
    Luttik, S.: Description and formal specification of the link layer of P1394. In: Technical Report SEN-R9706, Amsterdam, The Netherlands (1997)Google Scholar
  19. 19.
    Sighireanu, M., Mateescu, R.: Verification of the Link Layer Protocol of the IEEE-1394 Serial Bus (FireWire). An Experiment with E-LOTOS. STTT 2, 68–88 (1998)zbMATHGoogle Scholar
  20. 20.
    Bakhshi, R., Fokkink, W., Pang, J., van de Pol, J.: Leader Election in Anonymous Rings: Franklin Goes Probabilistic. In: Accepted for 5th IFIP International Conference on Theoretical Computer Science (2008)Google Scholar
  21. 21.
    Franklin, W.R.: On an Improved Algorithm for Decentralized Extrema Finding in Circular Configurations of Processors. Commun. ACM 25, 336–337 (1982)CrossRefGoogle Scholar
  22. 22.
    Pang, J., Fokkink, W.J., Hofman, R.F., Veldema, R.: Model checking a cache coherence protocol of a Java DSM implementation. JLAP 71, 1–43 (2007)zbMATHMathSciNetGoogle Scholar
  23. 23.
    Weber, M.: An Embeddable Virtual Machine for State Space Generation. In: Bosnacki, D., Edelkamp, S. (eds.) SPIN 2007. LNCS, vol. 4595, pp. 168–186. Springer, Heidelberg (2007)Google Scholar
  24. 24.
    Holzmann, G.J.: The SPIN Model Checker: Primer and Reference Manual. Addison-Wesley, Reading (2003)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Stefan Blom
    • 1
  • Jaco van de Pol
    • 1
  1. 1.Formal Methods and Tools, Department of Computer ScienceUniversity of TwenteEnschedeThe Netherlands

Personalised recommendations