Models of software development environments

The authors present a general model of software development environments that consist of three components: policies, mechanisms, and structures. The advantage of this formalization is that it distinguishes precisely those aspects of an environment that are useful in comparing and contrasting software development environments. They introduce four classes of models by a sociological metaphor that emphasizes scale: the individual, the family, the city, and the state models. The authors argue that there is a qualitative difference between the interactions among a small, family project and a large, city project and that this qualitative difference requires a fundamentally different model of software development environments. They illustrate the city model with Inscape/Infuse and ISTAR.<<ETX>>

[1]  Elliott I. Organick,et al.  The multics system: an examination of its structure , 1972 .

[2]  Hans H. Kron,et al.  Programming-in-the-Large Versus Programming-in-the-Small , 1975 .

[3]  Marc J. Rochkind,et al.  The source code control system , 1975, IEEE Transactions on Software Engineering.

[4]  Peter P. Chen The entity-relationship model: toward a unified view of data , 1975, VLDB '75.

[5]  T. A. Dolotta,et al.  UNIX time-sharing system: The programmer's workbench , 1978, The Bell System Technical Journal.

[6]  Murray Hill,et al.  Yacc: Yet Another Compiler-Compiler , 1978 .

[7]  Stuart I. Feldman,et al.  Make — a program for maintaining computer programs , 1979, Softw. Pract. Exp..

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

[9]  Carlo Ghezzi,et al.  Augmenting Parsers to Support Incrementality , 1980, JACM.

[10]  Bernard Lang,et al.  Programming Environments Based on Structured Editors: The MENTOR Experience, , 1980 .

[11]  Thomas E. Cheatham,et al.  Program refinement by transformation , 1981, ICSE '81.

[12]  Peter H. Feiler,et al.  An Incremental Programming Environment , 1981, IEEE Transactions on Software Engineering.

[13]  Larry Masinter,et al.  The Interlisp Programming Environment , 1981, Computer.

[14]  Thomas Reps,et al.  Programming Techniques and Data Structures , 1981 .

[15]  Thomas W. Reps,et al.  Generating Language-Based Environments , 1982 .

[16]  William E. Howden Contemporary software development environments , 1982, CACM.

[17]  Leon J. Osterweil,et al.  Toolpack—An Experimental Software Development Environment Research Project , 1983, IEEE Transactions on Software Engineering.

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

[19]  David Robson,et al.  Smalltalk-80: The Language and Its Implementation , 1983 .

[20]  Thomas Reps,et al.  The synthesizer generator , 1984 .

[21]  David B. Leblang,et al.  Computer-Aided Software Engineering in a distributed workstation environment , 1984 .

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

[23]  Bernard Lang,et al.  Document structure and modularity in mentor , 1984 .

[24]  William L. Scherlis Software Development and Inferential Programming , 1984 .

[25]  Guy L. Steele,et al.  Common Lisp the Language , 1984 .

[26]  Steven P. Reiss,et al.  Graphical program development with PECAN program development systems , 1984, SDE 1.

[27]  Mark A. Linton Implementing relational views of programs , 1984 .

[28]  Stephen Fickas,et al.  Automating the Transformational Development of Software , 1985, IEEE Transactions on Software Engineering.

[29]  Arcadia, a software development environment research project , 1985 .

[30]  David Notkin The GANDALF project , 1985, J. Syst. Softw..

[31]  Walter F. Tichy,et al.  Rcs — a system for version control , 1985, Softw. Pract. Exp..

[32]  Douglas R. Smith,et al.  Research on Knowledge-Based Software Environments at Kestrel Institute , 1985, IEEE Transactions on Software Engineering.

[33]  David Garlan,et al.  Views for Tools in Integrated Environments , 1986, Advanced Programming Environments.

[34]  T. A. Dolotta,et al.  The programmer's workbench , 1986 .

[35]  N H Minsky Controlling the evolution of large scale software systems , 1986 .

[36]  James E. Archer,et al.  Rational's experience using Ada for very large systems , 1986 .

[37]  Donald Cohen Automatic Compilation of Logical Specifications into Efficient Programs , 1986, AAAI.

[38]  Richard J. Beach,et al.  A structural view of the Cedar programming environment , 1986, TOPL.

[39]  Leon J. Osterweil,et al.  Software processes are software too , 1987, ISPW.

[40]  Cliff B. Jones,et al.  Systematic software development using VDM , 1986, Prentice Hall International Series in Computer Science.

[41]  Susan Horwitz,et al.  Generating editing environments based on relations and attributes , 1986, TOPL.

[42]  Richard C. Waters KBEmacs: Where's the AI? , 1986, AI Mag..

[43]  Ken Kennedy,et al.  The impact of interprocedural analysis and optimization in the Rn programming environment , 1986, TOPL.

[44]  Stanley B. Zdonik,et al.  The management of changing types in an object-oriented database , 1986, OOPSLA 1986.

