Check out the new USENIX Web site.

Design, Distribution and Management of Object-Oriented Software

Arindam Banerji, David Cohn, Dinesh Kulkarni
Distributed Computing Research Laboratory
University of Notre Dame
Notre Dame, IN 46556


The promise of object-oriented software has been somewhat dimmed by the continu- ing need for source code familiarity to realize the goals of code-reuse and manage- ability. Software design has been hampered by the infeasibility of predicting all possible circumstances of use. Composing applications out of reusable components has remained a myth, primarily due to limitations of the simplistic shared library model. This paper proposes a three-pronged attack on these limitations of object-ori- ented software in the context of C++. A flexibility framework which facilitates the extension and modification of software without recompilations or source-code familiarity is described. Partially resolved loadable subclasses that may be distributed as reusable units for type-safe application composition. Specific programming guide- lines which allow implementors to create software that may be fine-tuned at run-time according to application characteristics is described. Thus, the paper proposes a set of tools, techniques and guidelines that can facilitate the construction of application frameworks.

Download the full text of this paper in ASCII (34,735 bytes) and POSTSCRIPT (83,645 bytes) form.

To Become a USENIX Member, please see our Membership Information.