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