A metaphor and a conceptual architecture for software development environments

  • Izhar Shy
  • Richard Taylor
  • Leon Osterweil
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 467)


A conceptual architecture for software development environments (SDEs) is presented in terms of a new metaphor drawn from business enterprises. A metaphor is employed as the architecture is complex, requiring understanding from several perspectives. The metaphor provides a rich set of familiar concepts that strongly aid in understanding the environment architecture and software production. The metaphor is applicable to individual programming environments, software development environments supporting teams of developers, and to large-scale software production as a whole.

The paper begins by considering three perspectives on SDEs, a function-based view, an objects-and-relations view, and a process-centered view. The process view, being the most encompassing, is held through the remainder of the paper. Three metaphors for organizing and explaining a process-centered environment are then examined, including the hierarchical contract model and the individual/family/city/state model. Next the corporation model is introduced and a detailed analogy is drawn between corporations and software development environments. Within the context of the corporation metaphor, three corporate organization schemes are reviewed and federal decentralization is argued to be most appropriate for an SDE. Relationships induced by such an organization are discussed and a mapping between the conceptual architecture and a possible implementation architecture is briefly discussed.


models of software development software development environments process modeling software factory scalable heterogeneous architectures metaphors 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [BuDr80]
    Buxton, J.N. and Druffel, L.E., “Rationale for Stoneman”, in Fourth International Computer Software and Applications Conference, pp. 66–72, Chicago, Illinois, October 1980.Google Scholar
  2. [ClOs89]
    Clemm, G.M. and Osterweil, L.J., “A Mechanism for Environment Integration”, ACM Transactions on Programming Languages and Systems, 1989. To appear.Google Scholar
  3. [Conw68]
    Conway, M.E., “How do Committees Invent”, Datamation, 14(4):28–31, April 1968.Google Scholar
  4. [Dows86]
    Dowson, M., “ISTAR — An Integrated Project Support Environment”, in Proceedings of the Second ACM SIGSOFT/SIGPLAN Symposium on Practical Software Development Environments, pp. 27–33, Palo Alto, California, December 1986. Appeared as SIGPLAN Notices 22(1), January 1987.Google Scholar
  5. [Dows87]
    Dowson, M., “Integrated Project Support with ISTAR”, IEEE Software, 4(6):6–15, November 1987.Google Scholar
  6. [ESF89]
    Eureka Software Factory Consortium ESF, Technical reference guide, June 1989.Google Scholar
  7. [KeMa81]
    Kernighan, B.W. and Mashey, J.R., “The UNIX Programming Environment”, IEEE Computer, 14(4):12–24, April 1981.Google Scholar
  8. [LeCh84]
    Leblang, D.B. and Chase, R.P. Jr., “Computer-Aided Software Engineering in a Distributed Workstation Environment”, ACM Sigplan Notices, 19(5):104–112, May 1984. (Proceedings of the First ACM SIGSOFT/SIGPLAN Symposium on Practical Software Development Environments).Google Scholar
  9. [Mats87]
    Matsumoto, Y., “A Software Factory: An Overall Approach to Software Production”, in Freeman,P., editor, Tutorial: Software Reusability, pp. 155–178. IEEE Computer Society Press, 1987.Google Scholar
  10. [Oste81]
    Osterweil, L.J., “Software Environment Research: Directions for the Next Five Years”, IEEE Computer, 14(4):35–43, 1981.Google Scholar
  11. [Oste87]
    Osterweil, L.J., “Software Processes are Software Too”, in Proceedings of the Ninth International Conference on Software Engineering, pp. 2–13, Monterey, California, March 1987.Google Scholar
  12. [PeKa87]
    Perry, D.E. and Kaiser, G.E., “Infuse: A Tool for Automatically Managing and Coordinating Source Changes in Large Systems”, in ACM Fifteenth Annual Computer Science Conference, pp. 292–299, St. Louis, MO, February 1987.Google Scholar
  13. [PeKa88]
    Perry, D.E. and Kaiser, G.E., “Models of Software Development Environments”, in Proceedings of the Tenth International Conference on Software Engineering, pp. 60–68, April 1988.Google Scholar
  14. [Roch75]
    Rochkind, M.J., “The Source Code Control System”, IEEE Transactions on Software Engineering, 1(4):364–370, December 1975.Google Scholar
  15. [TBC+88]
    Taylor, R.N., Belz, F.C., Clarke, L.A., Osterweil, L., Selby, R.W., Wileden, J.C., Wolf, A.L. and Young, M., “Foundations for the Arcadia Environment Architecture”, in Proceedings of ACM SIGSOFT '88: Third Symposium on Software Development Environments, pp. 1–13, Boston, November 1988. Appeared as Sigplan Notices 24(2) and Software Engineering Notes 13(5).Google Scholar
  16. [Tich82]
    Tichy, W.F., “Design, Implementation, and Evaluation of a Revision Control System”, in Proceedings of the Sixth International Conference on Software Engineering, pp. 58–67, Tokyo, Japan, September 1982.Google Scholar
  17. [TeMa81]
    Teitelman, W. and Masinter, L., “The Interlisp Programming Environment”, IEEE Computer, 14(4):25–33, April 1981.Google Scholar
  18. [WWRT89]
    Wileden, J.C., Wolf, A.L., Rosenblatt, W.R. and Tarr, P.L., “UTM-0: Initial Proposal for a Unified Type Model for Arcadia Environments”, Arcadia Technical Report UM-89-01, University of Massachusetts, Amherst, 1989.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1990

Authors and Affiliations

  • Izhar Shy
    • 1
  • Richard Taylor
    • 1
  • Leon Osterweil
    • 1
  1. 1.Department of Information and Computer ScienceUniversity of CaliforniaIrvineUSA

Personalised recommendations