This Article 
 Bibliographic References 
 Add to: 
Support for Reusability in Genesis
August 1988 (vol. 14 no. 8)
pp. 1145-1154

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] I. Bitar, M. H. Penedo, and E. D. Stuckle, "Lessons learned in building the TRW software productivity system," inProc. COMPCON, San Francisco, CA, Spring 1985.
[2] V. K. Garg, "Genesis: A software engineering environment for programming-in-the-large," Master's thesis, Comput. Sci. Div., Univ. California, Berkeley, 1985.
[3] C. V. Ramamoorthy, Y. Usuda, W.-T. Tsai, and A. Prakash, "Genesis: An integrated environment for development and evolution of software," inProc. 9th Int. Comput. Software Appl. Conf., Chicago, IL, Oct. 1985, pp. 472-479.
[4] C. V. Ramamoorthy, V. K. Garg, and A. Prakash, "Programming in the large,"IEEE Trans. Software Eng., vol. SE-12, pp. 769-783, July 1986.
[5] A. Goldberg,Smalltalk-80. The Interactive Programming Environment. Reading, MA: Addison-Wesley, 1984.
[6] D. M. Ritchie and K. Thompson, "The UNIX time-sharing system,"Commun. ACM, vol. 17, pp. 365-375, July 1974.
[7] J. M. Boyle and M. N. Muralidaran, "Program reusability through program transformation,"IEEE Trans. Software Eng., vol. SE-10, pp. 574-588, Sept. 1984.
[8] T. E. Cheatham, Jr., "Reusability through program transformation,"IEEE Trans. Software Eng., vol. SE-10, pp. 589-594, Sept. 1984,
[9] B. W. Boehm,Software Engineering Economics. Englewood Cliffs, NJ: Prentice-Hall, 1981.
[10] P. S. Chen,The Entity-Relationship Approach to Software Engineering. New York: Elsevier Science, 1983.
[11] B. R. Rowland and R. J. Welsch, "The 3B20D processor&DMERT operating system: Software development system,"Bell Syst. Tech. J., vol. 12, no. 1, pp. 275-289, Jan. 1983.
[12] M. Stonebraker,et al., "The design and implementation of INGRES,"ACM Trans. Database Syst., vol. 1, no. 3, Sept. 1976.
[13] B. W. Kernighan and J. R. Mashey, "The Unix programming environment,"IEEE Comput., vol. 14, pp. 12-24, Apr. 1981.
[14] Y. F. Chen and C. V. Ramamoorthy, "The C Information Abstractor," inProc. Tenth Int. Comput. Software and Appl. Conf., Chicago, IL, 1986.

Index Terms:
software reusability; software reuse; software tools; file organisation; databases; query languages; Genesis; programming environment; reusability-driven development methodology; software development; software resources; ESL; entity specification language; functional composition; program abstractors; database management systems; file organisation; programming environments; query languages; software tools; specification languages
C.V. Ramamoorthy, V. Garg, A. Prakash, "Support for Reusability in Genesis," IEEE Transactions on Software Engineering, vol. 14, no. 8, pp. 1145-1154, Aug. 1988, doi:10.1109/32.7625
Usage of this product signifies your acceptance of the Terms of Use.