answers.tex
author Christian Urban <urbanc@in.tum.de>
Tue, 19 Dec 2017 14:20:29 +0000
changeset 200 ff826e28d85c
child 201 fcc6f4c3c32f
permissions -rw-r--r--
updated
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
200
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     1
\documentclass{article}
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     2
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     3
\begin{document}
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     4
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     5
%%%%
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     6
% Reviewer 1.
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     7
\section*{Comments by Reviewer \#1}
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     8
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     9
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    10
\begin{itemize}
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    11
\item {\it 1.) I don't see the point of working with a more general
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    12
    library of possibly infinite graphs when it is clear that no
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    13
    (necessarily finite) evolution of the state could ever generate an
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    14
    infinite graph.}
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    15
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    16
  It seemed the most convenient approach for us and we added the following
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    17
  comment on page 8 about justifying our choice. There was already a
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    18
  comment about having finiteness as a property, rather than a built-in
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    19
  assumption.
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    20
  
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    21
  \begin{quote}
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    22
    It seems for our purposes the most convenient representation of
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    23
    graphs are binary relations given by sets of pairs. The pairs
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    24
    stand for the edges in graphs. This relation-based representation
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    25
    has the advantage that the notions \textit{waiting} and
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    26
    \textit{holding} are already defined in terms of relations
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    27
    amongst threads and resources.  Also, we can easily re-use the
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    28
    standard notions of transitive closure operations $\_*$ and $\_+$,
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    29
    as well as relation composition for our graphs.
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    30
  \end{quote}
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    31
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    32
\item {\it 2.) Later, the release function is defined using Hilbert
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    33
    choice (Isabelle/HOL's \texttt{SOME} function) as a method for emulating
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    34
    non-determinism. This is horrid. The highest level generation of
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    35
    traces handles non-determinism beautifully; using choice at a
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    36
    lower level lets you keep things functional, but hides the fact
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    37
    that you want to model non-determinism at the lower level as
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    38
    well. I agree that the final theorem does imply that the way in
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    39
    which the new waiting list is chosen is irrelevant, but this
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    40
    implication is only apparent through a close reading of that
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    41
    definition. Better I think to lift the non-determinism and make it
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    42
    more apparent at the top level.}
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    43
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    44
  \begin{quote}
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    45
    We generally agree with the reviewer about the use of
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    46
    \texttt{SOME}, but we cannot see a way to make this nondeterminism
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    47
    explicit without complicating too much the topelevel rules.
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    48
  \end{quote}
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    49
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    50
\item {\it 3. In \S 4, there is an assumption made about the number of
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    51
    threads allowed to be created. Given the form of theorem 2, this
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    52
    seems to me to be unnecessary. It's certainly extremely weird and
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    53
    ugly because it says that there are at most BC many thread
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    54
    creation events in all possible future traces (of which there are
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    55
    of course infinitely many). \ldots}
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    56
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    57
    We think this mis-reads our theorem: Although the constrains we
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    58
    put on thread creation prohibit the creation of higher priority
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    59
    threads, the creation of lower priority threads may still consume
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    60
    CPU time and prevent \textit{th} from accomplishing its task. That
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    61
    is the purpose we put in the \textit{BC} constraint to limit the
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    62
    overall number of thread creations. We slightly augmented the
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    63
    sentence on page 15 by:
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    64
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    65
    \begin{quote} 
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    66
    Otherwise our PIP scheduler could be ``swamped'' with
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    67
    \textit{Create}-requests of lower priority threads.
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    68
    \end{quote}
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    69
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    70
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    71
\item {\it Why are variables corresponding to resources given the name
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    72
    \textit{cs}. This is confusing. \textit{rsc} or \textit{r} would be
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    73
    better.}
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    74
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    75
  \begin{quote}
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    76
    \textit{cs} stands for ``critical section'', which is the original name
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    77
    used by Sha et al to represent ``critical resources''.
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    78
  \end{quote}
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    79
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    80
\item All other comments of the reviewer have been implemented.
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    81
  
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    82
\end{itemize}  
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    83
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    84
%%%%
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    85
% Reviever 2.
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    86
\section*{Comments by Reviewer \#2}
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    87
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    88
\begin{itemize}
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    89
\item Well-founded comment: We adpated the paragraph where \textit{acyclic}
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    90
  and \textit{well-founded} are used for the first time.
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    91
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    92
  \begin{quote}
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    93
    Note that forests can have trees with infinte depth and containing
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    94
    nodes with infinitely many children.  A \emph{finite forest} is a
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    95
    forest whose underlying relation is well-founded and every node
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    96
    has finitely many children (is only finitely branching).
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    97
  \end{quote}
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    98
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    99
  We also added a footnote that we are using the standard definition of
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   100
  well-foundedness from Isabelle.
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   101
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   102
\item Comment about graph-library: This point was also raised by
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   103
  Reviewer~\#1 and we gave a better justification on page 8 (see
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   104
  answer to first point of Reviewer~\#1).
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   105
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   106
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   107
\item {\it 20.) In the case of "Set th prio:", it is not declared what
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   108
    the cprec (e::s) th should be (presumably it is something like
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   109
    Max((prio,|s|),prec th s) or possibly just prec th (e::s) given
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   110
    the assumptions on Set events listed before).}
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   111
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   112
  We note the concern of the reviewer about the effect of the
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   113
  Set-operation on the \textit{cprec} value of a thread. According to
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   114
  equation (6) on page 11, the \textit{cprec} of a thread is
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   115
  determined by the precedence values in its subtree, while the Set
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   116
  operation only changes the precedence of the `Set' thread. If the
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   117
  reviewer thinks we should add this explanation again, then we are
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   118
  happy to do so.
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   119
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   120
\end{itemize}
ff826e28d85c updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   121
\end{document}