Abstract
This paper is concerned with the use of transition systems with fairness constraints for specifying message-passing distributed systems. A distributed system is specified through the sequence of messages that can be sent and received in an execution of the system. We use fair transition systems to specify such sequences in analogy with the way finite automata are used as acceptors of finite strings. Safety properties are specified by the set of transitions of the transition system. Liveness properties are specified by the fairness constraints on the executions of the transition system. We consider two verification problems: (1) obtaining the specification of a composed system from specifications of its components, and (2) verifying that one transition system correctly refines (i.e., implements) another. For the second problem, we present existing techniques that reduce the verification problem to classical verification conditions, using a notation with guarded assignment statements. We examine conditions under which the techniques are complete. One results is a variant of a completeness theorem due to Abadi and Lamport [AL88]. Simple examples are included to illustrate the techniques.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
M. Abadi and L. Lamport. The existence of refinement mappings. In Proc. 3rd IEEE Symp. on Logic in Computer Science, Edinburgh, 1988.
B. Alpern and F.S. Schneider. Verifying temporal properties without using temporal logic. Technical Report TR 85-723, Cornell University, 1985.
B. Alpern and F.S. Schneider. Proving boolean combinations of deterministic properties. In Proc. 2nd IEEE Symp. on Logic in Computer Science, 1987.
R.J.R. Back and R. Kurki-Suonio. Distributed co-operation with action systems. Technical Report A. 56, Åbo Akademi, Dept. of Computer Science and Mathematics, 1987.
R.J.R. Back and K. Sere. Stepwise refinement of action systems. Technical Report A. 78, Åbo Akademi, Dept. of Computer Science and Mathematics, 1989.
K. M. Chandy and J. Misra. Parallel Program Design: A Foundation. Addison-Wesley, 1988.
C.A.R. Hoare. Communicating Sequential Processes. Prentice-Hall, 1985.
B. Jonsson. A model and proof system for asynchronous networks. Proc. 4:th ACM Symp. on Principles of Distributed Computing, pages 49–58, Minaki, Canada, 1985.
B. Jonsson. Compositional Verification of Distributed Systems. PhD thesis, Dept. of Computer Systems, Uppsala University, Sweden, Uppsala, Sweden, 1987. Available as report DoCS 87/09.
B. Jonsson. Modular verification of asynchronous networks. In Proc. 6th ACM Symp. on Principles of Distributed Computing, pages 152–166, Vancouver, Canada, 1987.
L. Lamport. Specifying concurrent program modules. ACM TOPLAS, 5(2):190–222, 1983.
S.S. Lam and A.U. Shankar. A relational notation for state transition systems. Technical Report TR-88-21, Dept. of Computer Sciences, University of Texas at Austin, 1988.
N. A. Lynch and M. R. Tuttle. Hierarchical correctness proofs for distributed algorithms. In Proc. 6th ACM Symp. on Principles of Distributed Computing, pages 137–151, 1987.
M. Merritt. Completeness theorems for automata. In this volume.
R. Milner. A Calculus of Communicating Systems, volume 92 of Lecture Notes of Computer Science. Springer Verlag, 1980.
R. Milner. Communication and Concurrency. Prentice-Hall, 1989.
J. Misra. Reasoning about networks of communicating processes. In INRIA Advanced Nato Study Institute on Logics and Models for Verification and Specification of Concurrent Systems, La Colle sur Loupe, France, 1984.
Z. Manna and A. Pnueli. Adequate proof principles for invariance and liveness properties of concurrent programs. Science of Computer Programming, 4(4):257–289, 1984.
Z. Manna and A. Pnueli. Specification and verification of concurrent programs by ∀-Automata. In Proc. 14th ACM Symp. on Principles of Programming Languages, pages 1–12, 1987.
Z. Manna and A. Pnueli. The anchored version of the temporal framework. In de Bakker, de Roever, and Rozenberg, editors, Linear Time, Branching Time and Partial Order in Logics and Models for Concurrency, volume 354 of Lecture Notes in Computer Science, pages 201–284. Springer Verlag, 1989.
F. Orava. Verifying safety and deadlock properties of networks of asynchronously communicating processes. In Proc. 9th IFIP WG6.1 Symp. on Protocol Specification, Testing, and Verification, Twente, Holland, 1989.
A. Pnueli. Applications of temporal logic to the specification and verification of reactive systems: A survey of corrent trends. In de Bakker, de Roever, and Rozenberg, editors, Current Trends in Concurrency, volume 224 of Lecture Notes in Computer Science, pages 510–584. Springer Verlag, 1986.
A. P. Sistla. On verifying that a concurrent program satisfies a non-deterministic specification. Technical Report TR 88-378.01.1, Computer and Intelligent Systems Lab. GTE Laboratories, May 1988.
E. W. Stark. Foundations of a Theory of Specification for Distributed Systems. PhD thesis, Massachusetts Inst. of Technology, 1984. Available as Report No. MIT/LCS/TR-342.
E. W. Stark. Proving entailment between conceptual state specifications. Theoretical Computer Science, 56:135–154, 1988.
M. Y. Vardi and P. Wolper. An automata-theoretic approach to automatic program verification. In Proc. IEEE Symp. on Logic in Computer Science, pages 332–344, June 1986.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1990 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Jonsson, B. (1990). On decomposing and refining specifications of distributed systems. In: de Bakker, J.W., de Roever, W.P., Rozenberg, G. (eds) Stepwise Refinement of Distributed Systems Models, Formalisms, Correctness. REX 1989. Lecture Notes in Computer Science, vol 430. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-52559-9_71
Download citation
DOI: https://doi.org/10.1007/3-540-52559-9_71
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-52559-2
Online ISBN: 978-3-540-47035-9
eBook Packages: Springer Book Archive