Tech Report CS-93-38

An Object-Centered Approach to Designing Programming Environments

Yi-Jing Lin and Steven P. Reiss

September 1993


Traditional software development environments have been tool-centered. Artifacts of a software system are usually grouped according to the tools that handle them instead of logical units. This makes the development, maintenance and reuse of software difficult. Besides, since the software development process is divided into smaller tasks according to the tools being used, this approach suffers great performance deterioration when the software scales up, as each tool has to manage a larger amount of data.

In this research we present an alternative approach to designing programming environments, in which software artifacts related to a software component are organized as an object, and then the software development process is centered around this kind of object. With this approach, programmers will be able to organize a software system according to the logical relations between its components. Software reuse and cooperative programming will be more natural and the performance of the programming environment will not deteriorate as badly as in the traditional environments.

Here we describe the model of this new approach, and compare it with the traditional ones. We also present an programming environment called POEM, which is being developed at Brown University to verify our ideas. Compared with existing environments, the framework we present here is a paradigm shift from the procedural approach to the object-oriented approach.

(complete text in pdf or gzipped postscript)