| author | Christian Urban <christian dot urban at kcl dot ac dot uk> | 
| Mon, 23 May 2016 11:21:11 +0100 | |
| changeset 443 | c9d97481953b | 
| parent 432 | 87c1ad539fc9 | 
| child 508 | 75cb87ade00f | 
| permissions | -rw-r--r-- | 
| 86 | 1 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" | 
| 2 | "http://www.w3.org/TR/REC-html40/loose.dtd"> | |
| 3 | <HEAD> | |
| 4 | <TITLE>Priority Inversion Protocol</TITLE> | |
| 5 | <BASE HREF="http://www.dcs.kcl.ac.uk/staff/urbanc/"> | |
| 6 | </HEAD> | |
| 7 | ||
| 8 | <BODY TEXT="#000000" | |
| 9 | BGCOLOR="#4169E1" | |
| 10 | LINK="#0000EF" | |
| 11 | VLINK="#51188E" | |
| 12 | ALINK="#FF0000"> | |
| 13 | ||
| 14 | <TABLE WIDTH="100%" | |
| 15 | BGCOLOR="#4169E1" | |
| 16 | BORDER="0" | |
| 17 | FRAME="border" | |
| 18 | CELLPADDING="10" | |
| 19 | CELLSPACING="2" | |
| 20 | RULES="all"> | |
| 21 | ||
| 22 | <!-- right column --> | |
| 23 | <TR> | |
| 24 | <TD BGCOLOR="#FFFFFF" WIDTH="75%"> | |
| 25 | <H2>Proving the Priority Inheritance Protocol Correct</H2> | |
| 26 | ||
| 27 | By Xingyuan Zhang, Christian Urban and Chunhan Wu | |
| 28 | <p> | |
| 29 | In real-time systems with threads, resource locking and | |
| 30 | priority scheduling, one faces the problem of Priority | |
| 31 | Inversion. This problem can make the behaviour of threads | |
| 32 | unpredictable and the resulting bugs can be hard to find. The | |
| 33 | Priority Inheritance Protocol is one solution implemented in many | |
| 34 | systems for solving this problem, but the correctness of this solution | |
| 35 | has never been formally verified in a theorem prover. As already | |
| 36 | pointed out in the literature, the original informal investigation of | |
| 37 | the Property Inheritance Protocol presents a correctness "proof" for | |
| 38 | an incorrect algorithm. In this paper we fix the problem of | |
| 39 | this proof by making all notions precise and implementing a variant of | |
| 40 | a solution proposed earlier. Our formalisation in Isabelle/HOL | |
| 41 | uncovers facts not mentioned in the literature, but also shows how to | |
| 42 | efficiently implement this protocol. Earlier correct implementations | |
| 43 | were criticised as too inefficient. Our formalisation is based on | |
| 44 | Paulson's inductive approach to verifying protocols. | |
| 45 | <BR><BR> | |
| 46 | ||
| 87 | 47 | The source code can be downloaded | 
| 432 
87c1ad539fc9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
87diff
changeset | 48 | <A HREF="http://talisker.inf.kcl.ac.uk/~urbanc/cgi-bin/repos.cgi/pip/">here</A>. | 
| 86 | 49 | <BR><BR><BR><BR> | 
| 50 | ||
| 51 | </TABLE> | |
| 432 
87c1ad539fc9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
87diff
changeset | 52 | <P> | 
| 
87c1ad539fc9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
87diff
changeset | 53 | <!-- Created: Tue Mar 4 00:23:25 GMT 1997 --> | 
| 
87c1ad539fc9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
87diff
changeset | 54 | <!-- hhmts start --> Last modified: Thu May 5 10:20:23 BST 2016 <!-- hhmts end --> | 
| 86 | 55 | <a href="http://validator.w3.org/check/referer">[Validate this page.]</a> | 
| 56 | </BODY> | |
| 57 | </HTML> |