Verification of parallel systems via decomposition

  • Jan Friso Groote
  • Faron Moller
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 630)


Recently, Milner and Moller have presented several decomposition results for processes. Inspired by these, we investigate decomposition techniques for the verification of parallel systems. In particular, we consider those of the form p 1p 2∥ ...∥p m = q 1q 2 ∥...∥q n (*) where p iand q j are (finite-) state systems, and ∥denotes parallel composition. We provide a decomposition procedure for all p i and q j and give criteria that must be checked on the decomposed processes to see whether (*) does or does not hold. We analyse the complexity of our procedure and show that it is polynomial in n, m and the sizes of p i and q j if there is no communication. We also show that with communication the verification of (*) is co-NP hard, which makes it very unlikely that a polynomial complexity bound exists. But by applying our decomposition technique to Milner's cyclic scheduler we show that verification can become polynomial in space and time for practical examples, where standard techniques are exponential.


State Space Transition System Parallel System Parallel Composition Side Condition 
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]
    J.C.M. Baeten and W.P. Weijland. Process Algebra. Cambridge Tracts in Theoretical Computer Science 18. Cambridge University Press, 1990.Google Scholar
  2. [2]
    A. Bouajjani, J.-C. Fernandez and N. Halbwachs. Minimal model generation. Draft, 1991.Google Scholar
  3. [3]
    J.R. Burch, E.M. Clarke, K.L. McMillan, D.L. Dill, and L.J. Hwang. Symbolic model checking 1020 states and beyond. In Proceedings 5 th Annual Symposium on Logic in Computer Science, Philadelphia, USA, pages 428–439, 1990.Google Scholar
  4. [4]
    S.A. Cook. The complexity of theorem-proving procedures. In Proceedings of the 3 rd Annual ACM Symposium on Theory of Computing, Shaker Heights, Ohio, pages 151–158, 1971.Google Scholar
  5. [5]
    J. Engelfriet. Determinacy → (observation equivalence = trace equivalence). Theoretical Computer Science, 36(1):21–25, 1985.zbMATHMathSciNetCrossRefGoogle Scholar
  6. [6]
    J.-C. Fernandez. An implementation of an efficient algorithm for bisimulation equivalence. Science of Computer Programming, 13:219–236, 1989/1990.CrossRefGoogle Scholar
  7. [7]
    J.-C. Fernandez and L. Mounier. “On the fly” verification of behavioural equivalences and preorders. In K.G. Larsen, editors, Proceedings CAV'91, Aalborg, pages 238–250. 1991.Google Scholar
  8. [8]
    R.J. van Glabbeek. The linear time — branching time spectrum. In J.C.M. Baeten and J.W. Klop, editors, Proceedings CONCUR '90, Amsterdam, volume 458 of Lecture Notes in Computer Science, pages 278–297. Springer-Verlag, 1990.Google Scholar
  9. [9]
    J.F. Groote and F.W. Vaandrager. Structured operational semantics and bisimulation as a congruence (extended abstract). In G. Ausiello, M. Dezani-Ciancaglini, and S. Ronchi Della Rocca, editors, Proceedings 16 th ICALP, Stresa, volume 372 of Lecture Notes in Computer Science, pages 423–438. Springer-Verlag, 1989. Full version to appear in Information and Computation.Google Scholar
  10. [10]
    J.F. Groote and F.W. Vaandrager. An efficient algorithm for branching bisimulation and stuttering equivalence. In M.S. Paterson, editor, Proceedings 17 th ICALP, Warwick, volume 443 of Lecture Notes in Computer Science, pages 626–638. Springer-Verlag, 1990.Google Scholar
  11. [11]
    C.A.R. Hoare. Communicating Sequential Processes. Prentice-Hall International, 1985.Google Scholar
  12. [12]
    G.J. Holzmann. Design and Validation of Computer Protocols. Prentice-Hall International, 1991.Google Scholar
  13. [13]
    H. Qin. Efficient verification of determinate processes. In J.C.M. Baeten and J.F. Groote, editors, Proceedings CONCUR'91, Amsterdam, volume 527 of Lecture Notes in Computer Science, pages 471–494. Springer-Verlag, 1991.Google Scholar
  14. [14]
    P.C. Kanellakis and S.A. Smolka. CCS expressions, finite-state processes, and three problems of equivalence. Information and Compulation, 86:43–68, 1990.zbMATHMathSciNetCrossRefGoogle Scholar
  15. [15]
    R. Milner. A Calculus of Communicating Systems, volume 92 of Lecture Notes in Computer Science. Springer-Verlag, 1980.Google Scholar
  16. [16]
    R. Milner. Communication and Concurrency. Prentice-Hall International, 1989.Google Scholar
  17. [17]
    R. Milner and F. Moller. Unique decomposition of processes. Bulletin of the European Association for Theoretical Computer Science, 41:226–232, 1990.zbMATHGoogle Scholar
  18. [18]
    F. Moller. Axioms for concurrency. PhD thesis, Report CST-59-89, Department of Computer Science, University of Edinburgh, 1989.Google Scholar
  19. [19]
    A. Rabinovich. Checking equivalences between concurrent systems of finite agents. Draft, 1991.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1992

Authors and Affiliations

  • Jan Friso Groote
    • 1
  • Faron Moller
    • 2
  1. 1.CWIAmsterdam
  2. 2.Dept of Computer ScienceUniversity of EdinburghEdinburghScotland

Personalised recommendations