Paper/document/root.tex
author zhangx
Thu, 28 Jan 2016 21:14:17 +0800
changeset 90 ed938e2246b9
parent 2 a04084de4946
permissions -rwxr-xr-x
Retrofiting of: CpsG.thy (the parallel copy of PIPBasics.thy), ExtGG.thy (The paralell copy of Implemenation.thy), PrioG.thy (The paralell copy of Correctness.thy) has completed. The next step is to overwite original copies with the paralell ones.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     1
\documentclass[runningheads]{llncs}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     2
\usepackage{isabelle}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     3
\usepackage{isabellesym}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     4
\usepackage{amsmath}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     5
\usepackage{amssymb}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     6
\usepackage{mathpartir}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     7
\usepackage{tikz}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     8
\usepackage{pgf}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     9
%\usetikzlibrary{arrows,automata,decorations,fit,calc}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    10
%\usetikzlibrary{shapes,shapes.arrows,snakes,positioning}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    11
%\usepgflibrary{shapes.misc} % LATEX and plain TEX and pure pgf
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    12
%\usetikzlibrary{matrix}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    13
\usepackage{pdfsetup}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    14
\usepackage{ot1patch}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    15
\usepackage{times}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    16
%%\usepackage{proof}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    17
%%\usepackage{mathabx}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    18
\usepackage{stmaryrd}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    19
\usepackage{url}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    20
\usepackage{color}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    21
\titlerunning{Proving the Priority Inheritance Protocol Correct}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    22
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    23
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    24
\urlstyle{rm}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    25
\isabellestyle{it}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    26
\renewcommand{\isastyleminor}{\it}%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    27
\renewcommand{\isastyle}{\normalsize\it}%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    28
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    29
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    30
\def\dn{\,\stackrel{\mbox{\scriptsize def}}{=}\,}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    31
\renewcommand{\isasymequiv}{$\dn$}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    32
\renewcommand{\isasymemptyset}{$\varnothing$}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    33
\renewcommand{\isacharunderscore}{\mbox{$\_\!\_$}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    34
\renewcommand{\isasymiota}{}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    35
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    36
\newcommand{\numbered}[1]{\refstepcounter{equation}{\rm(\arabic{equation})}\label{#1}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    37
\definecolor{mygrey}{rgb}{.80,.80,.80}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    38
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    39
\begin{document}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    40
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    41
\title{Priority Inheritance Protocol Proved Correct}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    42
\author{Xingyuan Zhang\inst{1} \and Christian Urban\inst{2} \and Chunhan Wu\inst{1}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    43
\institute{PLA University of Science and Technology, China \and 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    44
           King's College London, United Kingdom}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    45
\maketitle
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    46
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    47
\begin{abstract}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    48
In real-time systems with threads, resource locking and 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    49
priority sched\-uling, one faces the problem of Priority
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    50
Inversion. This problem can make the behaviour of threads
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    51
unpredictable and the resulting bugs can be hard to find.  The
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    52
Priority Inheritance Protocol is one solution implemented in many
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    53
systems for solving this problem, but the correctness of this solution
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    54
has never been formally verified in a theorem prover. As already
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    55
pointed out in the literature, the original informal investigation of
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    56
the Property Inheritance Protocol presents a correctness ``proof'' for
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    57
an \emph{incorrect} algorithm. In this paper we fix the problem of
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    58
this proof by making all notions precise and implementing a variant of
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    59
a solution proposed earlier. Our formalisation in Isabelle/HOL
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    60
uncovers facts not mentioned in the literature, but also shows how to
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    61
efficiently implement this protocol. Earlier correct implementations
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    62
were criticised as too inefficient. Our formalisation is based on
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    63
Paulson's inductive approach to verifying protocols.\medskip
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    64
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    65
{\bf Keywords:} Priority Inheritance Protocol, formal correctness proof, 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    66
real-time systems, Isabelle/HOL
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    67
\end{abstract}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    68
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    69
\input{session}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    70
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    71
%\bibliographystyle{plain}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    72
%\bibliography{root}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    73
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    74
\end{document}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    75
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    76
%%% Local Variables:
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    77
%%% mode: latex
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    78
%%% TeX-master: t
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    79
%%% End: