Skip to main content

Efficient verification of determinate processes

  • Selected Presentations
  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 527))

Abstract

Determinacy, or predictability, is often demanded from engineered concurrent systems. In this paper we use labeled transition systems to express the specifications and implementations of concurrent systems, and present three efficient algorithms (1) to determine if a process P has determinacy property as defined by Robin Milner; (2) to verify whether an implementation process P is observationally equivalent to a determinate specification process S; and (3) to compute the equivalence classes of determinate process P under observational equivalence. We deal only with finite state processes in this paper.

Suppose P has n states and m transitions, and S has n 1 states and m 1 transitions. The first algorithm has time complexity O(m+n log n) and space complexity O(m+n); the second algorithm has time complexity O(m+n+m 1+n 1 log n 1) and space complexity O(m+n+m 1+n 1); and the third algorithm has time complexity O(m+n log n) and space complexity O(m+n). Empirical results are presented comparing the algorithms in practice with similar algorithms implemented in other tools.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A. V. Aho, J. E. Hopcroft, and J. D. Ullman. The Design and Analysis of Computer Algorithms. Addison-Wesley, 1974.

    Google Scholar 

  2. D. Coppersmith and S. Winograd. Matrix multiplication via arithmic progressions. In Proceedings 19th ACM Symposium on Theory of Computing, pages 1–6, New York City, NY, 1987.

    Google Scholar 

  3. R. de Simone and D. Vergamini. Aboard AUTO. Technical Report 111, INRIA, Centre Sophia-Antipolis, Valbonne Cedex, 1989.

    Google Scholar 

  4. J. Engelfriet. Determinacy → (observational equivalence = trace equivalence). Theoretical Computer Science, 36:21–25, 1985.

    Google Scholar 

  5. J. Fernandez. An Implementation of an Efficient Algorithm for Bisimulation Equivalence. Technical Report, LGI-IMAG, Genoble, 1989.

    Google Scholar 

  6. J. C. Fernandez and Laurent Mounier. Verifying bisimulations “on the fly”. In Proceedings of FORTE'90, 1990.

    Google Scholar 

  7. Jan Friso Groote and Frits Vaandrager. An efficient algorithm for branching bisimulation and stuttering equivalence. In Proceedings of ICALP 90, 1990.

    Google Scholar 

  8. J. E. Hopcroft. An n log n algorithm for minimizing states in a finite automata. In Z. Kohavi and A. Paz, editors, The of Machines and Computations, pages 189–196, Academic Press, New York, 1971.

    Google Scholar 

  9. P.C. Kanellakis and S.A. Smolka. CCS expressions, finite state processes, and three problems of equivalence. In the Second Annual ACM Symposium on Principles of Distributed Computing, pages 228–240, Aug. 1983.

    Google Scholar 

  10. R. Milner. Calculus for communicating systems. In LNCS 92, Springer Verlag, 1980.

    Google Scholar 

  11. R. Milner. Operational and Algebraic Semantics of Concurrent Processes. Technical Report ECS-LFCS-88-46, Laboratory for Foundations of Computer Science, Univ. of Edinburgh, Feb. 1988.

    Google Scholar 

  12. R. Milner. Communication and Concurrency. Prentice-Hall International, 1989.

    Google Scholar 

  13. Laurent Mounier. Private communication. 1991.

    Google Scholar 

  14. R. Paige and R. Tarjan. Three partition refinement algorithms. SIAM Journal on Computing, 16(6):973–989, 1987.

    Google Scholar 

  15. H. Qin. Automated Design and Verification of Concurrent Systems. PhD thesis, State University of New York at Stony Brook, 1991. (in preparation).

    Google Scholar 

  16. R. E. Tarjan. Depth first search and linear graph algorithms. SIAM J. Computing, 1(2):146–160, 1972.

    Google Scholar 

  17. R. J. van Glabbeek and W. P. Weijland. Branching time and abstraction in bisimulation semantics (extended abstract). In G.X Ritter, editor, Information Processing 89, pages 613–618, Elsevier Science Publishers B.V., North Holland, 1989.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Jos C. M. Baeten Jan Frisco Groote

Rights and permissions

Reprints and permissions

Copyright information

© 1991 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Qin, H. (1991). Efficient verification of determinate processes. In: Baeten, J.C.M., Groote, J.F. (eds) CONCUR '91. CONCUR 1991. Lecture Notes in Computer Science, vol 527. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-54430-5_107

Download citation

  • DOI: https://doi.org/10.1007/3-540-54430-5_107

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-54430-2

  • Online ISBN: 978-3-540-38357-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics