This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Models of Software Development Environments
March 1991 (vol. 17 no. 3)
pp. 283-295

A general model of software development environments that consists of structures, mechanisms, and policies is presented. The advantage of this model is that it distinguishes intuitively those aspects of an environment that are useful in comparing and contrasting software development environments. Four classes of environments-the individual, the family, the city. and the state-are characterized by means of a sociological metaphor based on scale. The utility of the taxonomy is that it delineates the important classes of interactions among software developers and exposes the ways in which current software development environments inadequately support the development of large systems. The generality of the model is demonstrated by its application to a previously published taxonomy that categorizes environments according to how they relate to language-centered, structure-oriented, toolkit, and method-based environments.

[1] Ada Programming Language. New York: American Nat. Standards Inst., 1983.
[2] E. W. Adams, M. Honda, and T. C. Miller, "Object management in a CASE environment," inProc. 11th Int. Conf. Software Engineering, Pittsburgh, PA, May 15-18, pp. 154-163.
[3] J. E. Archer, Jr., and M. T. Devlin, "Rational's experience using Ada for very large systems," inProc. First Int. Conf. Ada Programming Language Applications for the Nasa Space Station, NASA, June 1986, pp. B2.5.1-B2.5.12.
[4] P. A. Bernstein, "Database system support for software engineering,"Proc. 9th Int. Conf. Software Engineering, Monterey, CA, Mar. 1987, pp. 166-178.
[5] G. Boudier, F. Gallo, R. Minot, and I. Thomas, "An overview of PCTE and PCTE+," inACM SIGSOFT '88: Third Symp. Software Development Environments, Boston, MA, Nov. 1988, pp. 248-257; see alsoSIGSOFT Software Eng. Notes, vol. 13, no. 5, Nov. 1988; see alsoSIGPLAN Notices, vol. 24, no. 2, Feb. 1989.
[6] T. E. Cheatham, Jr., G. H. Holloway, and J. A. Townley, "Program refinement by transformation," inProc. 5th Int. Conf. Software Engineering, San Diego, CA, Mar. 1981, pp. 430-437.
[7] P. P. Chen, "The Entity-Relationship Model -- Towards a Unified View of Data,"ACM Trans. Database Syst., Vol. 1, No. 1, Mar. 1976, pp. 9-36.
[8] S.A. Dart, R. J. Ellison, P.H. FeiIer, and A.N. Habermann, "Software development environments,"Computer, vol. 20, no. 11, pp. 18-28, Nov. 1987.
[9] P. De la Cruz, B. Krieg-Bruekner, and A. Perez Riesco, "From algebraic specifications to correct Ada programs: The Esprit project PROSPECTRA," inAda The Design Choice. Proc. Ada-Europe Int. Conf., Madrid, June 13-15, 1989.
[10] F. DeRemer and H. H. Kron, "Programming-in-the-large versus programming-in-the-small,"IEEE Trans. Software Eng., vol. SE-2, no. 2, pp. 80-86, June 1976.
[11] Digital Equipment Corp.,User's Introduction to VAX DEC/CMS. Maynard, MA: Digital, 1984.
[12] K.D. Cooper, K. Kennedy, and L. Torczon, "The impact of interprocedure analysis and optimization in theRnenvironment,"ACM Trans. Program. Lang. Syst., vol. 8, no. 4, pp. 491-523, Oct. 1986.
[13] V. Donzeau-Gouge, G. Kahn, B. Lang, and B. Melese, "Documents structure and modularity in mentor," inACM SIGSOFT/SIGPLAN Software Engineering Symp. Practical Software Development Environments, Pittsburgh, PA, Apr. 1984, pp. 141-148; see alsoSIGSOFT Eng. Notes, vol. 9, no. 3, May 1984, see alsoSIGPLAN Notices, vol. 19, no. 5, May 1984.
[14] M. Dowson, "Integrated project support with IStar,"IEEE Software, vol. 4, no. 6, pp. 6-15, Nov. 1987.
[15] P.H. Feiler and R. Medina-Mora, "An incremental programming environment,"IEEE Trans. Software Eng., vol. SE-7, no. 5, pp. 472-482, Sept. 1981.
[16] S. F. Fickas, "Automating the transformational development of software,"IEEE Trans. Software Eng., vol. SE-11, no. 11, pp. 1268- 1278, Nov. 1985.
[17] S. I. Feldman, "Make--A program for maintaining computer programs,"Software--Practice&Experience, vol. 9, pp. 255-265, Apr. 1979.
[18] D. Garlan, "Views for tools in integrated environments," inAdvanced Programming Environments, R. Conradi, T. M. Didriksen, and D. H. Wanvik, Eds. Berlin: Springer-Verlag, 1986, pp. 314-343.
[19] C. Ghezzi and D. Mandrioli, "Augmenting parsers to support incrementahty,"J. ACM, vol. 27, no. 3, pp. 564-579, July 1980.
[20] A. Goldberg,Smalltalk-80. The Interactive Programming Environment. Reading, MA: Addison-Wesley, 1984.
[21] A.N. Habermann and D. Notkin, "Gandalf: Software development environments,"IEEE Trans. Software Eng., vol. SE-12, pp. 1117-1127, Dec. 1986.
[22] A. N. Habermann and D. E. Perry, "System composition and version control for Ada," inSoftware Engineering Environments, H. Huenke, Ed. New York: North-Holland, 1981, pp. 331-343.
[23] M.F. Hornick and S.B. Zdonik, "A shared, segmented memory system for an object-oriented database,"ACM Trans. Office Automation Systems, vol. 5, no. 1, pp. 70-95, Jan. 1987.
[24] S. Horwitz and T. Teitelbaum, "Generating editing environments based on relations and attributes,"ACM Trans. Program. Lang. Syst., vol. 8, no. 4, pp. 577-608, Oct. 1986.
[25] S. Horowitz, J. Prins, and T. Reps, "Integrating non-interfering versions of programs,"Trans. Program. Lang. Syst., vol. 11, no. 3, pp. 345-387, July 1989.
[26] W. E. Howden, "Contemporary software development environments,"Commun. ACM, vol. 25, no. 5, pp. 318-329, May 1982.
[27] W. S. Humphrey, "Characterizing the software process,"IEEE Software, vol. 5, no. 2, pp. 73-79, Mar. 1988.
[28] C.B. Jones,Systematic Software Development Using VDM, Prentice Hall Int'l, 1986.
[29] S. C. Johnson, "Yacc: Yet another compiler-compiler," inUNIX Programmer's Manual, 7th ed., vol. 2B, Jan. 1979.
[30] W. Joy, "An introduction to the C shell," inUNIX User's Manual Supplementary Documents, p. USD:4, 1986.
[31] G. E. Raiser and P. H. Feiler, "Intelligent assistance without artificial intelligence," inProc. 32nd IEEE Comput. Soc. Int. Conf., San Francisco, CA, Feb. 1987, pp. 236-241.
[32] G. E. Kaiser, P. H. FeiIer, and S. S. Popovich, "Intelligent assistance for software development and maintenance,"IEEE Software, vol. 5, no. 3, pp. 40-49, May 1988.
[33] G.E. Kaiser and A. N. Habermann, "An environment for system version control," inProc. 26th IEEE Comput. Soc. Int. Conf., San Francisco, CA, Feb. 1983, pp. 415-420.
[34] G. E. Kaiser and S. M. Kaplan, "Reliability in distributed programming environments," inProc. 6th Symp. Reliability in Distributed Software and Database Systems, IEEE Comput. Soc., Williamsburg, VA, Mar. 1987, pp. 45-55.
[35] G. E. Kaiser, S. M. Kaplan, and J. MicaIlef, "Multiuser, distributed language-based environments,"IEEE Software, vol. 4, no. 6, pp. 58-67, Nov. 1987.
[36] G. E. Kaiser aad D. E. Perry, "Workspaces aad experimental databases: Automated support for software maintenance and evolution," inProc. Conf. Software Maintenance, Austin, TX, Sept. 1987, pp. 108-114.
[37] G.E. Kaiser, D.E. Perry, and W.M. Schell, "Infuse: Fusing integration test management with change management," inProc. COMPSAC'89--13th Annu. Int. Computer Software and Applications Conf., Orlando, FL, Sept. 1989, pp. 552-558.
[38] B. W. Kernighan and J.R. Mashey, "The UNIX programming environment,"Computer, vol. 12, no. 4, pp. 25-34, Apr. 1981.
[39] D.A. Lamb, "IDL: Sharing intermediate representations,"ACM Trans. Program. Lang. Syst., vol. 9, no. 3, pp. 297-318, July 1987.
[40] D. B. Leblang and R. P. Chase, Jr., "Parallel software configuration management in a network environment,"IEEE Software, vol. 4, no. 6, pp. 28-35, Nov. 1987.
[41] D. B. Leblang and R. P. Chase, Jr., "Computer-aided software engineering in a distributed workstation environment," inSIGSOFT/SIGPLAN Software Engineering Symp. Practical Software Development Environments, Pittsburgh, PA, Apr. 1984, pp. 104-112; see alsoSIGSOFT Software Engineering Notes, vol. 9, no. 3, May 1984; see alsoSIGPLAN Notices, vol. 19, no. 5, May 1984.
[42] P. Lee, F. Pfenning, G. Rollins, and D. Scott, "The ERGO support system: An integrated set of tools for prototyping integrated environments," inProc. ACM SIGSOFT/SIGPLAN Software Engineering Symp. Practical Software Development Environments. Nov. 1988, pp. 25-34.
[43] M. M. Lehman and W. M. Turski, "EssentiaI properties of IPSEs,"Software Eng. Notes, vol. 12, no. 1, pp. 52-55, Jan. 1987.
[44] M. A. Linton, "ImpIementing relational views of programs," inSIGSOFT/SIGPLAN Software Engineering Symp. Practical Software Development Environments, Pittsburgh, PA, Apr. 1984, pp. 132-140, see alsoSIGSOFT Software Eng. Notes, vol. 9, no. 3, May 1984; see alsoSIGPLAN Notices, vol. 19, no. 5, May 1984.
[45] D. C. Luckham, F. W. von Henke, B. Krieg-Bruekner, and O. Owe,Anna. A Language for Annotating Ada Programs. Reference Manual(Lecture Notes in Computer Science: 260). Berlin: Springer-Verlag, 1987.
[46] Y. S. Maarek and G. E. Kaiser, "Change management for very large software systems," inProc. Seventh Annu. Int. Phoenix Conf. Computers and Communications, Scottsdale, AZ, Mar. 1988, pp. 280-285.
[47] N. Minsky and D. Rozenshtein, "Software development environment for law-governed systems," inACM SIGSOFT '88: Third Symp. Software Development Environments, Boston, MA, Nov. 1988, pp. 65-75; see alsoSIGSOFT Software Eng. Notes, vol. 13, no. 5, Nov. 1988; see alsoSIGPLAN Notices, vol. 24, no. 2, Feb. 1989.
[48] R. Munck, P. Obendorf, E. Ploedereder, and R. Thall, "An overview of DOD-STD-1838A (proposed), the common APSE interface set, Revision A," inACM SIGSOFT '88: Third Symp. Software Development Environments, Boston, MA, Nov. 1988, pp. 235-248, see alsoSIGSOFT Software Eng. Notes, vol. 13, no. 5, Nov. 1988; see alsoSIGPLAN Notices, vol. 24, no. 2, Feb. 1989.
[49] J.R. Nestor, "Toward a persistent object base," inAdvanced Programming Environments, R. Conradi, T. M. Didriksen, and D. H. Wanvik, Eds. Berlin Springer-VerIag, 1986, pp. 372-394.
[50] D. Notkin, "The GANDALF project,"J. Syst. Software, vol. 5, no. 2, pp. 91-105, May 1985.
[51] E. I. Organick,The Multics System: An Examination of Its Structure. Cambridge, MA: MIT Press, 1972.
[52] L. Osterweil, "Software processes are software too," inProc. 9th Int. Conf. Software Engineering, Monterey, CA, Mar. 1987, pp. 2-13.
[53] L. Osterweil, "Toolpack--An experimental software development environment research project,"IEEE Trans. Software Eng., vol. SE-9, no. 6, pp. 673-685, Nov. 1983.
[54] M. H. Penedo, "Prototyping a project master database for software engineering environments," inSIGSOFT/SIGPLAN Software Engineering Symp. Practical Software Development Environments, Palo Alto, CA, Dec. 1986, pp. 1-11; see alsoSIGPLAN Notices, vol. 22, Jan. 1987.
[55] M. Penedo, E. Ploedereder, and I. M. Thomas, "Object management issues for software engineering environments (workshop report)," inACM SIGSOFT '88: Third Symp. Software Development Environments, Nov. 1988, pp. 226-234; see alsoSIGSOFT Software Eng. Notes, vol. 13, no. 5, Nov. 1988; see alsoSIGPLAN Notices, vol. 24, no. 2, Feb. 1989.
[56] D. E. Perry, "Software interconnection models," inProc. 9th Int. Conf. Software Engineering, Monterey, CA, Mar. 1987, pp. 61-69.
[57] D. Perry, "The Inscape Environment," inProc. 11th Int. Conf. Software Engineering, IEEE, 1989, pp. 2-12.
[58] D. E. Perry, Ed.,Proc. Fifth Int. Software Process Workshop: Experience with Process Models, Kennebunkport, ME, Oct. 1989.
[59] D.E. Perry and G.E. Kaiser, "Infuse: A tool for automatically managing and coordinating source changes in large systems," inProc. ACM Fifteenth Annu. Computer Science Conf., St. Louis, MO, Feb. 1987, pp. 292-299.
[60] D.E. Perry and G.E. Kaiser, "Adequate testing and object oriented programming,"J. Object-Oriented Programming, vol. 2, pp. 13-19, Jan. 1990.
[61] S.P. Reiss, "Graphical program development with PECAN program development system," inSIGSOFT/SIGPLAN Software-Engineering Symp. Practical Software Development Environments, Pittsburgh, PA, Apr. 1984; see alsoSIGSOFT Software Eng. Notes, vol. 9, no. 3, May 1984; see alsoSIGPLAN Notices, vol. 19, no. 6, May 1984.
[62] S.P. Reiss, "Working in the garden environment for conceptual programming,"IEEE Software, vol. 4, no. 6, pp. 16-27, Nov. 1987.
[63] T. W. Reps and T. Teitelbaum,The Synthesizer Generator: A System For Constructing Language-Based Editors. New York: Springer-Verlag, 1988.
[64] T. Reps,Generating Language-Based Environments. Cambridge, MA: MIT Press, 1984.
[65] C. Rich and R. C. Waters, "Automatic programming: Myths and prospects,"Computer, vol. 21, no. 8, pp. 40-51, Aug. 1988.
[66] C. Rich and R. C. Waters, "The programmer's apprentice: A research overview,"Computer, vol. 21, no. 11, pp. 10-25, Nov. 1988.
[67] M. J. Rochkind, "The source code control system,"IEEE Trans. Software Eng., vol. SE-1, no. 4, pp. 364-370, Dec. 1975.
[68] L. A. Rowe, "Report on the 1989 software CAD databases workshop," inInformation Processing 89. Proc. IFIP 11th World Computer Congress, San Francisco, CA, Aug. 1989, pp. 719-725.
[69] B. R. Rowland, R. E. Anderson, and P. S. McCabe, "The 3B20D processor&DMERT operating system: Software development system,"Bell Syst. Tech. J., vol. 62, no. 1, part 2, pp. 275-290, Jan. 1983.
[70] B.G. Ryder and M. C. Paull, "Incremental data-flow analysis,"ACM Trans. Program Lang. Syst., vol. 10, pp. 1-50, Jan. 1988.
[71] R. W. Schwanke, E. S. Cohen, R. Gluecker, W. M. Hasling, D. A. Soni, and M. E. Wagner, "Configuration management in BiiN SMS," inProc. 11th Int. Conf. Software Engineering, Pittsburgh, PA, May 1989, pp. 383-393.
[72] I. Shy, R. Taylor, and L. Osterweil, "A metaphor and a conceptual framework for software development environments," inSoftware Engineering Environments: Proc. Int. Workshop Environments, Chinon, France, Sept. 1989, F. Long, Ed. Berlin: Springer-Verlag, 1990, pp. 77-97.
[73] D.R. Smith, G. B. Kotik, and S. J. Westfold, "Research on knowledge-based software environments at Kestrel Institute,"IEEE Trans. Software Eng., vol. SE-11, no. 11, pp. 1278-1295, Nov. 1985.
[74] R. Snodgrass,The Interface Description Language. Rockville, MD: Computer Science Press, 1989.
[75] G. L. Steele, Jr.,Common Lisp The Language. Burlington, MA: Digital Press, 1984.
[76] V. Stenning, "An introduction to ISTAR," inSoftware Engineering Environments, I. Sommerville, Ed. London: Peregrinus, 1986. pp. 1-22.
[77] D. Swinehart, P. Zellweger, R. Beach, and R. Hagmann, "A structural view of the Cedar programming environment,"ACM Trans. Program Lang. Syst., vol. 8, no. 4, pp. 419-490, Oct. 1986.
[78] R.N. Taylor, R. W. Selby, M. Young, F. C. BeIz, L. A. Clarke, J. C. Wileden, L. Osterweil, and A. L. Wolf, "Foundations for the Arcadia environment architecture," inACM SIGSOFT '88: Third Symp. Software Development Environments, Boston, MA, Nov. 1988, pp. 1-13; see alsoSIGSOFT Software Eng. Notes, vol. 13, no. 5, Nov. 1988; see alsoSIGPLAN Notices, vol. 24, no. 2, Feb. 1989.
[79] W. Teitelman and L. Masinter, "The Interlisp programming environment,"Computer, vol. 14, no. 4, pp. 25-34, Apr. 1981.
[80] I. Thomas, "PCTE interfaces: Supporting tools in software-engineering environments,"IEEE Software, vol. 6, no. 6, pp. 15-23, Nov. 1989.
[81] Walter F. Tichy, "RCS--A system for version control,"Software--practice and Experience, vol. 15, no. 7, pp. 637-654, July 1985.
[82] C. Tully, Ed., "Representing and enacting the software process," inProc 4th Int. Software Process Workshop, Moretonhampstead, Devon, England, May 1988; see alsoACM SIGSOFT Software Eng. Notes, vol. 14, no. 4, June 1989.
[83] J. Walpole, G. Blair, J. Malik, and J. Nichol, "A unifying model for consistent distributed software development environments,"Software Eng. Notes (Proc. ACM Software Engineering Symp. Practical Software Development Environments), vol. 13, no. 5, pp. 183-190, Nov. 1988.
[84] A. I. Wasserman and P. A. Pircher,Proc. ACM SIGSOFT/SIGPLAN Symp. Practical Software Development Environments, Palo Alto, CA, Dec. 1986, pp. 131-142; see alsoSIGPLAN Notices, vol. 22, Jan. 1987.
[85] E. J. Weyuker, "The evaluation of program-based software test data adequacy criteria,"Commun. ACM, vol. 31, no. 6, pp. 668-675, June 1988.
[86] D. S. Wile and D. G. Allard, "Worlds: an Organizing structure for object-bases," inProc. ACM SIGSOFT/SIGPLAN Symp. Practical Software Development Environments, Palo Alto, CA, Dec. 1986, pp. 130-142; see alsoSIGPLAN Notices, vol. 22, no. 1, Jan. 1987.
[87] J. C. Wileden, L. A. Clarke, and A. L. Wolf, "A comparative evaluation of object definition techniques for large prototype systems,"ACM Trans. Program. Lang. Syst., vol. 12, no. 4, pp. 670-699, Oct. 1990.
[88] A. L. Wolf, J. C. Wileden, C. D. Fisher, and P. L. Tarr, "PGraphite: An experiment in persistent typed object management," inACM SIGSOFT '88: Third Symp. Software Development Environments, Boston, MA, Nov. 1988, pp. 130-142; see alsoSIGSOFT Software Eng. Notes, vol. 13, no. 5, Nov. 1988; see alsoSIGPLAN Notices, vol. 24, no. 2, Feb. 1989.
[89] W. A. Wulf, R. Levin, and S. P. Harbison,HYDRA/C.mmp: An Experimental Computer System. New York: McGraw-Hill, 1981, pp. 35-36.

Index Terms:
language centered environments; structure-oriented environments; toolkit environments; software development environments; sociological metaphor; method-based environments; programming environments
Citation:
D.E. Perry, G.E. Kaiser, "Models of Software Development Environments," IEEE Transactions on Software Engineering, vol. 17, no. 3, pp. 283-295, March 1991, doi:10.1109/32.75417
Usage of this product signifies your acceptance of the Terms of Use.