After our paper "Proving Safety Properties of the Steam Boiler Controller" went already to print, Myla Archer and Constance Heitmeyer verified the lengthy lemmas and theorems with the theorem prover PVS. Unfortunately, several errors were found in the proofs. No major changes were done to the model. An updated version of both papers is available under http://groups.csail.mit.edu/tds/papers/Leeb/boiler.html.
Following are the corrections to these errors and some typing errors for the short version of the paper (published in the LNCS book):
Consequent changes in proofs which use this information are straight forward. This information is used only in Lemma 13 and Theorem 2
Consequent changes in proofs which use this information are straight forward. Only slight modifications to the simulation proof are necessary.
Lemma 3.1 is consequentally (whenever used in the described proofs):
M2> wl + P * (pumps * S + #pumps * (I - S)) - min_steam_water(sr) or stopmode = true
if sr' <= W - U1 * I or ... should be if >= sr' W - U1 * I or ...
if do_output = false then
if set = read - I +S then
M1 < q + P*pumps*(set-now) - (v * (read-now)
+ U1*(read-now)2/2) or stop = true
else M1 < q - (v * (read-now) + U1*(read-now)2/2)
or stop = true
if do_output = false then
if set = read - I + S then
M2 > q + P*(pumps*(set-now) + #pumps*(I-S))
- steam or stop = true
else M2 > q + P*#pumps*(read
- now) - steam or stop = true
d(u) >= min(0, d(S)) for S >= u >= 0, d(u) = A*u - B*u2 with A real and B positive real
We want to excuse for these errors and to thank Myla Archer and Constance Heitmayer for their help in identifying most of them.