Skip to main content

The use of transformations to implement an algorithm

  • Conference paper
  • First Online:
Book cover International Symposium on Programming (Programming 1982)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 137))

Included in the following conference series:

  • 107 Accesses

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Brown, D. W. The solution of difference equations describing array manipulation. Ph.D. Th., Harvard University, June 1981.

    Google Scholar 

  2. 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.

    Google Scholar 

  3. 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.

    Google Scholar 

  4. Cheatham, T. E., Jr. Overview of the Harvard Program Development Systems. In Hunke, H, editor, Software Engineering Environments. North-Holland Publishing Co, 1981.

    Google Scholar 

  5. Conrad, William R. Rewrite User's Guide. Harvard University, Center for Research in Computing Technology, August 1976.

    Google Scholar 

  6. ECL Programmer's Manual, Harvard University, Center for Research in Computing Technology, 1974.

    Google Scholar 

  7. Gries, David. Describing an Algorithm by Hopcroft. Acta Informatica 2 (1973), 97–109.

    Google Scholar 

  8. 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.

    Google Scholar 

  9. Liskov, B. H. CLU Reference Manual. Massachusetts Institute of Technology, 1978.

    Google Scholar 

  10. Ploedereder, E. O. A semantic model for the analysis and verification of programs in general, higher-level languages. Ph.D. Th., Harvard University, 1980.

    Google Scholar 

  11. Townley, J. A. PDS User's Manual. Harvard University, Center for Research in Computing Technology, 1981.

    Google Scholar 

  12. Wulf, William A. ALPHARD: toward a language to support structured programs. Computer Science Department, Carnegie-Mellon University, April 1974.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Mariangiola Dezani-Ciancaglini Ugo Montanari

Rights and permissions

Reprints 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

Publish with us

Policies and ethics