This is a list of the known errors, and their corrections, for the second edition of Distributed Computing: Fundamentals, Simulations, and Advanced Topics.
Page and line numbers are used to identify the location of the error; a negative line number means counting from the bottom up. The first person to report the error is credited.
Send corrections to hagit@cs.technion.ac.il or welch@cs.tamu.edu .
Page 22, Algorithm 2: (Ruediger Valk)
Page 81, Figure 4.8:
Page 98, Figure 5.3: (Christian Walter)
Page 371, line 2 (signature of procedure safe-phase)
: (Michel Raynal)
Page 371, Algorithm 59:
Page 371, line 5 of Algorithm 59:
Page 373, line -2:
Page 374, line 7 of Algorithm 60:
Page 374, line -7: (Michel Raynal)
Change line 9 to:
if there are neighbors except p_j
then send
else terminate
The label p_j-only applies to pi (twice), and not to tau,
as stated.
In the second extension, alpha_k^j, p_j fails to send to q_1, ... , q_j
(and not q_1, ... , q_i, as shown).
Reverse the order of the parameters to procedure safe-phase. I.e., change
value x, integer r
to
integer r, value x
The five references to R_j in lines 5-9 do not
need to be five separate reads of R_j: it is sufficient to
read R_j once during this for loop and save the value in
a local variable. However, the read of R_j in line 12 must
be a separate read.
Change
R_j.phase-tag
to
R_j.phase
Change
according to R_i.phase
to
according to the local r variable
Change
R_c.phase >= r
to
R_c.phase > r
Change
n <= n/2
to
n <= 2f