skip to main content
article
Free Access

Reasoning about systems with many processes

Published:01 July 1992Publication History
Skip Abstract Section

Abstract

Methods are given for automatically verifying temporal properties of concurrent systems containing an arbitrary number of finite-state processes that communicate using CCS actions. TWo models of systems are considered. Systems in the first model consist of a unique control process and an arbitrary number of user processes with identical definitions. For this model, a decision procedure to check whether all the executions of a process satisfy a given specification is presented. This algorithm runs in time double exponential in the sizes of the control and the user process definitions. It is also proven that it is decidable whether all the fair executions of a process satisfy a given specification. The second model is a special case of the first. In this model, all the processes have identical definitions. For this model, an efficient decision procedure is presented that checks if every execution of a process satisfies a given temporal logic specification. This algorithm runs in time polynomial in the size of the process definition. It is shown how to verify certain global properties such as mutual exclusion and absence of deadlocks. Finally, it is shown how these decision procedures can be used to reason about certain systems with a communication network.

References

  1. 1 APT, K. R., AND KOZEN, D. Limits to automatic program verification. Inf. Proc. Lett. 22, 6 (1986), 307- 309. Google ScholarGoogle Scholar
  2. 2 CLARKE, E. M., EMERSON, E. A., AND SISTLA, A. P. Automatic verification of finite state concurrent programs from temporal specifications. A CM Trans. Prog. Lang. Syst. 8, 2 (Apr. 1986), 244-263. Google ScholarGoogle Scholar
  3. 3 CLARKE, E. M., AND GRt:MBURG, O. Avoiding the state explosion problem in temporal logic model checking algorithms. In Proceedings of 6th A CM Symposium on Principles of Distributed Computing (Vancouver, B.C., Canada, Aug. 10-12). ACM, New York, 1987, pp. 294-303. Google ScholarGoogle Scholar
  4. 4 CLARKE, E. M., GRUMBERG, O., AND BROWNE, M. Reasoning about networks with many identical finite state processes. In Proceedings of 5th A CM Symposium on Principles of Distributed Computing (Aug.). ACM, New York, 1986, pp. 240-248. Google ScholarGoogle Scholar
  5. 5 EMERSON, E. A., AND LEI, C.L. Modalities for model checking: Branching time strikes back. in Proceedings of 12th A CM Symposium on Principles of Programming Languages (New Orleans, La., Jan. 14-16). ACM, New York, 1985, pp. 84-96. Google ScholarGoogle Scholar
  6. 6 EMERSON, E. A., AND SISTLA, A. P. Deciding full branching time logic. Inf. Cont. 61, 3 (June 1984 ), 175 - 201.Google ScholarGoogle Scholar
  7. 7 HALPERN, J., AND VARDI, M. The complexity of reasoning about knowledge and time. In Proceedings of the 18th A CM SIGACT Symposium on Theory of Computing (Berkeley, Calif., May 28-30). ACM, New York, 1986, pp. 304-315. Google ScholarGoogle Scholar
  8. 8 HOPCROFT, J. E., AND ULLMAN, J.D. Introduction to Automata Theory, Languages, and Computation. Addison-Wesley, Reading, Mass., 1979. Google ScholarGoogle Scholar
  9. 9 KANELLAKIS, P. C., AND SMOLKA, S. A. On the analysis of cooperation and antagonasm in networks of communicating processes. In Proceedings of 4th A CM Symposium on Principles of Distributed Computing (Minaki, Ont., Canada, Aug. 5-7). ACM, New York, 1985, pp. 23-38. Google ScholarGoogle Scholar
  10. 10 KARMARKAR, N. A new polynomial time algorithm for linear programming. In Proceedings of the 16th ACM Symposium on Theory of Computing (Washington, D.C., Apr. 30-May 2). ACM, New York, 1984, pp. 302-311. Google ScholarGoogle Scholar
  11. 11 KARP, R., AND MILLER, R. Parallel program schemata. J. Comput. Syst. Sci. 3, 4 (May I969), 167-195. Google ScholarGoogle Scholar
  12. 12 KOSARAJU, S.R. Decidability of reachability in vector addition systems. In Proceedings of 14th A CM Symposmm on Theory of Computing (San Fransico, Calif., May 5-7). ACM, New York, 1982, pp. 267-281. Google ScholarGoogle Scholar
  13. 13 KURSHAN, R. P., AND MCMILLAN, K. A structural induction theorem for processes. In Proceedings of 8th Annual A CM Symposium on Principles of Distributed Computing (Edmonton, Alberta, Canada, Aug. 14-16). ACM, New York, 1989, pp. 239-248. Google ScholarGoogle Scholar
  14. 14 LADNER, R.E. The complexity of problems in systems of communicating sequential processes. In Proceedmgs of 1 lth ACM Sympostum on Theory of Computing (Atlanta, Ga., Apr. 30-May 2). ACM, New York, 1979, pp. 214-222. Google ScholarGoogle Scholar
  15. 15 LFHMANN, N.D. Knowledge, common knowledge, and related puzztes. In Proceedings of the 3rd AnnuaI ACM Sympostunz on Pruzctples of Dismbuted Computing (Vancouver, B.C., Canada, Aug. 27-29). ACM, New York, 1984, pp. 62-67. Google ScholarGoogle Scholar
  16. 16 LICI-IENSTEIN, 0., AND PNUELt, A. Checking that finite-state concurrent programs satisfy their linear specification. In Proceedings of 12th ACM Annual Symposium on Prmciples of Prograrnming Languages (New Orleans, La., Jan. 14-16). ACM, New York, 1985, pp. 97-t07. Google ScholarGoogle Scholar
  17. 17 LIPTON, R. The reachabllity problem requires exponential space. Re. Rep. 62, Dept. of Computer Science, Yale Univ., January, 1976.Google ScholarGoogle Scholar
  18. 18 MANNA, Z., AND PNUELI, A. Specification and verification of concurrent programs by v-automata. In Proceedings of 14th Annual ACM Symposium on Principles of Programming Languages (Mumch, West Germany, Jan. 21-23). ACM, New York, 1987, pp. 1-12. Google ScholarGoogle Scholar
  19. 19 MAYR, E. An algorithm for the general petri net teachability problem. In Proceedings of 13th Annual ACM Symposium on Theory of Computing. (Milwaukee, Wis., May 11-13). ACM, New York, 1981, pp. 238-246. Google ScholarGoogle Scholar
  20. 20 MILNER, R. A calculus of communicating systems. In Lecture Notes in Computer Science, Vol. 92. Springer-Verlag, New York, 1980. Google ScholarGoogle Scholar
  21. 21 PAPADIMITRIOU, C. H., AND STEIGLITZ, K. Combinatorial Optimization: Algorlthms and Complexity. Prentice-Hall, Englewood Cliffs, N.J., 1982. Google ScholarGoogle Scholar
  22. 22 PET~RSON, J. Petri Net Theory and the Modeling of Systems Prentice-Hall, Englewood Cliffs, N.J., 1981. Google ScholarGoogle Scholar
  23. 23 PETRI, C. Fundamentals of a theory of asynchronous information flow. In bzformatzon Processing 62, Proceedings of the 1962 IFIP Congress. North-Holland, Amsterdam, The Netherlands, 1962, pp. 386-390.Google ScholarGoogle Scholar
  24. 24 RACKOW, C. The covering and boundedness problem for VAS. Theoret. Comput. Sci. 6 (1978) 223-231.Google ScholarGoogle Scholar
  25. 25 REIF, J., AND SISTLA, A.P. A multiprocess network logic with temporal and spatial modalities. J. Comput. Syst. Sei. 30, 1 (Feb 1985), 41-53. Google ScholarGoogle Scholar
  26. 26 ROSmR, L., AND YEN, H. A multi-parameter analysis of the boundedness problem for VAS. J. Comput. Syst. Sci. 32 (1986), 105-135. Google ScholarGoogle Scholar
  27. 27 SAVITCH, W.J. Relationship between non-deterministic and deterministic tape complexities. J. Comput. Syst. Sci. 4, 2 (1970), 177-192.Google ScholarGoogle Scholar
  28. 28 SISTLA, A. P. Theoretical issues in the design and verification of distributed systems. Ph.D. d~ssertation. Harvard Univ., Cambridge, Mass. 1983. Google ScholarGoogle Scholar
  29. 29 SrSTLA, A. P., ANY CLARKE, E.M. The complexity of propositional linear temporal logics. J. ACM 32 (1985), 733-749. Google ScholarGoogle Scholar
  30. 30 SISTLA, A. P., AND GERMAN, S.M. Reasoning with many processes. In Proceedings of the 2nd IEEE Symposium on Logic in Computer Science (June). IEEE, New York, 1987, pp. 138-152.Google ScholarGoogle Scholar
  31. 31 SISTLA, A. P., AND GERMAN, S. M. Reasoning with many processes Tech. Note. GTE Laboratories, Inc., 1987, (available on request from the authors).Google ScholarGoogle Scholar
  32. 32 SISTLA, A. P., VARDI, M., AND WOLPER, P. Complementation problem for Buchi automaton and its applications to temporal logic. Theoret. Comput. Sci. 49, 2, 3 (1987), 217-237. Google ScholarGoogle Scholar
  33. 33 VARD~, M., AND WOLPER, P. An automata theoretic approach to automatic program verification. In Proceedings of 1st IEEE Symposium on Logic in Computer Science (June). IEEE, New York, 1986.Google ScholarGoogle Scholar
  34. 34 VARDZ, M., WOLPER, P., AND SISTLA, A. P. Reasoning about infinite computation paths. I n Proceedings of the 24th IEEE Symposium on Foundations of Computer Science (Tucson, Az.). IEEE, New York, 1983, pp. 185-194.Google ScholarGoogle Scholar
  35. 35 WOLPER, P., AND LOVXNFOSSE, V. Verifying properties of large sets of processes with network invariants (preliminary Draft). In Proceedings of the Workshop on Automatic Verification Methods for Finite State Systems. Grenoble, France, June, 1989. Google ScholarGoogle Scholar

Index Terms

  1. Reasoning about systems with many processes

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Published in

          cover image Journal of the ACM
          Journal of the ACM  Volume 39, Issue 3
          July 1992
          296 pages
          ISSN:0004-5411
          EISSN:1557-735X
          DOI:10.1145/146637
          Issue’s Table of Contents

          Copyright © 1992 ACM

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 1 July 1992
          Published in jacm Volume 39, Issue 3

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader