Skip to main content
Log in

A distributed algorithm for strong bisimulation reduction of state spaces

  • Special section on parallel and distributed model checking
  • Published:
International Journal on Software Tools for Technology Transfer Aims and scope Submit manuscript

Abstract

It is a known problem that state spaces can grow very large, which makes operating on them (including reducing them) difficult because of operational memory shortage. In an attempt to extend the size of the state spaces that can be dealt with, we designed and implemented a bisimulation reduction algorithm for distributed memory settings using message passing communication. By using message passing, the same implementation can be used on both clusters of workstations and large shared memory machines. The algorithm performs reduction of large labeled transition systems modulo strong bisimulation. We justify its correctness and termination and provide an evaluation of the worst-case time and message complexity and some performance data from a prototype implementation. Both theory and practice show that the algorithm scales up with the number of workstations.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Attiya H, Welch J (1998) Distributed computing: fundamentals, simulations and advanced topics. McGraw-Hill, New York

    Google Scholar 

  2. Balcazar JL, Gabarro J, Santha M (1992) Deciding bisimilarity is P-complete. Formal Aspects Comput 4(6A):638–648

    Article  Google Scholar 

  3. Barnat J, Brim L, Stříbrná J (2001) Distributed LTL model-checking in SPIN. In: Proceedings SPIN’01. Lecture notes in computer science, vol 2057. Springer, Berlin Heidelberg New York, pp 200–216

  4. Behrmann G, Hune T, Vaandrager FW (2000) Distributed timed model checking – How the search order matters. In: Proceedings CAV’00. Lecture notes in computer science, vol 1855. Springer, Berlin Heidelberg New York, pp 216–231

  5. Berry G, Comon H, Finkel A (eds) (2001) Proceedings CAV’01. Lecture notes in computer science, vol 2102. Springer, Berlin Heidelberg New York

  6. Blom SCC, Fokkink WJ, Groote JF, van Langevelde I, Lisser B, van de Pol JC (2001) μCRL: A toolset for analysing algebraic specifications. In: Proceedings CAV’01. Lecture notes in computer science, vol 2102. Springer, Berlin Heidelberg New York, pp 250–254

  7. Blom SCC, Orzan SM (2003) Distributed branching bisimulation reduction of state spaces. In: Proceedings PDMC’03. ENTCS, vol 89

  8. Bollig B, Leucker M, Weber M (2001) Parallel model checking for the alternation free μ-calculus. In: Proceedings TACAS’01. Lecture notes in computer science, vol 2031. Springer, Berlin Heidelberg New York, pp 543–558

  9. Carns PH, III Ligon WB, Ross RB, Thakur R (2000) PVFS: A parallel file system for Linux clusters. In: Proceedings 4th annual Linux showcase and conference, pp 317–327

  10. Caselli S, Conte G, Marenzoni P (2001) A distributed algorithm for GSPN reachability graph generation. J Parallel Distrib Comput 61(1):79–95

    Article  Google Scholar 

  11. Ciardo G (2001) Distributed and structured analysis approaches to study large and complex systems. In: Lectures on Formal methods and performance analysis: 1st EEF/Euro summer school on trends in computer science. Lecture notes in computer science, vol 2090. Springer, Berlin Heidelberg New York, pp 244–274

  12. CWI/SEN2, INRIA/VASY (2003) The VLTS benchmark. http://www.inrialpes.fr/vasy/cadp/resources/benchmark_bcg.html

  13. Fernandez J-C (1990) An implementation of an efficient algorithm for bisimulation equivalence. Sci Comput Programm 13(2–3):219–236

  14. Fernandez J-C, Garavel H, Kerbrat A, Mounier L, Mateescu R, Sighireanu M (1996) CADP – a protocol validation and verification toolbox. In: Proceedings CAV’96. Lecture notes in computer science, vol 1102, pp 437–440

  15. Garavel H, Mateescu R, Smarandache I (2001) Parallel state space construction for model-checking. In: Proceedings SPIN’01. Lecture notes in computer science, vol 2057. Springer, Berlin Heidelberg New York, pp 217–234

  16. Groote JF, Pang J, Wouters AG (2003) Analyzing a distributed system for lifting trucks. J Logic Algebr Programm 55(1–2):21–56

  17. Grumberg O, Heyman T, Schuster A (2001) Distributed symbolic model checking for μ-calculus. In: Berry et al. [5], pp 350–362

  18. Jeong C, Kim Y, Oh Y, Kim H (1998) A faster parallel implementation of Kanellakis-Smolka algorithm for bisimilarity checking. In: Proceedings of the international computer symposium

  19. Kanellakis PC, Smolka SA (1983) CCS expressions, finite state processes and three problems of equivalence. In: Proceedings 2nd annual ACM symposium on principles of distributed computing, pp 228–240

  20. Lerda F, Sisto R (1999) Distributed-memory model checking with SPIN. In: Proceedings SPIN’00. Lecture notes in computer science, vol 1680. Springer, Berlin Heidelberg New York

  21. Leucker M, Noll T (2001) Truth/SLC – A parallel verification platform for concurrent systems. In: Berry et al. [5], pp 255–259

  22. Luttik SP (1997) Description and formal specification of the Link Layer of P1394. In: Proceedings 2nd international workshop on applied formal methods in system design

  23. Paige R, Tarjan R (1987) Three partition refinement algorithms. SIAM J Comput 16(6):973–989

    Article  MathSciNet  Google Scholar 

  24. Pang J, Fokkink WJ, Hofman R, Veldema R (2003) Model checking a cache coherence protocol for a Java DSM implementation. In: Proceedings FMPPTA’03

  25. Rajasekaran S, Lee I (1998) Parallel algorithms for relational coarsest partition problems. IEEE Trans Parallel Distrib Syst 9(7):687–699

    Article  Google Scholar 

  26. Shankland C, van der Zwaag M (1998) The tree identify protocol of IEEE 1394 in μCRL. Formal Aspects Comput 10:509–531

    Article  Google Scholar 

  27. Stern U, Dill D (1997) Parallelizing the Murφ verifier. In: Proceedings CAV’97. Lecture notes in computer science, vol 1254. Springer, Berlin Heidelberg New York, pp 256–278

  28. Zhang S, Smolka SA (1993) Towards efficient parallelization of equivalence checking algorithms. In: Proceedings FORTE’92, IFIP Transactions, C-10 :133–146

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Stefan Blom.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Blom, S., Orzan, S. A distributed algorithm for strong bisimulation reduction of state spaces. Int J Softw Tools Technol Transfer 7, 74–86 (2005). https://doi.org/10.1007/s10009-004-0159-4

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10009-004-0159-4

Keywords

Navigation