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

Under construction; last updated: Feb 11, 2008.

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 18, line 5: (Panagiota Fatourou)
Change
in round t
to
by time t


Page 37, Algorithm 5, Line 15: (Panagiota Fatourou)
Change
send < probe, id, k+1,1 >
to
send < probe, id, k+1,1 > to left and right
Page 41, line -13 (Bashar)
"because" is misspelled.
Page 45, Algorithm 6 (Bashar)
Line numbering is incorrect (line numbers 9 and 10 are repeated).
Page 45, Algorithm 6, Line 20 (Bashar)
Change
remove < m >
to
remove < m,2 >
Page 49, line 16 (Bashar)
Change
that that
to
that
Page 74, line -9: (Panagiota Fatourou)
Change
As proved Theorem
to
As proved in Theorem

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


Page 121, Exercise 5.9:
Construct the execution for n = 8 and f = 2.


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