[45]  David Notkin,et al.  Gandalf: Software development environments , 1986, IEEE Transactions on Software Engineering.

[46]  John R. Nestor Toward a Persistent Object Base , 1986, Advanced Programming Environments.

[47]  Josephine Micallef,et al.  Multiuser, Distributed Language-Based Environments , 1987, IEEE Software.

[48]  Dewayne E. Perry,et al.  Version control in the Inscape environment , 1987, ICSE '87.

[49]  Dewayne E. Perry,et al.  Software interconnection models , 1987, ICSE '87.

[50]  David B. Leblang,et al.  Parallel Software Configuration Management in a Network Environment , 1987, IEEE Software.

[51]  Gail E. Kaiser,et al.  An architecture for intelligent assistance in software development , 1987, ICSE '87.

[52]  Stanley B. Zdonik,et al.  A shared, segmented memory system for an object-oriented database , 1987, TOIS.

[53]  Mark Dowson,et al.  Integrated Project Support with IStar , 1987, IEEE Software.

[54]  David S. Wile,et al.  Worlds: an organizing structure for object-bases , 1987, SDE 2.

[55]  A. Nico Habermann,et al.  Software Development Environments , 1987, Computer.

[56]  Gail E. Kaiser,et al.  Intelligent Assistance without Artificial Intelligence , 1987, COMPCON.

[57]  M Lehman,et al.  Essential properties of IPSEs , 1987, SOEN.

[58]  Steven P. Reiss A conceptual programming environment , 1987, ICSE '87.

[59]  Steven P. Reiss Working in the Garden Environment for Conceptual Programming , 1987, IEEE Software.

[60]  P. A. Berstein Database system support for software engineering , 1987, ICSE '87.

[61]  Gail E. Kaiser,et al.  Infuse: a tool for automatically managing and coordinating source changes in large systems , 1987, CSC '87.

[62]  David Alex Lamb,et al.  IDL: sharing intermediate representations , 1987, TOPL.

[63]  Gail E. Kaiser,et al.  Reliability in Distributed Programming Environments , 1987, IEEE International Symposium on Reliable Distributed Systems.

[64]  Maria H. Penedo,et al.  Prototyping a project master database for software engineering environments , 1987, SDE 2.

[65]  Gail E. Kaiser,et al.  WORKSPACES AND EXPERIMENTAL DATABASES: AUTOMATED SUPPORT FOR SOFTWARE MAINTENANCE AND EVOLUTION. , 1987 .

[66]  Erhard Plödereder,et al.  An overview of DOD-STD-1838A (proposed) the common APSE interface set: revision , 1988, SDE 3.

[67]  Richard C. Waters,et al.  Automatic programming: myths and prospects , 1988, Computer.

[68]  Elaine J. Weyuker,et al.  The evaluation of program-based software test data adequacy criteria , 1988, CACM.

[69]  Erhard Plödereder,et al.  Object management issues for software engineering environments workshop report , 1988, SDE 3.

[70]  Naftaly H. Minsky,et al.  A software development environment for law-governed systems , 1988, SDE 3.

[71]  Barbara G. Ryder,et al.  Incremental data-flow analysis algorithms , 1988, TOPL.

[72]  Jonathan Walpole,et al.  A unifying model for consistent distributed software development environments , 1989, SDE 3.

[73]  Peter Lee,et al.  The ergo support system: an integrated set of tools for prototyping integrated environments , 1988, SDE 3.

[74]  Ian Thomas,et al.  An overview of PCTE and PCTE+ , 1989, SDE 3.

[75]  Jack C. Wileden,et al.  Foundations for the Arcadia environment architecture , 1989, SDE 3.

[76]  Richard C. Waters,et al.  The Programmer's Apprentice: a research overview , 1988, Computer.

[77]  Gail E. Kaiser,et al.  Change management for very large software systems , 1988, Seventh Annual International Phoenix Conference on Computers an Communications. 1988 Conference Proceedings.

[78]  Gail E. Kaiser,et al.  Intelligent assistance for software development and maintenance , 1988, IEEE Software.

[79]  Jack C. Wileden,et al.  Pgraphite: an experiment in persistent typed object management , 1988, SDE 3.

[80]  Dewayne E. Perry The inscape environment , 1989, ICSE '89.

[81]  Gail E. Kaiser,et al.  Infuse: fusing integration test management with change management , 1989, [1989] Proceedings of the Thirteenth Annual International Computer Software & Applications Conference.

[82]  Thomas W. Reps,et al.  Integrating noninterfering versions of programs , 1989, TOPL.

[83]  Ian Thomas,et al.  PCTE interfaces: supporting tools in software-engineering environments , 1989, IEEE Software.

[84]  Masahiro Honda,et al.  Object management in a CASE environment , 1989, ICSE '89.

[85]  Robert W. Schwanke,et al.  Configuration management in BiiN SMS , 1989, ICSE '89.