Abstract
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.
The abstract machines are evolving algebras and thereby have a rigorous semantical foundation, allowing us to formalize and prove, under precisely stated assumptions, some typical sample properties of the system. This provides insight into the structure of the system which supports easily maintainable extensions and modifications of both the abstract specification and the implementation.
Preview
Unable to display preview. Download preview PDF.
References
Wolfgang Ahrendt. Von Prolog zur WAM. Verifikation der Prozedurübersetzung mit KIV. Diploma thesis, University of Karlsruhe, Dec. 1995.
Egon Börger. A logical operational semantics for full Prolog. Part I: selection core and control. In E. Börger, H. Kleine Büning, M.M. Richter, editors, CSL'89. 3rd Workshop on Computer Science Logic, Springer LNCS, vol. 440, 1990, pages 36–64.
Egon Börger. Logic programming: the evolving algebra approach. In B. Pehrson and I. Simon (Eds.) IFIP 13th World Computer Congress 1994, Volume I: Technology/Foundations, Elsevier, Amsterdam, 391–395.
Egon Börger. Annotated bibliography on evolving algebras. In E. Börger, editor, Specification and Validation Methods, Oxford University Press, 1995, pages 37–51.
Egon Börger. Why use evolving algebras for hardware and software engineering. In Proc. of SOFSEM'95 (Nov. 25–Dec. 2, 1995, Bratislava, Czech Republic), LNCS 1012, Springer-Verlag, 1995, pages 236–271.
Egon Börger and Igor đurđanović. Correctness of compiling Occam to Transputer code. Computer Journal, 1996, vol. 39, pages 52–92.
E. Börger, I. Durdanović, and D. Rosenzweig. Occam: Specification and compiler correctness. Part I: Simple mathematical interpreters. In E.-R. Olderog (Ed.), Proc. PROCOMET'94 (IFIP Working Conference on Programming Concepts, Methods and Calculi), pages 489–508, North-Holland, 1994
E. Börger, Y. Gurevich, and D. Rosenzweig. The bakery algorithm: yet another specification and verification. In E. Börger, editor, Specification and Validation Methods. Oxford University Press, 1995, pages 231–243.
Egon Börger and Silvia Mazzanti. A correctness proof for pipelining in RISC architectures. In DIMACS TR 96-22, July 1996, pages 1–60.
E. Börger and D. Rosenzweig. The WAM — definition and compiler correctness. In L. C. Beierle and L. Plümer, editors, Logic Programming: Formal Methods and Practical Applications, Series in Computer Science and Artificial Intelligence. Elsevier Science B.V./North-Holland, 1995, pages 20–90 (Chapter 2).
G. Del Castillo, I. đurđanović and U. Glässer. An evolving algebra abstract machine. In H. Kleine Büning, editor, Computer Sience Logic (Proc. of CSL'95), LNCS, Springer-Verlag, 1996, pages 191–214.
Yuri Gurevich. Evolving Algebra 1993: Lipari Guide. In E. Börger, editor, Specification and Validation Methods, Oxford University Press, 1995, pages 9–36.
Y. Gurevich and J. Huggins. The railroad crossing problem: an experiment with instantaneous actions and immediate reactions. In H. Kleine Büning, editor, Proc. of Computer Sience Logic — CSL'95, LNCS, Springer-Verlag, 1996, pages 266–290.
Y. Gurevich and R. Mani. Group membership protocol: specification and verification. In E. Börger, editor, Specification and Validation Methods, Oxford University Press, 1995, pages 295–328.
J. Huggins. Kermit: specification and verification. In E. Börger, editor, Specification and Validation Methods, Oxford University Press, 1995, pages 247–293.
Cornelia Pusch. Verification of compiler correctness for the WAM. In Proc. TPHOLs '96, LNCS, Springer-Verlag (to appear).
C. Wallace. The semantics of the C++ programming language. In E. Börger, editor, Specification and Validation Methods. Oxford University Press, 1995, pages 131–164.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1996 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Beierle, C., Börger, E., Đurđanović, I., Glässer, U., Riccobene, E. (1996). Refining abstract machine specifications of the steam boiler control to well documented executable code. In: Abrial, JR., Börger, E., Langmaack, H. (eds) Formal Methods for Industrial Applications. Lecture Notes in Computer Science, vol 1165. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0027231
Download citation
DOI: https://doi.org/10.1007/BFb0027231
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-61929-1
Online ISBN: 978-3-540-49566-6
eBook Packages: Springer Book Archive