|
ABSTRACT
We present a method for specification and verification of distributed systems that communicate via asynchronous message passing. The method handles both safety and liveness properties. It is compositional, i.e., a specification of a composite system can be obtained from specifications of its components. Specifications are given as labeled transition systems with fairness properties, using a program-like notation with guarded multiple assignments. Compositionality is attained by partitioning the labels of a transition system into input events, which intuitively denote message receptions, and output events, which intuitively denote message transmissions. A specification denotes a set of allowed sequences of message transmissions and receptions, in analogy with the way finite automata are used as acceptors of finite strings. A lower-level specification implements a higher-level one. We present a verification technique which reduces the problem of verifying the correctness of an implementation to classical verification conditions. Safety properties are verified by establishing a simulation relation between transition systems. Liveness properties are verified using methods for proving termination under fairness assumptions. Since specifications can be given at various levels of abstraction, the method is suitable in a development process where a detailed implementation is developed from an abstract specification through a sequence of refinement steps. As an application of the method, an algorithm by Thomas for updating a distributed database is specified and verified.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
 |
2
|
|
| |
3
|
~ALPERN, B., AND SCHNEIDER, F.B. 1987. Proving boolean combinations of deterministic proper- ~ties. In Proceedings of the 2nd IEEE International Symposium on Logic in Computer Science. ~IEEE, New York.
|
| |
4
|
|
 |
5
|
|
| |
6
|
~BACK, R. J. R., AND SERE, K. 1991. Stepwlse refinement of action systems. Struct. Program. ~12, 17-30.
|
| |
7
|
|
| |
8
|
|
| |
9
|
|
| |
10
|
~FLOYD, R. 1967. Assigning meanings to programs. In Proceedzngs of the ACM Symposium on ~Applied Mathematics, vol. 19. ACM, New York, 19-32.
|
| |
11
|
|
| |
12
|
|
| |
13
|
|
 |
14
|
|
| |
15
|
|
| |
16
|
|
| |
17
|
~JONSSON, B. 1987. Compositional verification of distributed systems. Ph.D. thes~s, Dept. of ~Computer Systems, Uppsala Univ, Uppsala, Sweden.
|
 |
18
|
|
| |
19
|
|
| |
20
|
~LAM, S. S., AND SHANKAR, A.U. 1984. Protocol verification via projections IEEE Trans. Softw. ~Eng. SE-IO, 4 (July), 325-342.
|
| |
21
|
~LAMPORT, L. 1991 The temporal logic of actions. Tech. Rep., DEC/SRC.
|
 |
22
|
|
 |
23
|
|
| |
24
|
|
 |
25
|
|
| |
26
|
|
| |
27
|
|
 |
28
|
|
| |
29
|
|
| |
30
|
|
| |
31
|
~MISRA, J. 1984. Reasoning about networks of communicating processes, in Proceedings of the ~INRIA Advanced Nato Study Institute on Logics and Models for Verification and Specification ~of Concurrent Systems.
|
| |
32
|
~MISRA, J., AND CHANDY, K.M. 1981. Proofs of networks of processes. IEEE Trans. Softw. Eng. ~SE-7, 4, (July), 417-426.
|
| |
33
|
|
| |
34
|
|
| |
35
|
|
 |
36
|
|
| |
37
|
|
| |
38
|
|
| |
39
|
~STARK, E.W. 1984. Foundations of a theory of specification for distributed systems. Ph.D. ~thesis, Massachussetts Inst. of Technology, Cambridge, Mass.
|
 |
40
|
|
| |
41
|
~VARDI, M. Y., AND WOLPER, P. 1986. An automata-theoretic approach to automatic program ~verification. In Proceedings of the 1st IEEE International Symposium on Logic in Computer ~Science. IEEE, New York, 332-344.
|
| |
42
|
|
| |
43
|
|
REVIEW
"Richard John Botting : Reviewer"
Jonsson proves important results about distributed systems where
each part has sole control of its outputs. All researchers and students
interested in this area should read this paper and then compare
Jonsson's theory with Lam and Shankar's [1
more...
|