Efficient verification of determinate processes
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 n1 states and m1 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+m1+n1 log n1) and space complexity O(m+n+m1+n1); 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.
KeywordsTime Complexity Equivalence Relation Space Complexity Determinate System Label Transition System
Unable to display preview. Download preview PDF.
- [AHU74]A. V. Aho, J. E. Hopcroft, and J. D. Ullman. The Design and Analysis of Computer Algorithms. Addison-Wesley, 1974.Google Scholar
- [CW87]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
- [dSV89]R. de Simone and D. Vergamini. Aboard AUTO. Technical Report 111, INRIA, Centre Sophia-Antipolis, Valbonne Cedex, 1989.Google Scholar
- [Eng85]J. Engelfriet. Determinacy → (observational equivalence = trace equivalence). Theoretical Computer Science, 36:21–25, 1985.Google Scholar
- [Fer89]J. Fernandez. An Implementation of an Efficient Algorithm for Bisimulation Equivalence. Technical Report, LGI-IMAG, Genoble, 1989.Google Scholar
- [FM90]J. C. Fernandez and Laurent Mounier. Verifying bisimulations “on the fly”. In Proceedings of FORTE'90, 1990.Google Scholar
- [GV90]Jan Friso Groote and Frits Vaandrager. An efficient algorithm for branching bisimulation and stuttering equivalence. In Proceedings of ICALP 90, 1990.Google Scholar
- [Hop71]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
- [KS83]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
- [Mil80]R. Milner. Calculus for communicating systems. In LNCS 92, Springer Verlag, 1980.Google Scholar
- [Mil88]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
- [Mil89]R. Milner. Communication and Concurrency. Prentice-Hall International, 1989.Google Scholar
- [Mou91]Laurent Mounier. Private communication. 1991.Google Scholar
- [PT87]R. Paige and R. Tarjan. Three partition refinement algorithms. SIAM Journal on Computing, 16(6):973–989, 1987.Google Scholar
- [Qin91]H. Qin. Automated Design and Verification of Concurrent Systems. PhD thesis, State University of New York at Stony Brook, 1991. (in preparation).Google Scholar
- [Tar72]R. E. Tarjan. Depth first search and linear graph algorithms. SIAM J. Computing, 1(2):146–160, 1972.Google Scholar
- [vGW89]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