Semantics for Nondeterministic Asynchronous Broadcast Networks

We present a compositional denotational semantics for a spectrum of nondeterministic broadcast networks of processes. It is based on the real-time semantics of variants of CSP proposed in Koymans et al. (1988, Inform, and Comput.78, 210-256). We consider two classes of broadcast communications, namely, unbuffered broadcast and buffered broadcast. Unbuffered broadcast allows us to model broadcast communication structures similar to the schemes available in Ethenet. Buffered broadcast models varieties of multiprocessor architectures based on broadcast protocols. Based on the availability of buffers, immediate/delayed initiation of broadcast, we classify the buffered broadcast into (i) unbounded buffer broadcast; (ii) bounded buffer broadcast where the message is sent on only those channels that have at least one empty buffer, ignoring the rest of the channels that are full; (iii) bounded buffer broadcast where the message is sent on channels that have at least one empty buffer at that point of time and that have not yet received the message until the message is sent over all the channels; and (iv) atomic broadcast, where the broadcast is delayed until it is possible to send the message over all the channels at the same time. We show that such a classification is meaningful only for real-time models and that a maximal parallelism model provides a realistic execution model for defining the denotational semantics of broadcast networks. Basically, we use the semantic domain of prefix-closed sets of state-history pairs; it is only the structure of the communication assumptions in the histories that varies from category to category. In the semantics, properties such as reliable (or lossy) transmission and order preserving asynchronous communication medium are captured through the prefix property (or the subsequence property) of the projections of the histories of the underlying processes. The semantics provides a realistic model of the various broadcast categories and throws light on the suitability of broadcast networks for real-time programming. Further, our semantics, naturally, leads to a compositional specification-oriented proof system for broadcast networks.

[1]  K. Mani Chandy,et al.  Proofs of Networks of Processes , 1981, IEEE Transactions on Software Engineering.

[2]  Fred B. Schneider,et al.  Synchronization in Distributed Programs , 1982, TOPL.

[3]  Tomasz Müldner,et al.  On the Algorithmic Properties of Concurrent Programs , 1979, Logic of Programs.

[4]  Robert Metcalfe,et al.  Ethernet: distributed packet switching for local computer networks , 1976, CACM.

[5]  Eljas Soisalon-Soininen,et al.  Inessential Error Entries and Their Use in LR Parser Optimization , 1982, TOPL.

[6]  Jo-Mei Chang Simplifying distributed database systems design by using a broadcast network , 1984, SIGMOD '84.

[7]  Robert Metcalfe,et al.  Ethernet: distributed packet switching for local computer networks , 1988, CACM.

[8]  Willem P. de Roever,et al.  Compositional Semantics for Real-time Distributed Computing , 1985, Logic of Programs.

[9]  Bengt Jonsson,et al.  A model and proof system for asynchronous networks , 1985, PODC '85.

[10]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[11]  Amir Pnueli,et al.  A Linear-History Semantics for Languages for Distributed Programming , 1984, Theor. Comput. Sci..

[12]  Richard D. Schlichting,et al.  Using message passing for distributed programming: proof rules and disciplines , 1984, TOPL.

[13]  Narain H. Gehani,et al.  Broadcasting Sequential Processes (BSP) , 1984, IEEE Transactions on Software Engineering.

[14]  Baruch Awerbuch,et al.  "A reliable broadcast protocol" , 1982, 1982 21st IEEE Conference on Decision and Control.

[15]  Willem P. de Roever,et al.  Compositionality and Concurrent Networks: Soundness and Completeness of a Proofsystem , 1985, ICALP.

[16]  Willem P. de Roever,et al.  Full abstraction of a real-time denotational semantics for an OCCAM-like language , 1987, POPL '87.