Specifying and verifying the Steam Boiler Problem with SPIN
This paper reports the results of specifying and verifying the Steam Boiler problem with Promela/SPIN. Several models of the system have been produced with different degrees of completeness. Each model represents an abstract level for capturing the original problem requirements. The last model is very detailed and gives a first solution to the steam boiler problem. The model is able to drive the system and takes device failures (pumps, pump controllers, steam and water) into account. Liveness and safety properties have been successfully checked on the models to insure that the system behaviour is correct. An implementation of the system has been made using Synchronous C++, a concurrent extension of C++, and linked with the TCL/TK simulation. A presentation of future evolutions of the system is also described. This application shows that SPIN is quite appropriate for developing control process problems from specifications.
Keywordsapplication process control LTL properties verification concurrent programming
Unable to display preview. Download preview PDF.
- 1.G. Caal, A. Divin, C. Petitpierre, Active Objects: a Paradygm for Communications and Event Driven Systems, Globecom'94, San Francisco.Google Scholar
- 2.G. Duval, J. Jullian. Modeling and Verification of the RUBIS micro-Kernel with SPIN. Proc. of SPIN Workshop 95, INRS-Telecom, Montreal, October 1995.Google Scholar
- 3.Holzmann G.J., What's new in SPIN version 2, AT&T Bell Laboratories, May 1995.Google Scholar
- 4.Holzmann G.J., Design and Validation of Computer Protocols, 512 pgs, ISBN 0-13-539925-4, Publ. Prentice Hall, (c) 1991 AT&T Bell Laboratories.Google Scholar
- 5.Holzmann G.J., Design and validation of protocols: a tutorial, Computer Networks, 25(9), April 93, pp. 981–1017.Google Scholar
- 6.Manna Z., Pnueli A., The Temporal Logic of Reactive and Concurrent Systems — Specification. Springer-Verlag, 1992.Google Scholar
- 7.Manna Z., Anuchitanukul A, ... STeP: the Stanford Temporal Prover. Department of Computer Science. Stanford University, California 94395.Google Scholar