20 RULES="all"> |
20 RULES="all"> |
21 |
21 |
22 <!-- right column --> |
22 <!-- right column --> |
23 <TR> |
23 <TR> |
24 <TD BGCOLOR="#FFFFFF" WIDTH="75%"> |
24 <TD BGCOLOR="#FFFFFF" WIDTH="75%"> |
25 <H2>Proving the Priority Inheritance Protocol Correct</H2> |
25 <H2>Modelling homogeneous generative meta-programming: Artefact</H2> |
26 |
26 |
27 By Xingyuan Zhang, Christian Urban and Chunhan Wu |
27 Martin Berger, Laurence Tratt, Christian Urban |
28 <p> |
28 <p> |
29 In real-time systems with threads, resource locking and |
29 <ul> |
30 priority scheduling, one faces the problem of Priority |
30 <li>1. Download Isabelle |
31 Inversion. This problem can make the behaviour of threads |
31 </u> |
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 |
32 |
47 The source code can be downloaded |
33 |
48 <A HREF="http://www4.in.tum.de/~urbanc/cgi-bin/repos.cgi/prio">here</A>. |
|
49 <BR><BR><BR><BR> |
|
50 |
34 |
51 </TABLE> |
35 </TABLE> |
52 <P><!-- Created: Tue Mar 4 00:23:25 GMT 1997 --> |
36 <P><!-- Created: Tue Mar 4 00:23:25 GMT 1997 --> |
53 <!-- hhmts start --> |
37 <!-- hhmts start --> |
54 Last modified: Thu Feb 13 20:24:23 CET 2012 |
38 Last modified: Thu Feb 13 20:24:23 CET 2012 |