|
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 |
|
47 The source code can be downloaded |
|
48 <A HREF="http://www4.in.tum.de/~urbanc/cgi-bin/repos.cgi/prio">here</A>. |
|
49 <BR><BR><BR><BR> |
|
50 |
|
51 </TABLE> |
|
52 <P><!-- Created: Tue Mar 4 00:23:25 GMT 1997 --> |
|
53 <!-- hhmts start --> |
|
54 Last modified: Thu Feb 13 20:24:23 CET 2012 |
|
55 <!-- hhmts end --> |
|
56 <a href="http://validator.w3.org/check/referer">[Validate this page.]</a> |
|
57 </BODY> |
|
58 </HTML> |