Abstract
We investigate the application of functional specification and program transformation in a practical setting using a simple case study: the derivation of a parallel program for solving the heat equation. The main concerns here are: (1) how to write an initial specification of the algorithm using a notation appropriate to the subject area (partial differential equations), (2) the introduction of an intermediate algorithm specification using bidirectional mapping scan, and (3) the use of equational reasoning to transform the specification.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
A. Bunkenburg and S. Flynn, “Expression refinement: deriving Bresenham’s algorithm,” Functional Programming: Glasgow 1994,Springer-Verlag Workshops in Computing.
C. Lengauer, “Loop parallelization in the Polytope Model,” Proc. CONCUR (1993).
J. O’Donnell, “Generating netlists from executable circuit specifications in a pure functional language,” Functional Programming Glasgow 1992,Springer-Verlag Workshops in Computing 178–194.
J. O’Donnell, ‘Bidirectional fold and scan,“ Functional Programming: Glasgow 1993, Springer Workshops in Computing (1994).
J. O’Donnell, “A correctness proof of parallel scan,” Parallel Processing Letters (Sept. 1994).
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
O’Donnell, J., Rünger, G. (1995). A Case Study in Parallel Program Derivation: the Heat Equation Algorithm. In: Hammond, K., Turner, D.N., Sansom, P.M. (eds) Functional Programming, Glasgow 1994. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3573-9_12
Download citation
DOI: https://doi.org/10.1007/978-1-4471-3573-9_12
Publisher Name: Springer, London
Print ISBN: 978-3-540-19914-4
Online ISBN: 978-1-4471-3573-9
eBook Packages: Springer Book Archive