Distributed Computing

, Volume 2, Issue 4, pp 226–241 | Cite as

Appraising fairness in languages for distributed programming

  • Krzysztof R. Apt
  • Nissim Francez
  • Shmuel Katz


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.

Key words

Fairness Distributed computing Communication Partial order semantics Semantic criteria 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [ABC] Apt KR, Bougé L, Clermont P (1987/88) Two normal form theorems for CSP programs. Inf Proc Lett 26: 165–171Google Scholar
  2. [AFK] Apt KR, Francez N, Katz S (1987) Appraising fairness in languages for distributed programming. Proc of 14th ACM-POPL Symp, Munich, West Germany (January 1987)Google Scholar
  3. [AO] Apt KR, Olderog ER (1983) Proof rules and transformations dealing with fairness. Sci Comp Prog 3:65–100Google Scholar
  4. [AF] Attie P, Francez N (1988) Fairness and hyperfairness in multiparty interactions. MCC-STP Tech Rep (July 1987)Google Scholar
  5. [BK-S 1] Back RJ, Kurki-Suonio K (1983) Decentralization of process nets with centralized control. Proc of 2nd ACM-PODC Symp, Montreal (August 1983)Google Scholar
  6. [BK-S 2] Back RJ, Kurki-Suonio K (1985) Serializability in distributed systems with handshaking. CMU Tech Rep, pp 85–109Google Scholar
  7. [BF] Bougé L, Francez N (1988) A compositional approach to superimposition. Proc of 15th ACM-POPL Symp. San Diego, California (January 1988)Google Scholar
  8. [D] Dijkstra EW (1975) Guarded commands, nondeterminacy and formal derivation of programs. Commun ACM 18:453–467Google Scholar
  9. [DM] Degano P, Montanari U (1988) Concurrent histories, a basis for observing distributed systems (to appear in J Comp Syst Sci)Google Scholar
  10. [Fo] Forman I (1986) On the design of large distributed systems. Proc of Int Conf on Comp Lang, Miami Beach, Florida (October 1986)Google Scholar
  11. [Fr] Francez N (1986) Fairness. In: Gries D (ed) Texts and monographs in computer science series. Springer, New YorkGoogle Scholar
  12. [FdR] Francez N, de Roever WP (1980) Fairness in communicating processes (unpublished memo) Computer Science Department, Utrecht University (July 1980)Google Scholar
  13. [FK] Francez N, Katz S (1988) Fairness and the axioms of control predicates. To appear in Int J Parallel ProgrammingGoogle Scholar
  14. [GdR] Gerth RT, de Roever WP (1984) A proof system for concurrent Ada programs. Science of Computer Programming, vol 4, no 2, pp 159–204Google Scholar
  15. [GFK 1] Grumberg O, Francez N, Katz S (1986) A complete rule for equifair termination. J Comp Syst Sci 33:313–332Google Scholar
  16. [GFK 2] Grumberg O, Francez N, Katz S (1984) Fair termination of communicating processes. Proc of 3rd ACM-PODC Symp, Vancouver (August 1984)Google Scholar
  17. [GFMdR] Grumberg O, Francez N, Makowsky J, de Roever WP (1985) A proof rule for fair termination of guarded commands. Inf Control 66:83–102Google Scholar
  18. [H] Hoare CAR (1978) Communicating sequential processes Commun ACM 21:666–677Google Scholar
  19. [HLP] Hennessey W, Wei-Li, Plotkin GD (1983) Semantics for Ada tasks. In: Björner D (ed) Proceedings of TC.2 Working Conference on the Formal Description of Programming Concepts, Garmisch Partenkirchen. North HollandGoogle Scholar
  20. [K] Katz S (1987) A superimposition control construct for distributed systems. MCC-STP Tech Rep STP-268-87Google Scholar
  21. [KP] Katz S, Peled D (1987) Interleaving set temporal logic. Proc of 6th ACM-PODC Symp, Vancouver, Canada (August 1987)Google Scholar
  22. [KdR] Kuiper R, de Roever WP (1983) Fairness assumptions for CSP in a temporal logic framework. In: Björner D (ed) Proceedings of TC.2 Working Conference on the Formal Description of Programming Concepts, Garmisch Partenkirchen, North HollandGoogle Scholar
  23. [L 1] Lamport L (1978) Time, clocks, and the ordering of events. Commun ACM 21: 558–566Google Scholar
  24. [L 2] Lamport L (1983) What good is temporal logic? Proc of 9th IFIP Cong, Paris, France (September 1983)Google Scholar
  25. [LPS] Lehmann D, Pnueli A, Stavi J (1981) Impartiality, justice, and fairness: the ethics of concurrent termination. In: Kariv O, Even S (eds)] Proc of 8th ICALP, Acco, Israel (July 1981) LNCS 115. Springer Berlin Heidelberg New York, pp 264–277Google Scholar
  26. [OA] Olderog ER, Apt KR. (1988) Fairness in parallel programs, the transformational approach (to appear in ACM Toplas)Google Scholar
  27. [OL] Owicki SS, Lamport L (1982) Proving liveness properties of concurrent programs. ACM Trans Prog Lang Syst 4(3):455–495Google Scholar
  28. [P] Plotkin GD (1983) An operational semantics for CSP. In: Björner D (ed) Proceedings of TC.2 Working Conference on the Formal Description of Programming Concepts, Garmisch Partenkirchen. North HollandGoogle Scholar
  29. [PdR] Pnueli A, de Roever WP (1982) Rendezvous with Ada: a proof-theoretic view. Proceedings of the AdaTec Conference, Crystal CityGoogle Scholar
  30. [R] Reisig W (1984) Partial order semantics versus interleaving semantics and its impact on fairness. Proc 11th ICALP, Antwerp, 1984Google Scholar
  31. [RS] Reif J, Spirakis P (1983) Probabilistic bidding gives optimal distributed resource allocation. Aiken Computation Lab Tech Rep, Harvard University (July 1983)Google Scholar

Copyright information

© Springer-Verlag 1988

Authors and Affiliations

  • Krzysztof R. Apt
    • 1
    • 2
  • Nissim Francez
    • 3
  • Shmuel Katz
    • 3
  1. 1.Center for Mathematics and Computer ScienceAmsterdamThe Netherlands
  2. 2.Department of Computer ScienceUniversity of Texas at AustinAustinUSA
  3. 3.Department of Computer ScienceThe TechnionHaifaIsrael

Personalised recommendations