An Application Framework For Module Composition Tools

Guruduth Banavar, Gary Lindstrom
Department of Computer Science
University of Utah, Salt Lake City, UT 84112
banavar@watson.ibm.com, lindstrom@cs.utah.edu

Abstract

This paper shows that class inheritance viewed as composition of recursive namespaces is a broadly applicable concept. We show that several kinds of software artifacts can be modeled as recursive namespaces, and software tools based on a model of composition of namespaces can effectively manage these artifacts. We describe four such tools: an interpreter for compositionally modular Scheme, a compositional linker for object files, a compositional interface definition language, and a compositional document processing tool. We show that these tools benefit significantly from incorporating inheritance-based reuse.

The implementation of tools such as the above share much in common since they are based on the same underlying model. We describe a reusable OO framework for efficiently constructing such tools. Three of the above tools were built by directly reusing the application framework, and the fourth evolved in parallel with it. We provide reuse statistics and experiences with the development of our framework and its completions.

Full paper.