updated
authorChristian Urban <urbanc@in.tum.de>
Mon, 15 Jan 2018 11:35:56 +0000
changeset 203 fe3dbfd9123b
parent 202 336ec74969df
child 204 5191a09d9928
updated
Journal/Paper.thy
answers.pdf
answers.tex
journal.pdf
--- a/Journal/Paper.thy	Wed Jan 10 00:28:27 2018 +0000
+++ b/Journal/Paper.thy	Mon Jan 15 11:35:56 2018 +0000
@@ -362,10 +362,12 @@
   \end{tabular}}
   \end{isabelle}
 
-  \noindent
-  In this definition @{term "DUMMY # DUMMY"} stands for list-cons and @{term "[]"} for the empty list.
-  Another function calculates the priority for a thread @{text "th"}, which is 
-  defined as
+  \noindent In this definition @{term "DUMMY # DUMMY"} stands for
+  list-cons and @{term "[]"} for the empty list. We use @{term "DUMMY"}
+  to match any pattern, like in functional programming.
+  Another function
+  calculates the priority for a thread @{text "th"}, which is defined
+  as
 
   \begin{isabelle}\ \ \ \ \ %%%
   \mbox{\begin{tabular}{lcl}
@@ -1174,7 +1176,7 @@
 
   \begin{proof} Let us assume otherwise, that is @{text "th'"} is detached in state
   @{text "s"}, then, according to the definition of detached, @{text
-  "th’"} does not hold or wait for any resource. Hence the @{text
+  "th'"} does not hold or wait for any resource. Hence the @{text
   cp}-value of @{text "th'"} in @{text s} is not boosted, that is
   @{term "cp s th' = prec th' s"}, and is therefore lower than the
   precedence (as well as the @{text "cp"}-value) of @{term "th"}. This
@@ -1699,7 +1701,7 @@
   \end{quote} 
 
   \noindent By this assumption we enforce that any thread potentially
-  blocking @{term th} must become detached (that is lock no resource
+  blocking @{term th} must become detached (that is it owns no resource
   anymore) after a finite number of events in @{text "es @ s"}. Again
   we have to state this bound to hold in all valid states after @{text
   s}. The bound reflects how each thread @{text "th'"} is programmed:
Binary file answers.pdf has changed
--- a/answers.tex	Wed Jan 10 00:28:27 2018 +0000
+++ b/answers.tex	Mon Jan 15 11:35:56 2018 +0000
@@ -46,7 +46,7 @@
     We generally agree with the reviewer about the use of
     \texttt{SOME}, but in this instance we cannot see a way to make
     this nondeterminism explicit without complicating  the
-    topelevel rules about \textit{PIP} on page 12. By using
+    toplevel rules about \textit{PIP} on page 12. By using
     \texttt{SOME}, we can leave implicit the order of the waiting
     queue returned by release (which corresponds to the original
     system call from Sha et al). If we represent the non-determinism
@@ -96,12 +96,12 @@
 \section*{Comments by Reviewer \#2}
 
 \begin{itemize}
-\item {\it Well-founded comment:} We adpated the paragraph where
+\item {\it Well-founded comment:} We updated the paragraph where
   \textit{acyclic} and \textit{well-founded} are used for the first
   time.
 
   \begin{quote}
-    Note that forests can have trees with infinte depth and containing
+    Note that forests can have trees with infinite depth and containing
     nodes with infinitely many children.  A \emph{finite forest} is a
     forest whose underlying relation is well-founded and every node
     has finitely many children (is only finitely branching).
@@ -141,10 +141,10 @@
   \begin{quote}
     The verification is indeed on the level of the algorithm. A
     verification of the C-code is *well* beyond the scope of the
-    paper. For example, it would requie a formalised semantics for C
+    paper. For example, it would require a formalised semantics for C
     (as for example given in the seL4-project). This and interfacing
     with it would be a tremendous amount of work and we are not sure
-    whether their results would actally sufficient for the code we
+    whether their results would actually sufficient for the code we
     wrote.
 
     In light of this, we have made it clearer in the abstract and in a
@@ -174,7 +174,7 @@
     proofs for the review process.}
 
   \begin{quote}
-    As is costumn, we have given a link to the sources. 
+    As is custom, we have given a link to the sources. 
     It is mentioned in the last
     sentence of the conclusion.
     
@@ -185,7 +185,7 @@
 \item{\it It is more like engineering work. It's unclear what general
     principles or theories are proposed.}
 
-  \begin{center}
+  \begin{quote}
     The general point we are making is that a `proof-by-hand' is
     generally worthless in this area for ensuring the correctness of
     an algorithm. We underline this point by listing the references
@@ -201,6 +201,89 @@
       is based on Paulson’s inductive approach for protocol
       verification [18].
     \end{quote}
-  \end{center}  
+  \end{quote}
+
+\item{\it 1) There are some places that the authors follow the Isabelle
+    syntax, which require more explanation. For instance, in the
+    definitions of "threads" and "priority" in page 5, I had trouble
+    understanding the underscore until I realized that the 4 cases are
+    pattern matching and they have orders.}
+
+  \begin{quote}
+    We have added the sentence after the definition of \textit{threads}:
+
+    \begin{quote}
+    We use \_ to match any pattern, like in functional programming.
+    \end{quote}
+  \end{quote}
+
+\item{\it 2) The last assumption on page 13: the assumption seems very
+    strong. If you  prove Theorem 1 inductively on all  s (which means
+    you have to consider s of length 1), then following the assumption
+    you  essentially require  that the  highest priority  task is  the
+    first task created.}
+
+  \begin{quote}
+    We feel like this mis-reads what we are proving and how we
+    organised the statements. The thread \textit{th} is the thread
+    with the highest priority in the state \textit{s}. It can be in
+    \textit{s} at any `place'---it does not need to be the first
+    one. What we prove is what happens to \textit{th} in the state
+    \textit{$s' @ s$} which happens after \textit{s}. We only require
+    that threads created after \textit{s} need to have a lower
+    priority.
+  \end{quote}
+
+\item{\it 3) 2nd line of the proofs of Lemma 1: th should be th' ?}  
+
+  \begin{quote}
+    Yes, we corrected this error.
+  \end{quote}
+
+\item{\it 4) Is your state (event traces) finite or infinite?}
+
+  \begin{quote}
+    Yes, they are always finite, but can be arbitrary long.
+  \end{quote}
+
+\item{\it 5) Assumption at the bottom of page 15: I don't understand
+    why this assumption is necessary. First, is es a finite or
+    infinite trace? If es is finite, of course there's limited number
+    of Create-requests. Even if it can be infinite, I don't see how
+    the PIP scheduler could be "swamped" with create requests. You
+    already assumed that there are no threads of precedence higher
+    than th created in es. If all the newly created threads have lower
+    precedence, they have no chance to run anyway (because of the low
+    precedence). Then why should we care?}
+
+  \begin{quote}
+    Yes, \textit{es} and \textit{$es @ s$} are finite traces (finite
+    list of events), but they can be arbitrarily long.
+
+    This means that knowing that \text{es} is finite, does *not* bound
+    the number of create events.
+
+    We also understand that newly created threads have no chance to
+    run (because of the lower priority), but the process of creating
+    any processes consumes according to our model some time and
+    therefore needs to be bounded. A Create event is not assumed to be
+    `instantaneously'.
+  \end{quote}
+
+\item {\it 6) The next assumption in page 16 does not look right to me
+    either. What if there are no actions of th' in es at all, which
+    may be caused by infinite loop inside the critical region of th'
+    (but the loop does not generate any events)? In this case, the
+    assumption is still satisfied because the length is 0, which is
+    less than BND(th').}
+
+  \begin{quote}
+    We made this point clearer (it was also requested by another reviewer).
+    We discuss this limitation in more depth in the first paragraph of section
+    4 and already wrote that in this aspect we do not
+    improve the limitations of the original paper by Sha et al.
+  \end{quote}
+
+\item All other comments have been implemented.
   
 \end{document}
\ No newline at end of file
Binary file journal.pdf has changed