|
ABSTRACT
Action systems provide a method to program distributed systems that emphasizes the overall behavior of the system. System behavior is described in terms of the possible interactions (actions) that the processes can engage in, rather than in terms of the sequential code that the processes execute. The actions provide a symmetric communication mechanism that permits an arbitrary number of processes to be synchronized by a common handshake. This is a generalization of the usual approach, employed in languages like CSP and Ada, in which communication is asymmetric and restricted to involve only two processes. Two different execution models are given for action systems: a sequential one and a concurrent one. The sequential model is easier to use for reasoning, and is essentially equivalent to the guarded iteration statement by Dijkstra. It is well suited for reasoning about system properties in temporal logic, but requires a stronger fairness notion than it is reasonable to assume a distributed implementation will support. The concurrent execution model reflects the true concurrency that is present in a distributed execution, and corresponds to the way in which the system is actually implemented. An efficient distributed implementation of action systems on a local area network is described. The fairness assumptions of the concurrent model can be guaranteed in this implementation. The relationship between the two execution models is studied in detail in the paper. For systems that will be called fairly serializable, the two models are shown to be equivalent. Proof methods are given for verifying this property of action systems. It is shown that for fairly serializable systems, properties that hold for any concurrent execution of the system can be established by temporal proofs that are conducted entirely within the simpler sequential execution model.
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
|
Ada Programming Language. ANSI/MIL-STD-1815A-1983.
|
 |
2
|
|
 |
3
|
|
| |
4
|
BACK, R. J. R., HARTIKAINEN, E., AND KURKI-SUONIO, R. Multi-process handshaking on broadcasting networks. In Reports in Computer Science 42, Abo Akademi, Abo, Finland, 1985.
|
 |
5
|
|
| |
6
|
BACK, R. J. R., AND KURKI-SUONIO, R. A case study in constructing distributed algorithms: Distributed exchange sort. In Proceedings of Winter School on Theoretical Computer Science (Lammi, Finland, Jan. 1984). Finnish Society of Information Processing Science, 1-33.
|
| |
7
|
BACK, R. J. R., AND KURKI-SUoNIO, R. Co-operation in distributed systems using symmetric multi-process handshaking. In Reports in Computer Science 34, Abo Akademi, Abo, Finland, 1984.
|
| |
8
|
|
| |
9
|
BAORODIA, R. On the design of high performance distributed systems. Ph.D. dissertation, Univ. of Texas, Austin, 1987.
|
 |
10
|
|
 |
11
|
|
 |
12
|
|
| |
13
|
CSMA/CD Access Method and Physical Layer Specifications. IEEE Standard 802.3, IEEE, New York, July 1983.
|
| |
14
|
|
| |
15
|
|
| |
16
|
|
 |
17
|
|
| |
18
|
EKLUND, P. Synchronizing multiple processes in common handshakes. In Reports in Computer Science 39, Abo Akademi, Abo, Finland, 1985.
|
| |
19
|
FORGY, C., AND DERMOT, M.C. OPS, a domain independent production system language. In Proceedings of Fifth International Joint Conference on Artificial Intelligence (Cambridge, Mass., Aug. 1977), Morgan Kaufmann, 1977, 933-939.
|
| |
20
|
FORMAN, I.R. Raddle, an informal introduction. Tech. Rep. STP-182-85, Microelectronics and Computer Technology Corp., Austin, Tex., 1986.
|
| |
21
|
|
 |
22
|
|
 |
23
|
Orna Grumberg , Nissim Francez , Shmuel Katz, Fair termination of communicating processes, Proceedings of the third annual ACM symposium on Principles of distributed computing, p.254-265, August 27-29, 1984, Vancouver, British Columbia, Canada
[doi> 10.1145/800222.806752]
|
 |
24
|
|
 |
25
|
|
| |
26
|
|
| |
27
|
INMOS LTD. Occam Programming Manual. Prentice-Hall, Englewood Cliffs, N.J., 1985.
|
| |
28
|
|
| |
29
|
KUIPER, R., AND DE ROEVER, W. P. Fairness assumptions for CSP in a temporal logic framework. In Formal Description of Programming Concepts--II, D. Bj~rner, Ed. North-Holland, Amsterdam, 1983, 159-167.
|
 |
30
|
|
 |
31
|
|
| |
32
|
|
| |
33
|
|
| |
34
|
|
 |
35
|
|
| |
36
|
|
| |
37
|
|
CITED BY 43
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
H.-M. Järvinen , R. Kurki-Suonio , M. Sakkinen , K. Systä, Object-oriented specification of reactive systems, Proceedings of the 12th international conference on Software engineering, p.63-71, March 26-30, 1990, Nice, France
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
REVIEW
"Steven K. Andrianoff : Reviewer"
In this paper the authors develop a model for the design of a
distributed system called an action system. This model describes
the system in terms of process interactions (“actions”) rather
than the sequential code of the cooperating
more...
|