mc.html
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--
added mc link
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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>