Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
The Cornell program synthesizer: a syntax-directed programming environment
Communications of the ACM
Experience with processes and monitors in Mesa
Communications of the ACM
Controlling large software development in a distributed environment
Controlling large software development in a distributed environment
Whiteboards: a graphical database tool
ACM Transactions on Information Systems (TOIS)
A structural view of the Cedar programming environment
ACM Transactions on Programming Languages and Systems (TOPLAS)
Incremental attribute evaluation in distributed language-based environments
PODC '86 Proceedings of the fifth annual ACM symposium on Principles of distributed computing
Efficient recompilation of module interfaces in a software development environment
SDE 2 Proceedings of the second ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
A foundation for programming environments
SDE 2 Proceedings of the second ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
Rigi-A system for programming-in-the-large
ICSE '88 Proceedings of the 10th international conference on Software engineering
On the design of the amoeba configuration manager
SCM '89 Proceedings of the 2nd International Workshop on Software configuration management
Approaches to an integrated office enviroment
ACM '86 Proceedings of 1986 ACM Fall joint computer conference
SLIPE '85 Proceedings of the ACM SIGPLAN 85 symposium on Language issues in programming environments
Hi-index | 0.00 |
The importance of integration in programming environments is well known. Perhaps the easiest way to build an integrated system is to build a closed system; the designers of the system can use whatever ad hoc techniques are available to make the pieces they provide hang together nicely. Many of the integrated editor/compiler/execution environments (like the Cornell Program Synthesizer) fall into this category [Teitelbaum81]. When building an open system, the problem for the designers of the system is not to integrate a fixed collection of tools, but to provide general mechanisms for tool integration. For instance, Unix “pipes” provide an elegant means of integrating new tools by making it easy to make the output of one tool the input of another; also, the simplicity of the Unix file system makes it easy to integrate new devices into the system - the file system conceals the physical peculiarities of the devices instead of making them visible [Kernighan81].