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.