Specification and Verification of a Steam-Boiler with Signal-Coq
Over the last decade, the increasing demand for the validation of safety critical systems has led to the development of domain-specific programming languages (e.g. synchronous languages) and automatic verification tools (e.g. model checkers). Conventionally, the verification of a reactive system is implemented by specifying a discrete model of the system (i.e. a finite-state machine) and then checking this model against temporal properties (e.g. using an automata-based tool). We investigate the use of a synchronous programming language, Signal, and of a proof assistant, Coq, for the specification and the verification of co-inductive properties of the well-known steam-boiler problem.
By way of this large-scale case-study, the Signal-Coq formal approach, i.e. the combined use of Signal and Coq, is demonstrated to be a well-suited and practical approach for the validation of reactive systems. Indeed, the deterministic model of concurrency of Signal, for specifying systems, together with the unparalleled expressive power of the Coq proof assistant, for verifying properties, enables to disregard any compromise incurred by any limitation of either the specification and the verification tools.
Keywordssynchronous programming theorem proving the steam-boiler problem
Unable to display preview. Download preview PDF.
- 1.J.-R. Abrial. The B-Book. Cambridge University Press, 1995.Google Scholar
- 2.J.-R. Abrial, E. Börger, and H. Langmaack. Formal Methods for Industrial Applications: Specifying and Programming the Steam Boiler Control. Lecture Notes in Computer Science, 1165, October 1996.Google Scholar
- 3.S. Bensalem, P. Caspi, and C. Parent-Vigouroux. Handling Data-flow Programs in PVS. Research report (draft), Verimag, May 1996.Google Scholar
- 6.T. Cattel and G. Duval. The Steam-Boiler Problem in Lustre. Lecture Notes in Computer Science, 1165:149–164, 1996.Google Scholar
- 7.B. Barras et al. The Coq Proof Assistant Reference Manual-Version 6.2. INRIA, Rocquencourt, May 1998.Google Scholar
- 8.E Giménez. Un Calcul de Constructions Infinies et son Application à la Vérification des Systèmes Communicants. PhD thesis, Laboratoire de l’Informatique du Parallélisme, Ecole Normale Supérieure de Lyon, December 1996.Google Scholar
- 11.M. Kerbosuf, D. Nowak, and J.-P. Talpin. The Steam-boiler Controller Problem in Signal-Coq. Research Report 3773, INRIA, Campus universitaire de Beaulieu, 35042 RENNES Cedex (France), October 1999.Google Scholar
- 13.D. Nowak. Spécification et preuve de systèmes réactifs. PhD thesis, Ifsic, Univer-sité Rennes I, October 1999.Google Scholar
- 15.B. Werner. Une Théorie des Constructions Inductives. PhD thesis, Université Paris VII, May 1994.Google Scholar