Skip to main content

A mechanical formalization of several fairness notions

  • Papers
  • Conference paper
  • First Online:
VDM'91 Formal Software Development Methods (VDM 1991)

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

Included in the following conference series:

  • 116 Accesses

Abstract

Fairness abstractions are useful for reasoning about computations of nondeterministic programs. This paper presents proof rules for reasoning about three fairness notions and one safety assumption with an automated theorem prover. These proof rules have been integrated into a mechanization of the Unity logic [8,9] and are suitable for the mechanical verification of concurrent programs. Mechanical verification provides greater trust in the correctness of a proof.

The three fairness notions presented here are unconditional, weak, and strong fairness [6]. The safety assumption is deadlock freedom which guarantees that no deadlock occurs during the computation. These abstractions are demonstrated by the mechanically verified proof of a dining philosopher's program, also discussed here.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. R.J.R. Back and J. von Wright. Refinement Concepts Formalized in Higher Order Logic. In M. Broy and C. B. Jones (editors), Programming Concepts and Methods. North Holland, Amsterdam, 1990.

    Google Scholar 

  2. R. S. Boyer and J. S. Moore. A Computational Logic Handbook. Academic Press, Boston, 1988.

    Google Scholar 

  3. R.S. Boyer, D. Goldschlag, M. Kaufmann, J. S. Moore. Functional Instantiation in First Order Logic. Technical Report 44, Computational Logic, Inc., 1717 West Sixth Street, Suite 290 Austin, TX 78703, May, 1989. Published in proceedings of the 1989 Workshop on Programming Logic, Programming Methodology Group, University of Goteborg, West Germany.

    Google Scholar 

  4. Albert Camilleri. Reasoning in CSP via the HOL Theorem Prover. IEEE Transactions on Software Engineering SE-16, September, 1990.

    Google Scholar 

  5. K. Mani Chandy and Jayadev Misra. Parallel Program Design: A Foundation. Addison Wesley, Massachusetts, 1988.

    Google Scholar 

  6. Nissim Francez. Fairness. Springer-Verlag, New York, 1986.

    Google Scholar 

  7. S.J. Garland, J.V. Guttag, J.J. Horning. Debugging Larch Shared Language Specifications. IEEE Transactions on Software Engineering SE-16(9), September, 1990.

    Google Scholar 

  8. David M. Goldschlag. Mechanizing Unity. In M. Broy and C. B. Jones (editors), Programming Concepts and Methods. North Holland, Amsterdam, 1990.

    Google Scholar 

  9. David M. Goldschlag. Mechanically Verifying Concurrent Programs with the Boyer-Moore Prover. IEEE Transactions on Software Engineering SE-16(9), September, 1990.

    Google Scholar 

  10. M. Kaufmann. A User's Manual for an Interactive Enhancement to the Boyer-Moore Theorem Prover. Technical Report ICSCA-CMP-60, Institute for Computing Science, University of Texas at Austin, Austin, TX 78712, 1987. Also available through Computational Logic, Inc., Suite 290, 1717 West Sixth Street, Austin, TX 78703.

    Google Scholar 

  11. Matt Kaufmann. DEFN-SK: An Extension of the Boyer-Moore Theorem Prover to Handle FirstOrder Quantifiers. Technical Report 43, Computational Logic, Inc., May, 1989. Draft.

    Google Scholar 

  12. Leslie Lamport. A Temporal Logic of Actions. Technical Report Research Report 57, DEC Systems Research Center, 130 Lytton Avenue, Palo Alto, CA 94301, April, 1990.

    Google Scholar 

  13. Zohar Manna and Amir Pnueli. Adequate Proof Principles for Invariance and Liveness Properties of Concurrent Programs. Science of Computer Programming 4:257–289, 1984.

    Google Scholar 

  14. Jayadev Misra. Auxiliary Variables. Technical Report Notes on UNITY: 15-90, Department of Computer Sciences, The University of Texas at Austin, July, 1990.

    Google Scholar 

  15. David M. Russinoff. Verifying Concurrent Programs with the Boyer-Moore Prover. Technical Report Forthcoming, MCC, Austin, Texas, 1990.

    Google Scholar 

  16. S. Sokolowski. Soundness of Hoare's Logic: an Automatic Proof Using LCF. TOPLAS 9:100–120, 1987.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

S. Prehn W. J. Toetenel

Rights and permissions

Reprints and permissions

Copyright information

© 1991 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Goldschlag, D.M. (1991). A mechanical formalization of several fairness notions. In: Prehn, S., Toetenel, W.J. (eds) VDM'91 Formal Software Development Methods. VDM 1991. Lecture Notes in Computer Science, vol 551. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-54834-3_10

Download citation

  • DOI: https://doi.org/10.1007/3-540-54834-3_10

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-54834-8

  • Online ISBN: 978-3-540-46449-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics