Slides/Slides3.thy
author zhangx
Thu, 28 Jan 2016 21:14:17 +0800
changeset 90 ed938e2246b9
parent 18 598409a21f4c
permissions -rw-r--r--
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:
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     1
(*<*)
18
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
     2
theory Slides3
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     3
imports "../CpsG" "../ExtGG" "~~/src/HOL/Library/LaTeXsugar"
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     4
begin
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     5
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     6
notation (latex output)
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     7
  set ("_") and
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     8
  Cons  ("_::/_" [66,65] 65) 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     9
18
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
    10
(*
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    11
ML {*
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    12
  open Printer;
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    13
  show_question_marks_default := false;
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    14
  *}
18
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
    15
*)
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    16
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    17
notation (latex output)
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    18
  Cons ("_::_" [78,77] 73) and
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    19
  vt ("valid'_state") and
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    20
  runing ("running") and
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    21
  birthtime ("last'_set") and
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    22
  If  ("(\<^raw:\textrm{>if\<^raw:}> (_)/ \<^raw:\textrm{>then\<^raw:}> (_)/ \<^raw:\textrm{>else\<^raw:}> (_))" 10) and
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    23
  Prc ("'(_, _')") and
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    24
  holding ("holds") and
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    25
  waiting ("waits") and
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    26
  Th ("T") and
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    27
  Cs ("C") and
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
    28
  P ("Lock") and
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
    29
  V ("Unlock") and
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    30
  readys ("ready") and
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    31
  depend ("RAG") and 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    32
  preced ("prec") and
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    33
  cpreced ("cprec") and
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    34
  dependents ("dependants") and
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    35
  cp ("cprec") and
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    36
  holdents ("resources") and
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    37
  original_priority ("priority") and
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    38
  DUMMY  ("\<^raw:\mbox{$\_\!\_$}>")
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    39
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
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    42
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    43
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    44
text_raw {*
18
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
    45
  \renewcommand{\slidecaption}{NASA, 20 June 2013}
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    46
  \newcommand{\bl}[1]{#1}                        
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    47
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    48
  \mode<presentation>{
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    49
  \begin{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    50
  \frametitle{%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    51
  \begin{tabular}{@ {}c@ {}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    52
  \\[-3mm]
18
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
    53
  \LARGE Formalisations and the\\[-1mm] 
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
    54
  \LARGE Isabelle Theorem Prover\\[-3mm] 
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    55
  \end{tabular}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    56
  
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    57
  \begin{center}
18
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
    58
   Christian Urban\\[1mm]
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
    59
  \small King's College London
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
    60
  \end{center}\bigskip
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
    61
 
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    62
  \begin{center}
18
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
    63
  many thanks to Mahyar Malekpour and Cesar Munoz for the invitation and 
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
    64
  hospitality
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    65
  \end{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    66
  \end{frame}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    67
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
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
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    70
text_raw {*
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    71
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    72
  \mode<presentation>{
18
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
    73
  \begin{frame}<2->[c]
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
    74
  \frametitle{Isabelle Theorem Prover}
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
    75
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
    76
  \begin{center}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
    77
  \includegraphics[scale=0.23]{isabelle.png}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
    78
  \end{center}  
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
    79
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
    80
  \only<2>{
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
    81
  \begin{textblock}{12}(2,13.6)
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
    82
  \begin{tikzpicture}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
    83
  \draw (0,0) node[inner sep=2mm,fill=cream, ultra thick, draw=red, rounded corners=2mm] 
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
    84
  {\normalsize\color{darkgray}
18
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
    85
  \begin{minipage}{9cm}\raggedright
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
    86
  \ldots to make sure large proofs are correct
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
    87
  \end{minipage}};
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
    88
  \end{tikzpicture}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
    89
  \end{textblock}}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
    90
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
    91
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
    92
  \end{frame}}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
    93
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
    94
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
    95
*}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
    96
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
    97
text_raw {*
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
    98
  \tikzstyle{every node}=[node distance=25mm,text height=1.5ex, text depth=.25ex]
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
    99
  \tikzstyle{node1}=[rectangle, minimum size=8mm, rounded corners=3mm, very thick, 
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   100
                     draw=black!50, top color=white, bottom color=black!20]
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   101
  \tikzstyle{node2}=[rectangle, minimum size=10mm, rounded corners=3mm, very thick, 
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   102
                     draw=red!70, top color=white, bottom color=red!50!black!20]
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   103
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   104
  \mode<presentation>{
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   105
  \begin{frame}[c]
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   106
  \frametitle{}
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   107
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   108
  \begin{tabular}{@ {}c@ {\hspace{2mm}}c}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   109
  \\[6mm]
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   110
  \begin{tabular}{c}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   111
  \includegraphics[scale=0.11]{harper.jpg}\\[-2mm]
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   112
  {\footnotesize Bob Harper}\\[-2.5mm]
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   113
  {\footnotesize (CMU)}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   114
  \end{tabular}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   115
  \begin{tabular}{c@ {}}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   116
  \includegraphics[scale=0.37]{pfenning.jpg}\\[-2mm]
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   117
  {\footnotesize Frank Pfenning}\\[-2.5mm]
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   118
  {\footnotesize (CMU)}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   119
  \end{tabular} &
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   120
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   121
  \begin{tabular}{@ {\hspace{-3mm}}p{7cm}}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   122
  \begin{tikzpicture}[remember picture, scale=0.5]
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   123
  \matrix[ampersand replacement=\&,column sep=7mm, row sep=5mm]
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   124
  { \& \& \node (desc) {\makebox[0mm]{\begin{tabular}{l}published in a journal\\ 
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   125
    \small (ACM ToCL, 31 pages, 2005)\\[3mm]\end{tabular}}};\\
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   126
    \&[-10mm] 
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   127
    \node (def1)   [node1] {\hspace{1mm}Spec\hspace{1mm}\mbox{}}; \&
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   128
    \node (proof1) [node1] {Proof}; \&
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   129
    \node (alg1)   [node1] {\hspace{1mm}Alg\hspace{1mm}\mbox{}}; \\
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   130
  };
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   131
  \draw[->,black!50,line width=2mm] (proof1) -- (def1);
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   132
  \draw[->,black!50,line width=2mm] (proof1) -- (alg1);
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   133
  \draw[<-,black,line width=0.5mm] (proof1) -- (desc);
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   134
  \end{tikzpicture}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   135
  \end{tabular}\\
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   136
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   137
  \pause
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   138
  \\[0mm]
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   139
  
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   140
  \multicolumn{2}{c}{
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   141
  \begin{tabular}{p{6cm}}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   142
  \raggedright
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   143
  \color{black}{relied on their proof in a\\ {\bf security} critical application}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   144
  \end{tabular}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   145
  
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   146
  \begin{tabular}{c}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   147
  \includegraphics[scale=0.36]{appel.jpg}\\[-2mm] 
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   148
  {\footnotesize Andrew Appel}\\[-2.5mm]
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   149
  {\footnotesize (Princeton)}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   150
  \end{tabular}}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   151
  \end{tabular} 
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   152
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   153
  \end{frame}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   154
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   155
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   156
*}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   157
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   158
text_raw {*
18
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   159
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   160
  \mode<presentation>{
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   161
  \begin{frame}<4-> 
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   162
  \frametitle{\LARGE\begin{tabular}{c}An Example for a Small TCB\end{tabular}}
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   163
  \mbox{}\\[-14mm]\mbox{}
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   164
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   165
  \begin{columns}
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   166
  \begin{column}{0.2\textwidth}
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   167
  \begin{tabular}{@ {} c@ {}}
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   168
  \includegraphics[scale=0.3]{appel.jpg}\\[-2mm] 
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   169
  {\footnotesize Andrew Appel}\\[-2.5mm]
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   170
  {\footnotesize (Princeton)}
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   171
  \end{tabular}
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   172
  \end{column}
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   173
  
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   174
  \begin{column}{0.8\textwidth}
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   175
  \begin{textblock}{10}(4.5,3.95)
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   176
  \begin{block}{Proof-Carrying Code:}
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   177
  \begin{center}
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   178
  \begin{tikzpicture}
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   179
  \draw[help lines,cream] (0,0.2) grid (8,4);
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   180
  
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   181
  \draw[line width=1mm, red] (5.5,0.6) rectangle (7.5,4);
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   182
  \node[anchor=base] at (6.5,2.8) 
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   183
     {\small\begin{tabular}{@ {}p{1.9cm}@ {}}\centering  user can run untrusted code\end{tabular}};
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   184
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   185
  \draw[line width=1mm, red] (0.5,0.6) rectangle (2.5,4);
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   186
  \node[anchor=base] at (1.5,2.3) 
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   187
     {\small\begin{tabular}{@ {}p{1.9cm}@ {}}\centering  code developer/ web server/ Apple 
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   188
  Store\end{tabular}};
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   189
  
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   190
  \onslide<4->{
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   191
  \draw[line width=1mm, red, fill=red] (5.5,0.6) rectangle (7.5,1.8);
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   192
  \node[anchor=base,white] at (6.5,1.1) 
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   193
     {\small\begin{tabular}{@ {}p{1.9cm}@ {}}\bf\centering proof- checker\end{tabular}};}
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   194
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   195
  \node at (3.8,3.0) [single arrow, fill=red,text=white, minimum height=3cm]{\bf code};
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   196
  \onslide<3->{
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   197
  \node at (3.8,1.3) [single arrow, fill=red,text=white, minimum height=3cm]{\bf LF proof};
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   198
  \node at (3.8,1.9) {\small certificate};
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   199
  }
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   200
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   201
  \onslide<2>{\node at (4.0,1.3) [text=red]{\begin{tabular}{c}\bf Highly\\\bf Dangerous!\end{tabular}};}
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   202
  % Code Developer
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   203
  % User (runs untrusted code)
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   204
  % transmits a proof that the code is safe
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   205
  % 
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   206
  \end{tikzpicture}
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   207
  \end{center}
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   208
  \end{block}
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   209
  \end{textblock}
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   210
  \end{column}
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   211
  \end{columns}
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   212
  
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   213
  \small\mbox{}\\[3.2cm]
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   214
  \begin{itemize}
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   215
  \item<4-> TCB of the checker is $\sim$2700 lines of code (1865 loc of\\ LF definitions; 
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   216
  803 loc in C including 2 library functions)\\[-3mm]
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   217
  \item<4-> 167 loc in C implement a type-checker
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   218
  \end{itemize}
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   219
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   220
  \end{frame}}
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   221
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   222
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   223
*}
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   224
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   225
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   226
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   227
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   228
text_raw {*
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   229
  \tikzstyle{every node}=[node distance=25mm,text height=1.5ex, text depth=.25ex]
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   230
  \tikzstyle{node1}=[rectangle, minimum size=10mm, rounded corners=3mm, very thick, 
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   231
                     draw=black!50, top color=white, bottom color=black!20]
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   232
  \tikzstyle{node2}=[rectangle, minimum size=12mm, rounded corners=3mm, very thick, 
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   233
                     draw=red!70, top color=white, bottom color=red!50!black!20]
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   234
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   235
  \mode<presentation>{
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   236
  \begin{frame}<2->[squeeze]
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   237
  \frametitle{} 
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   238
  
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   239
  \begin{columns}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   240
  
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   241
  \begin{column}{0.8\textwidth}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   242
  \begin{textblock}{0}(1,2)
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   243
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   244
  \begin{tikzpicture}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   245
  \matrix[ampersand replacement=\&,column sep=7mm, row sep=5mm]
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   246
  { \&[-10mm] 
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   247
    \node (def1)   [node1] {\large\hspace{1mm}Spec\hspace{1mm}\mbox{}}; \&
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   248
    \node (proof1) [node1] {\large Proof}; \&
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   249
    \node (alg1)   [node1] {\large\hspace{1mm}Alg\hspace{1mm}\mbox{}}; \\
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   250
    
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   251
    \onslide<4->{\node {\begin{tabular}{c}\small 1st\\[-2.5mm] \footnotesize solution\end{tabular}};} \&
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   252
    \onslide<4->{\node (def2)   [node2] {\large Spec$^\text{+ex}$};} \&
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   253
    \onslide<4->{\node (proof2) [node1] {\large Proof};} \&
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   254
    \onslide<4->{\node (alg2)   [node1] {\large\hspace{1mm}Alg\hspace{1mm}\mbox{}};} \\
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   255
     
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   256
    \onslide<5->{\node {\begin{tabular}{c}\small 2nd\\[-2.5mm] \footnotesize solution\end{tabular}};} \&
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   257
    \onslide<5->{\node (def3)   [node1] {\large\hspace{1mm}Spec\hspace{1mm}\mbox{}};} \&
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   258
    \onslide<5->{\node (proof3) [node1] {\large Proof};} \&
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   259
    \onslide<5->{\node (alg3)   [node2] {\large Alg$^\text{-ex}$};} \\
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   260
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   261
    \onslide<6->{\node {\begin{tabular}{c}\small 3rd\\[-2.5mm] \footnotesize solution\end{tabular}};} \&
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   262
    \onslide<6->{\node (def4)   [node1] {\large\hspace{1mm}Spec\hspace{1mm}\mbox{}};} \&
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   263
    \onslide<6->{\node (proof4) [node2] {\large\hspace{1mm}Proof\hspace{1mm}};} \&
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   264
    \onslide<6->{\node (alg4)   [node1] {\large\hspace{1mm}Alg\hspace{1mm}\mbox{}};} \\
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   265
  };
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   266
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   267
  \draw[->,black!50,line width=2mm] (proof1) -- (def1);
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   268
  \draw[->,black!50,line width=2mm] (proof1) -- (alg1);
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   269
  
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   270
  \onslide<4->{\draw[->,black!50,line width=2mm] (proof2) -- (def2);}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   271
  \onslide<4->{\draw[->,black!50,line width=2mm] (proof2) -- (alg2);}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   272
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   273
  \onslide<5->{\draw[->,black!50,line width=2mm] (proof3) -- (def3);}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   274
  \onslide<5->{\draw[->,black!50,line width=2mm] (proof3) -- (alg3);}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   275
  
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   276
  \onslide<6->{\draw[->,black!50,line width=2mm] (proof4) -- (def4);}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   277
  \onslide<6->{\draw[->,black!50,line width=2mm] (proof4) -- (alg4);}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   278
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   279
  \onslide<3->{\draw[white,line width=1mm] (1.1,3.2) -- (0.9,2.85) -- (1.1,2.35) -- (0.9,2.0);} 
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   280
  \end{tikzpicture}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   281
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   282
  \end{textblock}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   283
  \end{column}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   284
  \end{columns}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   285
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   286
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   287
  \begin{textblock}{3}(12,3.6)
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   288
  \onslide<4->{
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   289
  \begin{tikzpicture}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   290
  \node at (0,0) [single arrow, shape border rotate=270, fill=red,text=white]{2h};
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   291
  \end{tikzpicture}}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   292
  \end{textblock}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   293
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   294
  \end{frame}}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   295
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   296
*}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   297
18
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   298
text_raw {*
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   299
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   300
  \mode<presentation>{
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   301
  \begin{frame}[c]
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   302
  \frametitle{Other Formalisations}
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   303
  
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   304
18
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   305
  \begin{itemize} 
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   306
  \item I also found a (fixable) mistake in my PhD thesis\bigskip
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   307
  
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   308
  \item Nominal Isabelle: found out that the variable convention 
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   309
  can be used to prove false (a surprising result in PL-research)\bigskip
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   310
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   311
  \item Computability and Logic Book (5th ed.)\\ by Boolos, Burgess and Jeffrey ---
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   312
  two definitions about halting computations in UTMs are inconsistent
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   313
  \end{itemize}
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   314
  \end{frame}}
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   315
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   316
*}
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   317
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   318
text_raw {*
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   319
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   320
  \mode<presentation>{
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   321
  \begin{frame}[c]
18
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   322
  \frametitle{Scheduling in RTOS}
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   323
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   324
  \begin{itemize}
18
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   325
  \item RTOS: priorities and resource locking
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   326
18
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   327
  \item Purpose:\\
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   328
  guarantee tasks to be completed in time\medskip\pause
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   329
18
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   330
  \item \alert{this already results into a surprisingly non-trivial algorithmic problem}
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   331
  \end{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   332
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   333
  \end{frame}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   334
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   335
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   336
*}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   337
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   338
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   339
text_raw {*
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   340
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   341
  \mode<presentation>{
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   342
  \begin{frame}[c]
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   343
  \frametitle{The Problem}
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   344
  \Large
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   345
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   346
  \begin{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   347
  \begin{tabular}{l}
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   348
  \alert{H}igh-priority process (waits)\\[4mm]
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   349
  \onslide<2->{\alert{M}edium-priority process}\\[4mm]
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   350
  \alert{L}ow-priority process (has a lock)\\[4mm]
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   351
  \end{tabular}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   352
  \end{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   353
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   354
  \onslide<3->{
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   355
  \begin{itemize}
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   356
  \item \alert{priority inversion}\\ \hspace{2cm}@{text "\<equiv>"} H waits for a process\\ 
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   357
  \mbox{}\hfill with lower priority
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   358
  \item<4> avoid \alert{indefinite} priority inversion
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   359
  \end{itemize}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   360
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   361
  \end{frame}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   362
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   363
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   364
*}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   365
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   366
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   367
text_raw {*
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   368
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   369
  \mode<presentation>{
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   370
  \begin{frame}[c]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   371
  \frametitle{Mars Pathfinder Mission 1997}
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   372
  \large
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   373
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   374
  \begin{center}
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   375
  \includegraphics[scale=0.15]{marspath1.png}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   376
  \includegraphics[scale=0.16]{marspath3.png}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   377
  \includegraphics[scale=0.3]{marsrover.png}
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   378
  \end{center}
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   379
  
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   380
  \begin{itemize}
18
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   381
  \item the lander reset frequently on Mars
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   382
  \item the problem: priority inversion
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   383
  \end{itemize}
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   384
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   385
  \end{frame}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   386
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   387
*}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   388
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   389
text_raw {*
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   390
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   391
  \mode<presentation>{
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   392
  \begin{frame}[c]
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   393
  \frametitle{The Solution}
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   394
  \Large
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   395
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   396
  \alert{Priority Inheritance Protocol (PIP):}\bigskip
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   397
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   398
  \begin{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   399
  \begin{tabular}{l}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   400
  \alert{H}igh-priority process\\[4mm]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   401
  \textcolor{gray}{Medium-priority process}\\[4mm]
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   402
  \alert{L}ow-priority process\\[15mm]
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   403
  {\normalsize (temporarily raise the priority of \alert{L})}
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   404
  \end{tabular}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   405
  \end{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   406
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   407
  \end{frame}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   408
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   409
*}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   410
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   411
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   412
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   413
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   414
text_raw {*
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   415
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   416
  \mode<presentation>{
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   417
  \begin{frame}[c]
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   418
  \frametitle{A First Correctness ``Proof''}
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   419
  \Large
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   420
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   421
  \begin{itemize}
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   422
  \item the paper$^\star$ first describing  PIP ``proved'' also its 
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   423
  correctness:\\[5mm]
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   424
  \end{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   425
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   426
  \normalsize
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   427
  \begin{quote}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   428
  \ldots{}after the thread (whose priority has been raised) completes its 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   429
  critical section and releases the lock, it ``returns to its original 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   430
  priority level''.
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   431
  \end{quote}\bigskip
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   432
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   433
  \small
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   434
  $^\star$ in IEEE Transactions on Computers in 1990 by Sha et al.
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   435
  \end{frame}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   436
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   437
*}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   438
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   439
text_raw {*
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   440
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   441
  \mode<presentation>{
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   442
  \begin{frame}[c]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   443
  \frametitle{}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   444
  \Large
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   445
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   446
  \begin{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   447
  \begin{tabular}{l}
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   448
  \alert{H}igh-priority process 1 (waits)\\[2mm]
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   449
  \alert{H}igh-priority process 2 (waits)\\[8mm]
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   450
  \alert{L}ow-priority process (has a lock)
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   451
  \end{tabular}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   452
  \end{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   453
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   454
  \onslide<2->{
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   455
  \begin{itemize}
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   456
  \item Solution: return to the highest
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   457
  \phantom{Solution:} \alert{remaining} priority\\
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   458
  \end{itemize}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   459
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   460
  \end{frame}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   461
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   462
*}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   463
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   464
text_raw {*
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   465
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   466
  \mode<presentation>{
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   467
  \begin{frame}[c]
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   468
  \frametitle{Specification}
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   469
  \Large
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   470
  
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   471
   \begin{itemize}\Large
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   472
  \item Use Inductive Method with events of the form:
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   473
   \end{itemize}
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   474
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   475
  \begin{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   476
  \begin{tabular}{l}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   477
  Create \textcolor{gray}{thread priority}\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   478
  Exit \textcolor{gray}{thread}\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   479
  Set \textcolor{gray}{thread priority}\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   480
  Lock \textcolor{gray}{thread cs}\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   481
  Unlock \textcolor{gray}{thread cs}\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   482
  \end{tabular}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   483
  \end{center}\medskip
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   484
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   485
  \end{frame}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   486
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   487
*}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   488
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   489
text_raw {*
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   490
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   491
  \mode<presentation>{
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   492
  \begin{frame}[c]
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   493
  \frametitle{Scheduling States}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   494
  \Large
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   495
  
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   496
  \begin{itemize}
18
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   497
  \item A \alert{state s} is a list of events\bigskip
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   498
  \begin{center}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   499
  \begin{tikzpicture}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   500
  \draw [->, line width=1.5mm] (-4,0) -- (4, 0);
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   501
  \draw [line width=0.8mm] (-4, 0.3) -- (-4, -0.3);
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   502
  \draw [line width=0.8mm] (1, 0.3) -- (1, -0.3);
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   503
  \node at (1,-0.7) {\large s};
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   504
  \node at (-4,-0.7) {\large 0};
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   505
  \node at (3.2,-0.7) {\large time};
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   506
  \end{tikzpicture}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   507
  \end{center}\pause
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   508
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   509
  \item Scheduling according to \alert{precedences}:
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   510
  \begin{center}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   511
  \begin{tabular}{@ {}l@ {}}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   512
  \large @{thm preced_def[where thread="th"]} 
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   513
  \end{tabular}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   514
  \end{center}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   515
  \end{itemize}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   516
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   517
  \end{frame}}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   518
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   519
*}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   520
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   521
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   522
text_raw {*
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   523
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   524
  \mode<presentation>{
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   525
  \begin{frame}[c]
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   526
  \frametitle{Waiting Queues}
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   527
  \large
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   528
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   529
  \begin{itemize}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   530
  \item A \alert{waiting queue} function returns a list of threads
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   531
  associated with every resource
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   532
  \item The head of the list is the thread holding the resource.
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   533
  \medskip
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   534
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   535
  \begin{center}\normalsize
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   536
  \begin{tabular}{@ {}l}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   537
  @{thm cs_holding_def[where thread="th"]}\\
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   538
  @{thm cs_waiting_def[where thread="th"]}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   539
  \end{tabular}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   540
  \end{center}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   541
  \end{itemize}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   542
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   543
  \end{frame}}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   544
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   545
*}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   546
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   547
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   548
text_raw {*
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   549
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   550
  \mode<presentation>{
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   551
  \begin{frame}[c]
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   552
  \frametitle{Resource Allocation Graphs}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   553
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   554
\begin{center}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   555
  \newcommand{\fnt}{\fontsize{7}{8}\selectfont}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   556
  \begin{tikzpicture}[scale=1]
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   557
  
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   558
  \node (A) at (0,0) [draw, rounded corners=1mm, rectangle, very thick] {@{text "th\<^isub>0"}};
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   559
  \node (B) at (2,0) [draw, circle, very thick, inner sep=0.4mm] {@{text "cs\<^isub>1"}};
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   560
  \node (C) at (4,0.7) [draw, rounded corners=1mm, rectangle, very thick] {@{text "th\<^isub>1"}};
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   561
  \node (D) at (4,-0.7) [draw, rounded corners=1mm, rectangle, very thick] {@{text "th\<^isub>2"}};
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   562
  \node (E) at (6,-0.7) [draw, circle, very thick, inner sep=0.4mm] {@{text "cs\<^isub>2"}};
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   563
  \node (E1) at (6, 0.3) [draw, circle, very thick, inner sep=0.4mm] {@{text "cs\<^isub>3"}};
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   564
  \node (F) at (8,-0.7) [draw, rounded corners=1mm, rectangle, very thick] {@{text "th\<^isub>3"}};
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   565
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   566
  \draw [<-,line width=0.6mm] (A) to node [pos=0.54,sloped,above=-0.5mm] {\fnt{}holds}  (B);
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   567
  \draw [->,line width=0.6mm] (C) to node [pos=0.4,sloped,above=-0.5mm] {\fnt{}waits}  (B);
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   568
  \draw [->,line width=0.6mm] (D) to node [pos=0.4,sloped,below=-0.5mm] {\fnt{}waits}  (B);
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   569
  \draw [<-,line width=0.6mm] (D) to node [pos=0.54,sloped,below=-0.5mm] {\fnt{}holds}  (E);
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   570
  \draw [<-,line width=0.6mm] (D) to node [pos=0.54,sloped,above=-0.5mm] {\fnt{}holds}  (E1);
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   571
  \draw [->,line width=0.6mm] (F) to node [pos=0.45,sloped,below=-0.5mm] {\fnt{}waits}  (E);
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   572
  \end{tikzpicture}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   573
  \end{center}\bigskip
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   574
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   575
  \begin{center}
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   576
  \begin{minipage}{0.8\linewidth}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   577
  \raggedleft
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   578
  @{thm cs_depend_def}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   579
  \end{minipage}\medskip\\
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   580
  \begin{minipage}{1\linewidth}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   581
  @{thm cs_dependents_def}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   582
  \end{minipage}\medskip\\\pause
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   583
  \begin{minipage}{1\linewidth}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   584
  \alert{cprec wq s th} $\dn$\\
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   585
  \mbox{}\hspace{1cm}Max(\{prec th s\} $\cup$\\ 
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   586
  \mbox{}\hspace{1cm}\phantom{Max(}\{prec th' s $\mid$ th' $\in$ dependants wq th\})
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   587
  \end{minipage}
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   588
  \end{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   589
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   590
  
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   591
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   592
  \end{frame}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   593
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   594
*}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   595
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   596
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   597
text_raw {*
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   598
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   599
  \mode<presentation>{
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   600
  \begin{frame}[c]
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   601
  \frametitle{The Scheduler}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   602
  \large
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   603
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   604
  \begin{itemize}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   605
  \item \underline{Start}: all priorities/precedences are 0, all resources are unlocked
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   606
  \item \underline{Create th p}: set precedence of th
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   607
  \item \underline{Exit th}: reset precedence to 0
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   608
  \item \underline{Set th p}: reset precedence of th
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   609
  \item \underline{Lock th cs}: add th to the end of the waiting queue of cs
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   610
  \item \underline{Unlock th cs}:\\ delete th from the waiting queue of cs\\
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   611
  \hspace{1cm}\alert{and who to give the resource next?}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   612
  \end{itemize}
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   613
  
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   614
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   615
  \end{frame}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   616
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   617
*}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   618
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   619
text_raw {*
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   620
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   621
  \mode<presentation>{
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   622
  \begin{frame}[c]
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   623
  \frametitle{The Scheduler (2)}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   624
  %%\large
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   625
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   626
  \begin{itemize}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   627
  \item \large threads ready to run\normalsize
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   628
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   629
  \begin{center}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   630
  \begin{tabular}{@ {}l}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   631
  @{thm (lhs) readys_def} $\dn$\\
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   632
  \;@{thm (rhs) readys_def}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   633
  \end{tabular}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   634
  \end{center}\bigskip
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   635
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   636
  \item \large the thread that is running in a state:\\[-10mm]\normalsize
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   637
  \begin{center}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   638
  \begin{tabular}{@ {}l@ {}}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   639
  @{thm (lhs) runing_def} $\dn$\\
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   640
  \;@{thm (rhs) runing_def}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   641
  \end{tabular}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   642
  \end{center}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   643
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   644
  \end{itemize}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   645
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   646
  \end{frame}}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   647
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   648
*}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   649
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   650
text_raw {*
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   651
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   652
  \mode<presentation>{
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   653
  \begin{frame}[c]
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   654
  \frametitle{Inductive Method}
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   655
  %%\large
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   656
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   657
  \begin{center}
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   658
\begin{tikzpicture}[scale=1.6]
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   659
%%\draw[step=2mm] (-4,-1) grid (4,1.4);
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   660
\draw (0,0.2) node {\begin{tabular}{l} valid\\[-1mm] scheduler\\[-1mm] states\\ \end{tabular}};
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   661
\draw (3,0) node {\begin{tabular}{l} set of invalid\\[-1mm] scheduler states \\[-1mm](e.g., deadlocks)\\ \end{tabular}};
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   662
\draw[<-, line width=0.5mm] (1.0,0) -- (1.8,0);
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   663
\draw[<-, line width=0.5mm] (-0.2,-0.55) -- (-0.4,-1.3);
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   664
\draw (-0.0,-1.5) node {\begin{tabular}{l} inductively defined set \end{tabular}};
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   665
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   666
\draw[line width=0.5mm, rounded corners=6.3pt] 
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   667
  (-0.9,-0.05) -- (-0.8,0.6) -- (-0.3,0.95) -- (0,1) -- (0.5,0.8) -- (0.65,0.5) -- (0.7,0) -- (0.4,-0.5) -- (0,-0.6) -- (-0.5,-0.45) -- cycle;
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   668
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   669
\draw[line width=0.5mm, rounded corners=15pt] 
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   670
 (-1.2,0) -- (-0.9,0.95) -- (0,1.2) -- (1.0,1.0) -- (1.7,0) -- (0.95,-1.0) -- (0,-1.2) -- (-0.9,-0.9) -- cycle;
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   671
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   672
\end{tikzpicture}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   673
\end{center}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   674
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   675
  \begin{itemize}
18
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   676
  \item We have to exclude situations where there is a deadlock,
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   677
  a thread exited before created, \ldots
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   678
  
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   679
  \end{itemize}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   680
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   681
  \end{frame}}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   682
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   683
*}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   684
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   685
text_raw {*
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   686
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   687
  \mode<presentation>{
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   688
  \begin{frame}[c]
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   689
  \frametitle{Valid Next Events}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   690
  \large
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   691
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   692
  \begin{itemize}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   693
  \item In a state s, the following events can occur:
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   694
  \end{itemize}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   695
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   696
  \begin{center}
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   697
  @{thm[mode=Rule] thread_create[where thread=th]}\bigskip
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   698
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   699
  @{thm[mode=Rule] thread_exit[where thread=th]}\bigskip
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   700
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   701
  @{thm[mode=Rule] thread_set[where thread=th]}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   702
  \end{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   703
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   704
  
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   705
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   706
  \end{frame}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   707
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   708
*}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   709
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   710
text_raw {*
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   711
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   712
  \mode<presentation>{
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   713
  \begin{frame}[c]
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   714
  \frametitle{Valid Next Events (2)}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   715
  \large
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   716
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   717
  \begin{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   718
  @{thm[mode=Rule] thread_P[where thread=th]}\bigskip
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   719
  
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   720
  @{thm[mode=Rule] thread_V[where thread=th]}\bigskip
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   721
  \end{center}\bigskip\pause
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   722
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   723
  \begin{itemize}
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   724
  \item Done with the specification. \ldots
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   725
  \end{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   726
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   727
  \end{frame}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   728
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   729
*}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   730
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   731
text_raw {*
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   732
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   733
  \mode<presentation>{
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   734
  \begin{frame}[c]
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   735
  \frametitle{Correctness Criterion}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   736
  \large
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   737
  
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   738
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   739
  \begin{center}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   740
  \begin{tikzpicture}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   741
  \draw [->, line width=1.5mm] (-4,0) -- (4, 0);
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   742
  \draw [line width=0.8mm] (-4, 0.3) -- (-4, -0.3);
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   743
  \draw [line width=0.8mm] (1, 0.3) -- (1, -0.3);
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   744
  \draw [line width=0.8mm] (0, 0.3) -- (0, -0.3);
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   745
  \node at (1,-0.7) {\large s'};
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   746
  \node at (0,-0.7) {\large s};
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   747
  \node at (1,-1.5) {\small(th')};
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   748
  \node at (0,-1.5) {\small(th)};
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   749
  \node at (-4,-0.7) {\large 0};
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   750
  \node at (3.2,-0.7) {\large time};
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   751
  \end{tikzpicture}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   752
  \end{center}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   753
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   754
  \normalsize
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   755
  \begin{itemize}
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   756
  \item {\bf If} th is alive in s and has the highest precedence
18
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   757
  \item plus some further assumption (like th not reset, not exited, no higher precedences in s - s')
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   758
  \item and th is {\bf not} running in s', \\ {\bf then} the running
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   759
  thread th' (in s') is a thread that was alive in {\bf s} and has in s' the same 
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   760
  precedence as th in s.
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   761
  \end{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   762
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   763
  \end{frame}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   764
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   765
*}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   766
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   767
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   768
(*<*)
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   769
context extend_highest_gen
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   770
begin
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   771
(*>*)
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   772
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   773
text_raw {*
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   774
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   775
  \mode<presentation>{
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   776
  \begin{frame}[t]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   777
  \frametitle{Implementation}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   778
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   779
  
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   780
  \begin{itemize}
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   781
  \item Create/Exit events:
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   782
  \begin{itemize}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   783
  \item we do not have to recalculate the RAG
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   784
  \item we do not have to recalculate the other precedences
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   785
  \end{itemize}\bigskip
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   786
  \item Set event:
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   787
  \begin{itemize}
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   788
  \item we do not have to recalculate the RAG
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   789
  \item also the other precedences do not have to be recalculated
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   790
  (since this is the currently running thread, it cannot affect
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   791
  other threads)
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   792
  \end{itemize}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   793
  \item Unlock event (2 cases: a thread to take over, no thread to take over)
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   794
  \begin{itemize}
18
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   795
  \item case 1: RAG needs to be modified, but apart from th and th' no
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   796
  other precedence needs to be recalculated
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   797
  \item case 2: RAG needs to be prunned, no precedence needs to be recalculated
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   798
  \end{itemize}
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   799
  \end{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   800
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   801
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   802
  \end{frame}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   803
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   804
*}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   805
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   806
text_raw {*
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   807
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   808
  \mode<presentation>{
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   809
  \begin{frame}[t]
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   810
  \frametitle{Implementation (2)}
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   811
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   812
  
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   813
  \begin{itemize}
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   814
  \item Unlock event (2 cases: a thread to take over, no thread to take over)
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   815
  \begin{itemize}
18
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   816
  \item case 1: RAG needs to be modified, but apart from th and th' no
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   817
  other precedence needs to be recalculated
18
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   818
  \item case 2: RAG needs to be pruned, no precedence needs to be recalculated
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   819
  \end{itemize}\bigskip
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   820
  \item Lock event (2 cases: cs is locked, not locked)
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   821
  \begin{itemize}
18
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   822
  \item case 1: a waiting edge needs to be added to the RAG, precedences of 
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   823
  all dependants need to recalculated (where there is a change)  
18
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   824
  \item case 2: a holding edge needs to be added to the RAG, no
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   825
  precedences need to be recalculated
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   826
  \end{itemize}
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   827
  \end{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   828
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   829
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   830
  \end{frame}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   831
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   832
*}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   833
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   834
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   835
text_raw {*
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   836
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   837
  \mode<presentation>{
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   838
  \begin{frame}[c]
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   839
  \frametitle{Implementation}
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   840
  
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   841
  \begin{itemize} 
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   842
  \item in PINTOS (Stanford), written in C for educational purposes\bigskip
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   843
  \begin{center}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   844
  \begin{tabular}{|l@ {\hspace{2mm}}|l@ {\hspace{2mm}}|}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   845
  \hline
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   846
  {\bf Event} & {\bf PINTOS function} \\
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   847
  \hline
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   848
  @{text Create} & @{text "thread_create"}\\
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   849
  @{text Exit}   & @{text "thread_exit"}\\
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   850
  @{text Set}    & @{text "thread_set_priority"}\\
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   851
  @{text Lock}      & @{text "lock_acquire"}\\
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   852
  @{text Unlock}      & @{text "lock_release"}\\ 
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   853
  \hline
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   854
  \end{tabular}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   855
  \end{center}\pause\bigskip
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   856
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   857
  \item \alert{We did not verify our C-code!}\pause
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   858
  \item We were much faster: we gave an unlocked resource to
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   859
  the thread with the highest precedence
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   860
  \end{itemize}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   861
  \end{frame}}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   862
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   863
*}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   864
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   865
text_raw {*
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   866
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   867
  \mode<presentation>{
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   868
  \begin{frame}[c]
18
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   869
  \frametitle{A Step Back\ldots}
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   870
  \large
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   871
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   872
  \begin{itemize} 
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   873
  \item Did we make any impact? No!\medskip\pause
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   874
  
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   875
  \item real-time scheduling on multiprocessors seems to be a very
18
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   876
  underdeveloped area 
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   877
  \item implementations exist, e.g.~RT-Linux
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   878
  \end{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   879
  \end{frame}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   880
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   881
*}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   882
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   883
text_raw {*
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   884
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   885
  \mode<presentation>{
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   886
  \begin{frame}[c]
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   887
  \frametitle{Theorem Provers}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   888
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   889
  \begin{itemize} 
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   890
  \item We found a mistake in a refereed paper by Harper \& Pfenning
18
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   891
  \item I also found a mistake in my PhD thesis
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   892
  \item also a popular textbook book on Computability contained an
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   893
  error\bigskip
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   894
  
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   895
  \item scratching on the surface of an completely ``alien'' subject 
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   896
  to us --- we were able to make progress
18
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   897
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   898
  \end{itemize}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   899
  \end{frame}}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   900
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   901
*}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   902
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   903
text_raw {*
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   904
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   905
  \mode<presentation>{
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   906
  \begin{frame}[c]
18
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   907
  \frametitle{Inductive Method / Protocols}
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   908
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   909
  \begin{itemize} 
18
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   910
  \item the inductive method was developed/used by Larry Paulson
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   911
  for verifying security protocols\bigskip\bigskip
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   912
  \item we used it for a different `kind' of protocols (scheduling)
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   913
  \item but this was restricted to only single-processors, no timing information
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   914
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   915
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   916
  \end{itemize}
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   917
  \end{frame}}
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   918
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   919
*}
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   920
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   921
text_raw {*
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   922
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   923
  \mode<presentation>{
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   924
  \begin{frame}[c]
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   925
  \frametitle{Clock Synchronisation}
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   926
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   927
  \begin{itemize} 
18
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   928
  \item Mahyar Malekpour introduced a distributed clock-synchronisation
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   929
  algorithm\\ (perfect example for us)\bigskip\bigskip
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   930
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   931
  \item connected units exchange messages according to a protocol
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   932
  and reach a stable, synchronised state
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   933
  \item messages have to reach the receiver within a time-window\pause
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   934
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   935
  \item \alert{verification still ongoing}
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   936
  \end{itemize}
18
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   937
  \end{frame}}
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   938
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   939
*}
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   940
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   941
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   942
text_raw {*
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   943
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   944
  \mode<presentation>{
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   945
  \begin{frame}[c]
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   946
  \frametitle{Questions?}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   947
  
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   948
  \begin{itemize} \large
5
0f2d4b78f839 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 4
diff changeset
   949
  \item Thank you for the invitation and for listening!
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   950
  \end{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   951
  
18
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   952
  \begin{center}
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   953
  \begin{tabular}{c}
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   954
  \includegraphics[scale=0.13]{isabelle.png}\\[-2mm]
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   955
  \small\url{http://isabelle.in.tum.de}
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   956
  \end{tabular}
598409a21f4c added nasa talk
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 5
diff changeset
   957
  \end{center}  
0
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   958
  \end{frame}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   959
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   960
*}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   961
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   962
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   963
(*<*)
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   964
end
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   965
end
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
   966
(*>*)