Support for Reusability in Genesis

Genesis is a software-engineering-based programming environment geared to support big software projects. The authors first discuss a reusability-driven development methodology that advocates software development based on reusability considerations. Then, they discuss the tools and techniques provided in Genesis to support this methodology. Techniques are suggested for improving the retrievability, composability, and understandability of software resources. Retrievability is improved by use of ESL (entity specification language) for tying resources through attributes and relations. Composability is improved through a mechanism called functional composition that provides considerably more generality than Unix pipes for composing programs. Understandability is improved by the use of program abstractors. >

[1]  Brian W. Kernighan,et al.  The UNIX™ programming environment , 1979, Softw. Pract. Exp..

[2]  Adele Goldberg,et al.  Smalltalk-80 - the interactive programming environment , 1984 .

[3]  Michael Stonebraker,et al.  The design and implementation of INGRES , 1976, TODS.

[4]  Ken Thompson,et al.  The UNIX time-sharing system , 1974, CACM.

[5]  E. Don Stuckle Lessons Learned in Building the TRW Software Productivity System , 1985, COMPCON.

[6]  James M. Boyle,et al.  Program Reusability through Program Transformation , 1984, IEEE Transactions on Software Engineering.

[7]  Atul Prakash,et al.  Programming in the large , 1986, IEEE Transactions on Software Engineering.

[8]  B. R. Rowland,et al.  The 3B20D Processor & DMERT operating system: Software development system , 1983, The Bell System Technical Journal.

[9]  Thomas E. Cheatham,et al.  Reusability Through Program Transformations , 1984, IEEE Transactions on Software Engineering.

[10]  Brian W. Kernighan,et al.  The Unix Progamming Environment , 1981, Computer.