Abstract
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.
©1989 Shy, Taylor, and Osterweil. Redistributed by permission.
This material is based upon work supported by the National Science Foundation under Award No.s CCR-8704311 and CCR-8996102-01, both with cooperation from the Defense Advanced Research Projects Agency, by the National Science Foundation under Award No.s CCR-8451421 and CCR-8521398, Hughes Aircraft (PYI program), and TRW (PYI program).
Preview
Unable to display preview. Download preview PDF.
References
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.
Clemm, G.M. and Osterweil, L.J., “A Mechanism for Environment Integration”, ACM Transactions on Programming Languages and Systems, 1989. To appear.
Conway, M.E., “How do Committees Invent”, Datamation, 14(4):28–31, April 1968.
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.
Dowson, M., “Integrated Project Support with ISTAR”, IEEE Software, 4(6):6–15, November 1987.
Eureka Software Factory Consortium ESF, Technical reference guide, June 1989.
Kernighan, B.W. and Mashey, J.R., “The UNIX Programming Environment”, IEEE Computer, 14(4):12–24, April 1981.
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).
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.
Osterweil, L.J., “Software Environment Research: Directions for the Next Five Years”, IEEE Computer, 14(4):35–43, 1981.
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.
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.
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.
Rochkind, M.J., “The Source Code Control System”, IEEE Transactions on Software Engineering, 1(4):364–370, December 1975.
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).
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.
Teitelman, W. and Masinter, L., “The Interlisp Programming Environment”, IEEE Computer, 14(4):25–33, April 1981.
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.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1990 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Shy, I., Taylor, R., Osterweil, L. (1990). A metaphor and a conceptual architecture for software development environments. In: Long, F. (eds) Software Engineering Environments. Lecture Notes in Computer Science, vol 467. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-53452-0_33
Download citation
DOI: https://doi.org/10.1007/3-540-53452-0_33
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-53452-5
Online ISBN: 978-3-540-46886-8
eBook Packages: Springer Book Archive