Distributed state space minimization

Regular contribution

Abstract

We present a new algorithm, and its distributed implementation, for reducing labeled transition systems modulo strong bisimulation. The base of this algorithm is the Kanellakis–Smolka “naive method”, which has a high theoretical complexity but is successful in practice and well suited to parallelization. This basic approach is combined with optimizations inspired by the Kanellakis–Smolka algorithm for the case of bounded fanout, which has the best known time complexity. The distributed implementation is improved with respect to previous attempts by a better overlap between communication and computation, which results in an efficient usage of both memory and processing power. We also discuss the time complexity of this algorithm and show experimental results with sequential and distributed prototype tools.

Keywords

Distributed verification Bisimulation equivalence 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    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–216Google Scholar
  2. 2.
    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–231Google Scholar
  3. 3.
    Berry G, Comon H, Finkel A (eds) (2001) Proceedings CAV’01. Lecture notes in computer science, vol 2102. Springer, Berlin Heidelberg New YorkGoogle Scholar
  4. 4.
    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–254Google Scholar
  5. 5.
    Blom SCC, Orzan SM (2002) A distributed algorithm for strong bisimulation reduction of state spaces. In: Proceedings PDMC’02. Electronic notes in theoretical computer science, vol 68Google Scholar
  6. 6.
    CWI/SEN2, INRIA/VASY. The VLTS benchmark. http://www.inrialpes.fr/vasy/cadp/resources/benchmark_bcg.htmlGoogle Scholar
  7. 7.
    Fernandez J-C, Mounier L (1990) Verifying bisimulations “on the fly”. In: Proceedings FORTE’90Google Scholar
  8. 8.
    Garavel H, Mounier L (1997) Specification and verification of various distributed leader election algorithms for unidirection ring networks. Sci Comput Programm 29(1–2):171–197Google Scholar
  9. 9.
    van Glabbeek RJ, Weijland WP (1996) Branching time and abstraction in bisimulation semantics. J ACM 43(3):555–600MathSciNetCrossRefGoogle Scholar
  10. 10.
    Groote JF, Pang J, Wouters AG (2003) Analyzing a distributed system for lifting trucks. J Logic Algebr Programm 55(1–2):21–56Google Scholar
  11. 11.
    Grumberg O, Heyman T, Schuster A (2001) Distributed symbolic model checking for μ-calculus. In: Berry G, Comon H, Finkel A (eds) [3], pp 350–362Google Scholar
  12. 12.
    Hopcroft JE (1971) An n log n algorithm for minimizing the states in a finite automaton. In: The theory of machines and computations. Academic, New York, pp 189–196Google Scholar
  13. 13.
    Joubert C, Mateescu R (2004) Distributed on-the-fly equivalence checking. In: Proceedings PDMC’04. Electronic notes in theoretical computer science (in press)Google Scholar
  14. 14.
    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–240Google Scholar
  15. 15.
    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 YorkGoogle Scholar
  16. 16.
    Leucker M, Noll T (2001) Truth/SLC – a parallel verification platform for concurrent systems. In: Berry G, Comon H, Finkel A (eds) [3], pp 255–259Google Scholar
  17. 17.
    Luttik SP (1997) Description and formal specification of the Link Layer of P1394. In: Proceedings 2nd international workshop on applied formal methods in system designGoogle Scholar
  18. 18.
    Mateescu R (2003) A generic on-the-fly solver for alternation-free boolean equation systems. In: Proceedings TACAS’01. Lecture notes in computer science, vol 2619. Springer, Berlin Heidelberg New York, pp 81–96Google Scholar
  19. 19.
    Paige R, Tarjan R (1987) Three partition refinement algorithms. SIAM J Comput 16(6):973–989MathSciNetCrossRefGoogle Scholar
  20. 20.
    Pang J, Fokkink WJ, Hofman R, Veldema R (2003) Model checking a cache coherence protocol for a Java DSM implementation. In: Proceedings FMPPTA’03Google Scholar
  21. 21.
    van de Pol JC, Valero Espada M (2003) Verification of JavaSpaces parallel programs. In: Proceedings ACSD’03, pp 196–205Google Scholar
  22. 22.
    Rajasekaran S, Lee I (1998) Parallel algorithms for relational coarsest partition problems. IEEE Trans Parallel Distrib Syst 9(7):687–699CrossRefGoogle Scholar
  23. 23.
    Romijn JMT (2001) A timed verification of the ieee 1394 leader election protocol. Formal Methods Syst Des 19(2):165–194CrossRefGoogle Scholar
  24. 24.
    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–278Google Scholar
  25. 25.
    Zhang S, Smolka SA (1993) Towards efficient parallelization of equivalence checking algorithms. In: Proceedings FORTE’92. IFIP Trans C-10:133–146Google Scholar

Copyright information

© Springer-Verlag 2005

Authors and Affiliations

  1. 1.CWIThe Netherlands
  2. 2.Eindhoven University of TechnologyThe Netherlands

Personalised recommendations