Errata for
Distributed Computing: Fundamentals, Simulations, and Advanced Topics, Second Edition by Attiya and Welch

Last updated: March 4, 2006.

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)
Change line 9 to:
if there are neighbors except p_j then send to all neighbors except p_j
else terminate


Page 81, Figure 4.8:
The label p_j-only applies to pi (twice), and not to tau, as stated.


Page 98, Figure 5.3: (Christian Walter)
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).


Page 371, line 2 (signature of procedure safe-phase) : (Michel Raynal)
Reverse the order of the parameters to procedure safe-phase. I.e., change
value x, integer r
to
integer r, value x


Page 371, Algorithm 59:
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.


Page 371, line 5 of Algorithm 59:
Change
R_j.phase-tag
to
R_j.phase


Page 373, line -2:
Change
according to R_i.phase
to
according to the local r variable


Page 374, line 7 of Algorithm 60:
Change
R_c.phase >= r
to
R_c.phase > r


Page 374, line -7: (Michel Raynal)
Change
n <= n/2
to
n <= 2f