Appraising fairness in languages for distributed programming

The relations among various languages and models for distributed computation and various possible definitions of fairness are considered. Natural semantic criteria are presented which an acceptable notion of fairness should satisfy. These are then used to demonstrate differences among the basic models, the added power of the fairness notion, and the sensitivity of the fairness notion to irrelevant semantic interleavings of independent operations. These results are used to show that from the considerable variety of commonly used possibilities, only strong process fairness is appropriate forCSP if these criteria are adopted. We also show that under these criteria, none of the commonly used notions of fairness are fully aceptable for a model with an n-way synchronization mechanism. The notion of fairness most often mentioned for Ada is shown to be fully acceptable. For a model with nonblockingsend operations, some variants of common fairness definitions are appraised, and two are shown to satisfy the suggested criteria.

[1]  Willem P. de Roever,et al.  A Proof Rule for Fair Termination of Guarded Commands , 1985, Inf. Control..

[2]  Ralph-Johan Back,et al.  Serializability in Distributed Systems with Handshaking , 1988, ICALP.

[3]  Nissim Francez,et al.  A compositional approach to superimposition , 1988, POPL '88.

[4]  Nissim Francez,et al.  Fairness and hyperfairness in multi-party interactions , 2005, Distributed Computing.

[5]  LamportLeslie Time, clocks, and the ordering of events in a distributed system , 1978 .

[6]  Ugo Montanari,et al.  Concurrent Histories: A Basis for Observing Distributed Systems , 1987, J. Comput. Syst. Sci..

[7]  Nissim Francez,et al.  Fairness and the axioms of control predicates , 1987, International Journal of Parallel Programming.

[8]  Edsger W. Dijkstra,et al.  Guarded commands, nondeterminacy and formal derivation of programs , 1975, Commun. ACM.

[9]  Leslie Lamport,et al.  Proving Liveness Properties of Concurrent Programs , 1982, TOPL.

[10]  Amir Pnueli,et al.  Impartiality, Justice and Fairness: The Ethics of Concurrent Termination , 1981, ICALP.

[11]  Paul G. Spirakis,et al.  Probabilistic Bidding Gives Optimal Distributed Resource Allocation , 1984, ICALP.

[12]  Willem P. de Roever,et al.  Fairness Assumptions for CSP in a Temporal Logic Framework , 1982, Formal Description of Programming Concepts.

[13]  Nissim Francez,et al.  Appraising fairness in languages for distributed programming , 1988, Distributed Computing.

[14]  Ernst-Rüdiger Olderog,et al.  Proof Rules and Transformations Dealing with Fairness , 1983, Sci. Comput. Program..

[15]  Amir Pnueli,et al.  Rendezvous with ADA: a proof theoretical view , 1982, AdaTEC Conference on Ada.

[16]  Gordon Plotkin,et al.  An Operational Semantics for CSP. , 1982 .

[17]  Doron A. Peled,et al.  Interleaving set temporal logic , 1987, PODC '87.

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

[19]  Nissim Francez,et al.  A Complete Rule for Equifair Termination , 1986, J. Comput. Syst. Sci..

[20]  Willem P. de Roever,et al.  A Proof System for Concurrent ADA Programs , 1984, Sci. Comput. Program..

[21]  Ernst-Rüdiger Olderog,et al.  Fairness in parallel programs: the transformational approach , 1988, TOPL.

[22]  Ralph-Johan Back,et al.  Decentralization of Process Nets with Centralized Control , 1983, PODC.

[23]  Nissim Francez,et al.  Fair termination of communicating processes , 1984, PODC '84.

[24]  Shmuel Katz,et al.  A superimposition control construct for distributed systems , 1993, TOPL.

[25]  Luc Bougé,et al.  Two Normal Form Theorems for CSP Programs , 1987, Inf. Process. Lett..

[26]  Shmuel Katz,et al.  Appraising fairness in distributed languages , 1987, POPL '87.

[27]  Wolfgang Reisig,et al.  Partial Order Semantics versus Interleaving Semantics for CSP-like Languages and its Impact on Fairness , 1984, ICALP.

[28]  Leslie Lamport,et al.  What Good is Temporal Logic? , 1983, IFIP Congress.