Skip to main content

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2772))

Abstract

Bounded fairness is a stronger notion than ordinary eventuality-based fairness, one that guarantees occurrence of an event within a fixed number of occurrences of another event. We formalize bounded fairness by introducing a new family of temporal modal operators. The resultant logic is equivalent to temporal logic with the until modality, but more succinct.

This logic can be used to specify bounded fairness requirements in a more natural manner than possible with until. It can, for example, relate the frequency of shared resource access of a particular process to other processes that access the resource with mutual exclusion. As applications of bounded fairness, we verify requirements for some standard concurrent programming problems and for a new cache protocol. We also show that Dekker’s mutual exclusion algorithm is fair in the conventional sense, but not bounded fair.

Was euer booke containing such vile matter

So fairely bound?

The most excellent and lamentable tragedie, of Romeo and Iuliet

—William Shakespeare (1599)

Research supported in part by the Israel Science Foundation (grant no. 254/01).

Most of this author’s work was performed while at the University of Illinois and at The Ohio State University.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. R. Alur and T. Henzinger. Finitary fairness. ACM Transactions on Programming Languages and Systems, 20:1171–1194, 1998.

    Article  Google Scholar 

  2. M. Azimi, F. Briggs, M. Cekleov, M. Khare, A. Kumar, and L. P. Looi. Scalability port: A coherent interface for shared memory multiprocessors. In Hot Interconnects 10 — A Symposium on High Performance Interconnects, pages 65-70, August 2002.

    Google Scholar 

  3. M. Ben-Ari. Principles of Concurrent Programming. Prentice-Hall International, 1982.

    Google Scholar 

  4. J. E. Burns, M. J. Fischer, P. Jackson, N. A. Lynch, and G. L. Peterson. Shared data requirements for implementation of mutual exclusion using a test-and-set primitive. In Proc. of the International Conference on Parallel Processing, pages 79-87, 1977.

    Google Scholar 

  5. E. W. Dijkstra. Cooperating sequential processes. In F. Genuys, editor, Programming Languages, pages 43-112. Academic Press, 1968.

    Google Scholar 

  6. E. A. Emerson. Temporal and modal logic. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science, pages 996-1072. Elsevier Science, 1990.

    Google Scholar 

  7. K. Etessami and Th. Wilke. An until hierarchy and other applications of an Ehrenfeucht-Fräïssé game for temporal logic. Information and Computation, 160(1/2):88–108, July 2000.

    Article  MATH  MathSciNet  Google Scholar 

  8. R. Fagin and J. H. Williams. A fair carpool scheduling algorithm. IBM J. of Research & Development, 27(2):133–139, 1983.

    Article  Google Scholar 

  9. N. Francez. Fairness. Texts and Monographs in Computer Science. Springer-Verlag, 1986.

    Google Scholar 

  10. D. Gabbay, A. Pnueli, S. Shelah, and J. Stavi. On the temporal analysis of fairness. In Proc. Seventh Annual ACM Symp. on Prin. of Prog. Languages, pages 163-173, 1980.

    Google Scholar 

  11. H. Hansson and B. Jonsson. A framework for reasoning about time and reliability. In Proc. IEEE Real-Time Systems Symp., pages 102-111, 1989.

    Google Scholar 

  12. C. A. R. Hoare. Monitors: An operating system structuring concept. Communications of the ACM, 17(10):549–557, 1974.

    Article  MATH  Google Scholar 

  13. D. N. Jayasimha. Communication and Synchronization in Parallel Computation. PhD thesis, Department of Computer Science, University of Illinois, Urbana, IL, June 1988.

    Google Scholar 

  14. D. N. Jayasimha. Distributed synchronizers. In Proc. 17th Intl. Conf. on Parallel Processing, pages 23-27., 1988.

    Google Scholar 

  15. D. N. Jayasimha and N. Dershowitz. Bounded fairness. CSRD Report 615, Center for Supercomputing Research and Development, Univ. of Illinois, Urbana, IL, 1986.

    Google Scholar 

  16. J. A. W. Kamp. Tense Logic and the Theory of Linear Order. PhD thesis, University of California, Los Angeles, CA, 1968.

    Google Scholar 

  17. R. Koymans. Specifying real-time properties with metric temporal logic. Journal of Real-Time Systems, 2:255–299, 1990.

    Article  Google Scholar 

  18. F. Krüger. Temporal Logic of Programs, volume 8 of EATCS Monographs on Theoretical Computer Science. Springer-Verlag, Berlin, October 1987.

    Google Scholar 

  19. Z. Manna and A. Pnueli. Verification of concurrent programs: The temporal framework. In R. S. Boyer and J. S. Moore, editors, The Correctness Problem in Computer Science. Academic Press, New York, NY, 1981.

    Google Scholar 

  20. Z. Manna and A. Pnueli. Proving temporal properties: The temporal way. In Proc. 10th Colloq. on Automata, Languages, and Programming, pages 491-512, 1983.

    Google Scholar 

  21. Z. Manna and A. Pnueli. The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer-Verlag, New York, 1991.

    MATH  Google Scholar 

  22. J. S. Ostroff. Temporal Logic for Real Time Systems. Research Studies Press, 1989.

    Google Scholar 

  23. G. L. Peterson. Myths about the mutual exclusion problem. Information Processing Letters, 12(3):115–116, 1981.

    Article  MATH  Google Scholar 

  24. A. Pnueli. The temporal logic of programs. In Proc. 19th Annual IEEE Symp. on Foundations of Computer Science, pages 46-57, 1977.

    Google Scholar 

  25. A. Pnueli. The temporal semantics of concurrent programs. In Symp. on the Semantics of Concurrent Computations, volume 70 of Lecture Notes in Computer Science, pages 1-20, Berlin, 1979. Springer-Verlag.

    Google Scholar 

  26. A. Pnueli and E. Harel. Applications of temporal logic to the specification of real time systems. In Symp. on Formal Techniques in Real-Time and Fault-Tolerant Systems, volume 331 of Lecture Notes in Computer Science, pages 84-98, Berlin, 1988. Springer-Verlag.

    Google Scholar 

  27. P. Wolper. The tableau method for temporal logic: An overview. Logique et Analyse, 28:119–152, 1985.

    MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Dershowitz, N., Jayasimha, D.N., Park, S. (2003). Bounded Fairness. In: Dershowitz, N. (eds) Verification: Theory and Practice. Lecture Notes in Computer Science, vol 2772. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-39910-0_14

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-39910-0_14

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-21002-3

  • Online ISBN: 978-3-540-39910-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics