|
The Problem |
Reuse of software components can improve both the quality and productivity of software development. Before software components are reused, however they must be located. Locating of software components is supported by component repository systems. Current component repository systems fall short in supporting programmers who make no attempt to reuse because they do not know the existence of reusable components or perceive reuse is too costly.
|
The Solution |
This research proposes
a conceptual framework for the design of active component repository systems, a
new kind of repository systems equipped with active information delivery mechanism.
Active component repository systems treat reuse as an integral part of
programming and support the modeless transition between reuse and programming
because they can be integrated with current programming environments; and
through this integration, their active information delivery mechanism delivers
task-relevant and user-specific components without being given explicit reuse
queries to help programmers reuse unknown components and to reduce the cost of
reuse.
|
The System: CodeBroker |

An active component repository system, CodeBroker,
has been developed to support Java programmers. CodeBroker
consists of three cooperative software agents: Listener, Fetcher
and Presenter. Listener runs continuously in the
background of Emacs and extracts reuse queries autonomously from doc comments
and signatures. Fetcher retrieves components matching the reuse
queries. Presenter presents those retrieved components in the
programming environment after it has removed those components already known to
the programmer based on his or her user model.
For example, in the
above figure, the first component in the delivery buffer can be directly reused
by the programmer to implement his or her task that is indicated in the doc
comment---Create a random number between two limits.