Abstract
Some years ago we developed a package for creating and applying transformation rules [Conrad 76]. The facilities in the package provide a way to transform user-defined language extensions into constructs in the base language EL1. We have used the facilities — and that approach to program refinement — extensively. Our experience led us to develop an integrated programming environment, the Harvard PDS, to support the methodology. In this paper we describe the use of transformation rules to refine the high-level specification of an algorithm. We use transforms to specify the meanings of high-level constructs and to encode special-purpose optimizations. We briefly discuss the PDS and its support for the methodology.
This research was supported in part by the Defense Advanced Research Projects Agency, under contract N00039-78-G-0020 with the Department of the Navy, Naval Electronic System Command.
Preview
Unable to display preview. Download preview PDF.
References
Brown, D. W. The solution of difference equations describing array manipulation. Ph.D. Th., Harvard University, June 1981.
Cheatham, T. E., Jr., and Townley, J. A. Implementing an algorithm of Hopcroft described by Gries. Center for Research in Computing Technology, Harvard University, 1975.
Cheatham, T. E., Jr., Holloway, G. H., Townley, J. A. Symbolic evaluation and the analysis of programs. IEEE Trans. Software Engineering SE-5, 4 (1979), 402–417.
Cheatham, T. E., Jr. Overview of the Harvard Program Development Systems. In Hunke, H, editor, Software Engineering Environments. North-Holland Publishing Co, 1981.
Conrad, William R. Rewrite User's Guide. Harvard University, Center for Research in Computing Technology, August 1976.
ECL Programmer's Manual, Harvard University, Center for Research in Computing Technology, 1974.
Gries, David. Describing an Algorithm by Hopcroft. Acta Informatica 2 (1973), 97–109.
Hopcroft, J. An n log n algorithm for minimizing states in a finite automaton. In Theory of Machines and Computation, Academic Press, New York, 1971, pp. 189–196.
Liskov, B. H. CLU Reference Manual. Massachusetts Institute of Technology, 1978.
Ploedereder, E. O. A semantic model for the analysis and verification of programs in general, higher-level languages. Ph.D. Th., Harvard University, 1980.
Townley, J. A. PDS User's Manual. Harvard University, Center for Research in Computing Technology, 1981.
Wulf, William A. ALPHARD: toward a language to support structured programs. Computer Science Department, Carnegie-Mellon University, April 1974.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1982 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Townley, J.A. (1982). The use of transformations to implement an algorithm. In: Dezani-Ciancaglini, M., Montanari, U. (eds) International Symposium on Programming. Programming 1982. Lecture Notes in Computer Science, vol 137. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-11494-7_25
Download citation
DOI: https://doi.org/10.1007/3-540-11494-7_25
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-11494-9
Online ISBN: 978-3-540-39184-5
eBook Packages: Springer Book Archive