Refining Abstract Machine Specifications of the Steam Boiler Control to Well Documented Executable Code

We use the steam boiler control specification problem to illustrate how the evolving algebra approach to the specification and the verification of complex systems can be exploited for a reliable and well documented development of executable, but formally inspectable and systematically modifiable code. A hierarchy of stepwise refined abstract machine models is developed, the ground version of which can be checked for whether it faithfully reflects the informally given problem. The sequence of machine models yields various abstract views of the system, making the various design decisions transparent, and leads to a C++ program. This program has been demonstrated during the Dagstuhl-Meeting on Methods for Semantics and Specification, in June 1995, to control the Karlsruhe steam boiler simulator satisfactorily.

[1]  Egon Börger,et al.  A Logical Operational Semantics of Full Prolog. Part I: Selection Core and Control , 1989, CSL.

[2]  Yuri Gurevich,et al.  Group membership protocol: specification and verification , 1995, Specification and validation methods.

[3]  Egon Börger,et al.  Annotated bibliography on evolving algebras , 1995, Specification and validation methods.

[4]  James K. Huggins Kermit: specification and verification , 1993, Specification and validation methods.

[5]  Charles Wallace,et al.  The semantics of the C++ programming language , 1995, Specification and validation methods.

[6]  Egon Börger,et al.  The bakery algorithm: yet another specification and verification , 1993, Specification and validation methods.

[7]  Egon Börger,et al.  Why Use Evolving Algebras for Hardware and Software Engineering? , 1995, SOFSEM.

[8]  Egon Börger,et al.  The WAM - Definition and Compiler Correctness , 1995, Logic Programming: Formal Methods and Practical Applications.

[9]  S. Mazzanti,et al.  A Correctness Proof for Pipelining in RISC Architecture , 1996 .

[10]  Igor Durdanovic,et al.  An Evolving Algebra Abstract Machine , 1995, CSL.

[11]  Egon Börger Logic Programming: The Evolving Algebra Approach , 1994, IFIP Congress.

[12]  Yuri Gurevich,et al.  The Railroad Crossing Problem: An Experiment with Instantaneous Actions and Immediate Reactions , 1995, CSL.

[13]  Egon Börger,et al.  Occam: Specification and Compiler Correctness - Part I: The Primary Model , 1994, PROCOMET.

[14]  Egon Börger,et al.  Correctness of Compiling Occam to Transputer Code , 1996, Comput. J..

[15]  Cornelia Pusch,et al.  Verification of Compiler Correctness for the WAM , 1996, TPHOLs.