Abstract
The notions of procedures, parameters, and abstraction are by convention treated together in methods of imperative program development. Rules for preserving correctness in such developments can be complex.
We show that the three concerns can be separated, and we give simple rules for each. Crucial to this is the ability to embed specification — representing abstraction — directly within programs; with this we can use the elegant copy rule of ALGOL-60 to treat procedure calls, whether abstract or not.
Our contribution is in simplifying the use of the three features, whether separately or together, and in the proper location of any difficulties that do arise. The aliasing problem, for example, is identified as a “loss of monotonicity” with respect to program refinement.
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.
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1988 Elseviver Science Publishers B.V. (North Holland)
About this chapter
Cite this chapter
Morgan, C. (1988). Procedures, Parameters, and Abstraction: Separate Concerns. In: Morgan, C., Vickers, T. (eds) On the Refinement Calculus. Formal Approaches to Computing and Information Technology (FACIT). Springer, London. https://doi.org/10.1007/978-1-4471-3273-8_3
Download citation
DOI: https://doi.org/10.1007/978-1-4471-3273-8_3
Publisher Name: Springer, London
Print ISBN: 978-3-540-19931-1
Online ISBN: 978-1-4471-3273-8
eBook Packages: Springer Book Archive