Collecting and analyzing real-time data from multiple sources requires
processes to continuously monitor and respond to a wide variety of
events. Such processes are well suited to execution by
intelligent agents. Architectures for such agents need to be general
enough to support experimentation with various analysis techniques but
must also implement
enough functionality to provide a solid back end for data
collection, storage, and reuse. In this paper, we present the architecture of
Calvin, an research grade agent system for supporting and analyzing users'
document access. Calvin provides specific applications for collecting,
storing, and retrieving data to be used for information retrieval, but its
extensible object oriented implementation of resource types makes the
architecture sufficiently flexible to be useful in multiple task domains.
In addition, the architecture provides the ability to
capture and ``replay'' data streams during processing, enabling the automatic
creation of data testbeds for use in experiments comparing alternative
analysis algorithms.