• David R. Musser
  • Alexander A. Stepanov
Part of the Springer Compass International book series (COMPASS)


Most work on improving software productivity and reliability has focused on language issues or on program development tools or environments. While these are important issues, the real key to software productivity, and to the reliability and maintainability of the product, may well be the construction and widespread use of libraries of highly reusable software components. The importance of reusable software components is rapidly gaining recognition, and libraries of considerable magnitude have been developed in the Ada language. Unfortunately, in most libraries little advantage has been taken of the facilities of Ada for generic programming. Thus, as in previous libraries developed in older languages such as Fortran or Jovial, there is little flexibility and much unnecessary duplication of code and documentation, causing difficulties in learning to use the library and in maintaining and extending it.


Generic Algorithm Data Abstraction Common LISP Concrete Algorithm Structural Abstraction 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    G. Booch, Software Components in Ada. Benjamin/Cummings, 1987.Google Scholar
  2. [2]
    O.-J. Dahl, E. W. Dijkstra, and C. A. R. Hoare, Structured Programming, Academic Press, 1972.Google Scholar
  3. [3]
    J. Goguen, “Parameterized Programming,” Transactions on Software Engineering, SE-10(5): 528–543, September 1984.Google Scholar
  4. [4]
    A. Kershenbaum, D. R. Musser and A. A. Stepanov, “Higher Order Imperative Programming,” Computer Science Dept. Rep. No. 88–10, Rensselaer Polytechnic Institute, Troy, New York, April 1988.Google Scholar
  5. [5]
    Donald E. Knuth, The Art of Computer Programming, Vols. 1–3, Addison-Wesley, 1968, 1969, 1973.Google Scholar
  6. D. R. Musser and A. A. Stepanov, “A Library of Generic Algorithms in Ada,” Proc. of 1987 ACM SIGAda International Conference,Boston, December, 1987.Google Scholar
  7. D.R. Musser and A.A. Stepanov, “Generic Programming,” invited paper, to appear in Proc. 1988 International Symposium on Symbolic and Algebraic Computation, Lecture Notes in Computer Science, Springer-Verlag, July, 1988.Google Scholar
  8. [8]
    R. Sedgewick, Algorithms, Addison-Wesley, 1983.Google Scholar
  9. [9]
    G. L. Steele, Common LISP: The Language, Digital Press, 1984.Google Scholar
  10. [10]
    N. Wirth, Algorithms + Data Structures = Programs, Prentice-Hall, 1976.Google Scholar

Copyright information

© Springer-Verlag New York Inc. 1989

Authors and Affiliations

  • David R. Musser
    • 1
  • Alexander A. Stepanov
    • 2
  1. 1.Computer Science DepartmentRensselaer Polytechnic InstituteTroyUSA
  2. 2.Software Technology LaboratoryHewlett-Packard LaboratoriesPalo AltoUSA

Personalised recommendations