Abstract
We present an approach to the specification and implementation of provably safe software. It uses well-established tools and techniques that are usually employed to ensure correctness, rather than safety, of software. The approach comprises six steps, each of which is complemented by some proof obligations. For each step, the safety-related aspects are clearly elaborated. Thus, designers of safety-critical systems are given guidance that helps to avoid potentially dangerous gaps in the specification of the system’s safety properties.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
J. Bowen and M. Gordon. Z and HOL. In Z User Workshop, Workshops in Computing, pages 141–167. Springer-Verlag, 1994.
R. Goldblatt. Axiomatising the Logic of Computer Programming. LNCS 130. Springer-Verlag, 1982.
Kirsten Mark Hansen. Modelling railway interlocking systems. Available via ftp from ftp.ifad.dk, directory /pub/vdm/examples, 1994.
Maritta Heisel. A formal notion of strategy for software development. Technical Report 94–28, TU Berlin, 1994.
Wolfgang Halang and Bernd Krämer. Safety assurance in process control. IEEE Software, 11(1):61–67, January 1994.
Maritta Heisel, Thomas Santen, and Dominik Zimmermann. A generic system architecture of strategy-based software development. Technical Report 95–8, Technical University of Berlin, 1995.
Maritta Heisel, Thomas Santen, and Dominik Zimmermann. Tool support for formal software development: A generic architecture. In Proceedings 5-th European Software Engineering Conference, Springer LNCS, 1995.
Cliff B. Jones. Systematic Software Development using VDM. Prentice Hall, 1990.
Nancy Leveson. Software safety: Why, what, and how. Computing Surveys, 18(2):125–163, June 1986.
Nancy Leveson. Software safety in embedded computer systems. Communications of the ACM, 34(2):34–46, February 1991.
Louise E. Moser and P.M. Melliar-Smith. Formal verification of safety- critical systems. Software — Practice and Experience, 20(8):799–821, August 1990.
Paul Mukherjee and Victoria Stavridou. The formal specification of safety requirements for storing explosives. Formal Aspects of Computing, 5:299–336, 1993.
Ben Potter, Jane Sinclair, and David Till. An Introduction to Formal Specification and Z. Prentice Hall, 1991.
Sally Shlaer and Stephen J. Mellor. Object Lifecycles - Modeling the World in States. Yourdon Press, Englewood Cliffs, 1992.
J. M. Spivey. The fuzz manual. Computing Science Consultancy, Oxford, 1992.
J. M. Spivey. The Z Notation — A Reference Manual. Prentice Hall, 2nd edition, 1992.
Lloyd Williams. Assessment of safety-critical specifications. IEEE Software, pages 51–60, January 1994.
J.C.P. Woodcock. An introduction to refinement in Z. In S. Prehm and W.J. Toetenel, editors, Proc. 4-th International Symposium of VDM Europe, Vol. 2, LNCS 552, pages 96–117. Springer-Verlag, 1991.
J.C.P. Woodcock. The refinement calculus. In S. Prehm and W.J. Toetenel, editors, Proc. 4-th International Symposium of VDM Europe, Vol. 2, LNCS 552, pages 80–95. Springer-Verlag, 1991.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1995 Springer-Verlag London
About this paper
Cite this paper
Heisel, M. (1995). Six Steps Towards Provably Safe Software. In: Rabe, G. (eds) Safe Comp 95. Springer, London. https://doi.org/10.1007/978-1-4471-3054-3_14
Download citation
DOI: https://doi.org/10.1007/978-1-4471-3054-3_14
Publisher Name: Springer, London
Print ISBN: 978-3-540-19962-5
Online ISBN: 978-1-4471-3054-3
eBook Packages: Springer Book Archive