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