An Expansive View of Reusable Software

The present crisis in software development forces us to reconsider the fundamental ways in which programming is done. One often quoted solution is to exploit more fully the idea of reusable software. It is the purpose of this paper to examine this concept in all of its forms and to assess the current state of the art. In addition to its usual meaning of reusable code, reusability includes reusable design, various forms of specification systems. so-called application generators, and systems for prototyping. We examine each approach from the perspective of the practicing engineer, and we evaluate the work in terms of how it may ultimately improve the development process for large-scale software systems.

[1]  Evan L. Ivie The programmer's workbench—a machine for software development , 1977, CACM.

[2]  Jacques J. Arsac,et al.  Syntactic source to source transforms and program manipulation , 1979, CACM.

[3]  Ernest A. Hershey,et al.  PSL/PSA: A Computer-Aided Technique for Structured Documentation and Analysis of Information Processing Systems , 1976, IEEE Transactions on Software Engineering.

[4]  Moshé M. Zloof QBE/OBE: A Language for Office and Business Automation , 1981, Computer.

[5]  Robert Balzer,et al.  A 15 Year Perspective on Automatic Programming , 1985, IEEE Transactions on Software Engineering.

[6]  Robert Balzer A Gobal View of Automatic Programming , 1973, IJCAI.

[7]  John Darlington,et al.  A Transformation System for Developing Recursive Programs , 1977, J. ACM.

[8]  S. Peter de Jong,et al.  The System for Business Automation (SBA): Programming language , 1976, Commun. ACM.

[9]  Amir Pnueli,et al.  Use of a Nonprocedural Specification Language and Associated Program Generator in Software Development , 1979, TOPL.

[10]  John Gordon Rice,et al.  Build Program Technique: A Practical Approach for the Development of Automatic Software Generation Systems , 1981 .

[11]  R. Douglas Gordon The Modular Application Customizing System , 1980, IBM Syst. J..

[12]  Robert Balzer,et al.  Informality in Program Specifications , 1899, IEEE Transactions on Software Engineering.

[13]  Joan M. Morrissey,et al.  On Software Engineering-An Economic Perspective , 1979, ICSE.

[14]  Michael Hammer,et al.  A very high level programming language for data processing applications , 1977, Commun. ACM.

[15]  Robert Balzer,et al.  On the Transformational Implementation approach to programming , 1976, ICSE '76.

[16]  Robert Balzer,et al.  Principles of good software specification and their implications for specification languages , 1981, AFIPS '81.

[17]  Thomas E. Cheatham,et al.  A System for Program Refinement , 1979, ICSE.

[18]  Hassan Gomaa,et al.  Prototyping as a tool in the specification of user requirements , 1981, ICSE '81.