Skip to main content

Abstract data types, specialization, and program reuse

  • Program Reuse And Transformations
  • Conference paper
  • First Online:
Advanced Programming Environments

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

Abstract

It is often asserted that our ability to reuse programs is limited primarily by the power of programming language abstraction mechanisms. We argue that, on the basis of performance considerations, this is just not the case in practice—these “generalization” mechanisms must be complemented by techniques to adapt the generalized structures to specific applications. Based on this argument, we consider a view of programming experience as a network of programs that are generalizations and specializations on one another and that are interconnected by appropriate program derivation fragments. We support this view with a number of examples. These examples illustrate the important role of abstract data type boundaries in program derivation.

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.

Bibliography

  1. Balzer, R., T.E. Cheatham, Jr., and C.C. Green, Software Technology in the 1990's: Using a New Paradigm. IEEE Computer, vol. 16, no. 11, pp. 39–45, November 1983.

    Google Scholar 

  2. Bauer, et al., The Munich Project CIP, Volume 1. Springer-Verlag, 1985.

    Google Scholar 

  3. Boyle, J.M. and M.N. Muralidharan, Program Reusability through Program Transformation. IEEE Transactions on Software Engineering SE-10, No. 5, September, 1984.

    Google Scholar 

  4. Cheatham, T.E., Reusability Through Program Transformations. IEEE Transactions on Software Engineering SE-10, No. 5, September, 1984.

    Google Scholar 

  5. Dietzen, S.R. and W.L. Scherlis, Analogy in Program Development. Second Conference on the Role of Language in Problem Solving. North-Holland, 1986. To appear.

    Google Scholar 

  6. Green, C.C. et al, Report on a Knowledge Based Software Assistant. Kestrel Institute Report, 1983.

    Google Scholar 

  7. Guttag, J.V., J.J. Horning, and J.M. Wing, Larch in Five Easy Pieces. DEC SRC Technical Report, 1985.

    Google Scholar 

  8. Kernighan, B.W., The Unix System and Software Reusability. IEEE Transactions on Software Engineering SE-10, No. 5, September, 1984.

    Google Scholar 

  9. Jorring, U. and W.L. Scherlis, Compilers and Staging Transformations. Thirteenth POPL Conference, 1986.

    Google Scholar 

  10. Jorring, U. and W.L. Scherlis, Deriving and Using Destructive Data Types. IFIP TC2 Working Conference on Program Specification and Transformation, North-Holland, 1986.

    Google Scholar 

  11. Neighbors, J.M., The Draco Approach to Constructing Software from Reusable Components. IEEE Transactions on Software Engineering SE-10, No. 5, September, 1984.

    Google Scholar 

  12. Rich, C., A Formal Representation for Plans in the Programmer's Apprentice. Seventh IJCAI Proceedings, pp. 1044–1052, 1981.

    Google Scholar 

  13. Scherlis, W.L., Program Improvement by Internal Specialization. Eighth POPL, pp. 41–49, 1981.

    Google Scholar 

  14. Scherlis, W.L. and D.S. Scott, First Steps Towards Inferential Programming. IFIP Congress 83, pp. 199–212, North-Holland, 1983.

    Google Scholar 

  15. Scherlis, W.L., Software Development and Inferential Programming. In Program Transformation and Programming Environments, edited by P. Pepper, Springer-Verlag, pp. 341–346, 1983.

    Google Scholar 

  16. Scherlis, W.L., Adapting Abstract Data Types. Carnegie Mellon Technical Report, 1985.

    Google Scholar 

  17. Wile, D.S., Type Transformations. IEEE Transactions on Software Engineering SE-7, pp. 32–39, January 1981.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Reidar Conradi Tor M. Didriksen Dag H. Wanvik

Rights and permissions

Reprints and permissions

Copyright information

© 1987 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Scherlis, W.L. (1987). Abstract data types, specialization, and program reuse. In: Conradi, R., Didriksen, T.M., Wanvik, D.H. (eds) Advanced Programming Environments. Lecture Notes in Computer Science, vol 244. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-17189-4_112

Download citation

  • DOI: https://doi.org/10.1007/3-540-17189-4_112

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-17189-8

  • Online ISBN: 978-3-540-47347-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics