Abstract
The point of constructing a specification is so that it may be used to define a program development task by delimiting the range of program behaviours that are regarded as permissible. This chapter describes a framework which supports the gradual step-by-step development of a program from such a specification of requirements. This formalises the basic notion of refinement step as an implementation of one specification by another, what it means for such a refinement step to be correct, and under what conditions correct individual refinement steps may be composed to lead ultimately to a correct realisation of an entire requirements specification. The concepts and results presented support a methodology of stepwise refinement involving modular decomposition into components connected via explicit interfaces.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Sannella, D., Tarlecki, A. (2011). Formal program development. In: Foundations of Algebraic Specification and Formal Software Development. Monographs in Theoretical Computer Science. An EATCS Series. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-17336-3_7
Download citation
DOI: https://doi.org/10.1007/978-3-642-17336-3_7
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-17335-6
Online ISBN: 978-3-642-17336-3
eBook Packages: Computer ScienceComputer Science (R0)