Advertisement

Abstract data types, specialization, and program reuse

  • William L. Scherlis
Program Reuse And Transformations
Part of the Lecture Notes in Computer Science book series (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.

Keywords

Transformation Rule Type Boundary Type Transformation List Type Abstract Type 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Bibliography

  1. [Balzer83]
    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. [Bauer85]
    Bauer, et al., The Munich Project CIP, Volume 1. Springer-Verlag, 1985.Google Scholar
  3. [Boyle84]
    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. [Cheatham84]
    Cheatham, T.E., Reusability Through Program Transformations. IEEE Transactions on Software Engineering SE-10, No. 5, September, 1984.Google Scholar
  5. [Dietzen86]
    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. [Green83]
    Green, C.C. et al, Report on a Knowledge Based Software Assistant. Kestrel Institute Report, 1983.Google Scholar
  7. [Guttag85]
    Guttag, J.V., J.J. Horning, and J.M. Wing, Larch in Five Easy Pieces. DEC SRC Technical Report, 1985.Google Scholar
  8. [Kernighan84]
    Kernighan, B.W., The Unix System and Software Reusability. IEEE Transactions on Software Engineering SE-10, No. 5, September, 1984.Google Scholar
  9. [Jorring86a]
    Jorring, U. and W.L. Scherlis, Compilers and Staging Transformations. Thirteenth POPL Conference, 1986.Google Scholar
  10. [Jorring86b]
    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. [Neighbors84]
    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. [Rich81]
    Rich, C., A Formal Representation for Plans in the Programmer's Apprentice. Seventh IJCAI Proceedings, pp. 1044–1052, 1981.Google Scholar
  13. [Scherlis81]
    Scherlis, W.L., Program Improvement by Internal Specialization. Eighth POPL, pp. 41–49, 1981.Google Scholar
  14. [Scherlis83a]
    Scherlis, W.L. and D.S. Scott, First Steps Towards Inferential Programming. IFIP Congress 83, pp. 199–212, North-Holland, 1983.Google Scholar
  15. [Scherlis83b]
    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. [Scherlis85]
    Scherlis, W.L., Adapting Abstract Data Types. Carnegie Mellon Technical Report, 1985.Google Scholar
  17. [Wile81]
    Wile, D.S., Type Transformations. IEEE Transactions on Software Engineering SE-7, pp. 32–39, January 1981.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1987

Authors and Affiliations

  • William L. Scherlis
    • 1
  1. 1.Carnegie-Mellon UniversityPittsburgh

Personalised recommendations