Skip to main content

Priority Inheritance Protocol Proved Correct

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 7406))

Abstract

In real-time systems with threads, resource locking and priority scheduling, one faces the problem of Priority Inversion. This problem can make the behaviour of threads unpredictable and the resulting bugs can be hard to find. The Priority Inheritance Protocol is one solution implemented in many systems for solving this problem, but the correctness of this solution has never been formally verified in a theorem prover. As already pointed out in the literature, the original informal investigation of the Property Inheritance Protocol presents a correctness “proof” for an incorrect algorithm. In this paper we fix the problem of this proof by making all notions precise and implementing a variant of a solution proposed earlier. Our formalisation in Isabelle/HOL uncovers facts not mentioned in the literature, but also shows how to efficiently implement this protocol. Earlier correct implementations were criticised as too inefficient. Our formalisation is based on Paulson’s inductive approach to verifying protocols.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Dutertre, B.: The Priority Ceiling Protocol: Formalization and Analysis Using PVS. In: Proc. of the 21st IEEE Conference on Real-Time Systems Symposium (RTSS), pp. 151–160. IEEE Computer Society (2000)

    Google Scholar 

  2. Faria, J.M.S.: Formal Development of Solutions for Real-Time Operating Systems with TLA+/TLC. PhD thesis, University of Porto (2008)

    Google Scholar 

  3. Haftmann, F., Wenzel, M.: Local Theory Specifications in Isabelle/Isar. In: Berardi, S., Damiani, F., de’Liguoro, U. (eds.) TYPES 2008. LNCS, vol. 5497, pp. 153–168. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  4. Jahier, E., Halbwachs, N., Raymond, P.: Synchronous Modeling and Validation of Priority Inheritance Schedulers. In: Chechik, M., Wirsing, M. (eds.) FASE 2009. LNCS, vol. 5503, pp. 140–154. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  5. Lampson, B.W., Redell, D.D.: Experiences with Processes and Monitors in Mesa. Communications of the ACM 23(2), 105–117 (1980)

    Article  Google Scholar 

  6. Paulson, L.C.: ML for the Working Programmer. Cambridge University Press (1996)

    Google Scholar 

  7. Paulson, L.C.: The Inductive Approach to Verifying Cryptographic Protocols. Journal of Computer Security 6(1-2), 85–128 (1998)

    Google Scholar 

  8. Pfaff, B.: PINTOS, http://www.stanford.edu/class/cs140/projects/

  9. Reeves, G.E.: Re: What Really Happened on Mars?. Risks Forum 19(54) (1998)

    Google Scholar 

  10. Rostedt, S.: RT-Mutex Implementation Design, Linux Kernel Distribution at, http://www.kernel.org/doc/Documentation/rt-mutex-design.txt

  11. Sha, L., Rajkumar, R., Lehoczky, J.P.: Priority Inheritance Protocols: An Approach to Real-Time Synchronization. IEEE Transactions on Computers 39(9), 1175–1185 (1990)

    Article  MathSciNet  Google Scholar 

  12. Vahalia, U.: UNIX Internals: The New Frontiers. Prentice-Hall (1996)

    Google Scholar 

  13. Wang, J., Yang, H., Zhang, X.: Liveness Reasoning with Isabelle/HOL. In: Berghofer, S., Nipkow, T., Urban, C., Wenzel, M. (eds.) TPHOLs 2009. LNCS, vol. 5674, pp. 485–499. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  14. Wellings, A., Burns, A., Santos, O.M., Brosgol, B.M.: Integrating Priority Inheritance Algorithms in the Real-Time Specification for Java. In: Proc. of the 10th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC), pp. 115–123. IEEE Computer Society (2007)

    Google Scholar 

  15. Yodaiken, V.: Against Priority Inheritance. Technical report, Finite State Machine Labs (FSMLabs) (2004)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Zhang, X., Urban, C., Wu, C. (2012). Priority Inheritance Protocol Proved Correct. In: Beringer, L., Felty, A. (eds) Interactive Theorem Proving. ITP 2012. Lecture Notes in Computer Science, vol 7406. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-32347-8_15

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-32347-8_15

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-32346-1

  • Online ISBN: 978-3-642-32347-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics