Skip to main content

Refining abstract machine specifications of the steam boiler control to well documented executable code

  • Chapter
  • First Online:
Formal Methods for Industrial Applications

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1165))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Wolfgang Ahrendt. Von Prolog zur WAM. Verifikation der Prozedurübersetzung mit KIV. Diploma thesis, University of Karlsruhe, Dec. 1995.

    Google Scholar 

  2. 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.

    Google Scholar 

  3. 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.

    Google Scholar 

  4. Egon Börger. Annotated bibliography on evolving algebras. In E. Börger, editor, Specification and Validation Methods, Oxford University Press, 1995, pages 37–51.

    Google Scholar 

  5. 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.

    Google Scholar 

  6. Egon Börger and Igor đurđanović. Correctness of compiling Occam to Transputer code. Computer Journal, 1996, vol. 39, pages 52–92.

    Google Scholar 

  7. 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

    Google Scholar 

  8. 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.

    Google Scholar 

  9. Egon Börger and Silvia Mazzanti. A correctness proof for pipelining in RISC architectures. In DIMACS TR 96-22, July 1996, pages 1–60.

    Google Scholar 

  10. 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).

    Google Scholar 

  11. 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.

    Google Scholar 

  12. Yuri Gurevich. Evolving Algebra 1993: Lipari Guide. In E. Börger, editor, Specification and Validation Methods, Oxford University Press, 1995, pages 9–36.

    Google Scholar 

  13. 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.

    Google Scholar 

  14. 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.

    Google Scholar 

  15. J. Huggins. Kermit: specification and verification. In E. Börger, editor, Specification and Validation Methods, Oxford University Press, 1995, pages 247–293.

    Google Scholar 

  16. Cornelia Pusch. Verification of compiler correctness for the WAM. In Proc. TPHOLs '96, LNCS, Springer-Verlag (to appear).

    Google Scholar 

  17. 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.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Jean-Raymond Abrial Egon Börger Hans Langmaack

Rights and permissions

Reprints 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

Publish with us

Policies and ethics