# Verification of parallel systems via decomposition

## Abstract

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* _{1}∥*p* _{2}∥ ...∥*p* _{ m } = *q* _{1} ∥*q* _{2} ∥...∥*q* _{ n } (*) where *p* _{i}and *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.

## Keywords

State Space Transition System Parallel System Parallel Composition Side Condition## Preview

Unable to display preview. Download preview PDF.

## References

- [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]A. Bouajjani, J.-C. Fernandez and N. Halbwachs. Minimal model generation. Draft, 1991.Google Scholar
- [3]J.R. Burch, E.M. Clarke, K.L. McMillan, D.L. Dill, and L.J. Hwang. Symbolic model checking 10
^{20}states and beyond. In*Proceedings 5*^{th}*Annual Symposium on Logic in Computer Science, Philadelphia, USA*, pages 428–439, 1990.Google Scholar - [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]J. Engelfriet. Determinacy → (observation equivalence = trace equivalence).
*Theoretical Computer Science*, 36(1):21–25, 1985.zbMATHMathSciNetCrossRefGoogle Scholar - [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]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]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]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]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]C.A.R. Hoare.
*Communicating Sequential Processes*. Prentice-Hall International, 1985.Google Scholar - [12]G.J. Holzmann.
*Design and Validation of Computer Protocols*. Prentice-Hall International, 1991.Google Scholar - [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]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]R. Milner.
*A Calculus of Communicating Systems*, volume 92 of*Lecture Notes in Computer Science*. Springer-Verlag, 1980.Google Scholar - [16]R. Milner.
*Communication and Concurrency*. Prentice-Hall International, 1989.Google Scholar - [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]F. Moller.
*Axioms for concurrency*. PhD thesis, Report CST-59-89, Department of Computer Science, University of Edinburgh, 1989.Google Scholar - [19]A. Rabinovich. Checking equivalences between concurrent systems of finite agents. Draft, 1991.Google Scholar