J. Alfredo Sánchez
Hypermedia Research Laboratory, Department of Computer Science, Texas A &M University, College Station, Texas, USA, 77843, firstname.lastname@example.org
One approach to dealing with this accessibility gap has been the introduction of agents into the architecture of complex information systems. Agents are autonomous or semi-autonomous processes that perform a well defined mission. In the case of user agents, also commonly referred to as interface agents, this mission is executed on behalf of the user who defined (delegated) it. In some proposed digital libraries (see for example ), the entire system architecture is defined in terms of agents. In this paper, though, the discussion is centered on user agents. A more detailed discussion of agency-related research can be found in .
The vigorous research being undertaken in the field of digital libraries generates both the need and the opportunity for considering user agents as the basis for an alternative style of human-computer interaction. The potential of agents for contributing to a more lively, personalized and cooperating environment for the user cannot be over-emphasized. Examples of missions that can be delegated to agents in a digital library include notifying the user when information of interest is added or updated, filtering retrieved information according to the user's needs or preferences, and handling routine administrative procedures in the library (such as copyright and billing procedures). Agents may also provide hints to the user based on their knowledge of the library or on observed usage by other users, or contact other users (or user agents) to obtain needed information. As suggested by Kay , user agents may well be that qualitative leap from using manipulative tools to managing processes, the two ways in which humans have, historically, extended themselves.
Metaphors. The user should readily visualize the availability and capabilities of existing agents in the library. While anthropomorphic traits might be a convenient metaphor for the developer, they may generate expectations in the user that agents may not be able (as yet) to fulfill. Investigating metaphors to more accurately convey user agents' capabilities is an open area for human-computer interaction researchers.
User control. Even though agents are intended to execute tasks in an autonomous fashion, these tasks should be expressly delegated by the user. The user should be able to assign, suspend, resume and cancel agent missions at anytime. Flexible means for user-agent communication are crucial for effective control by the user.
Inspectability. Agents should be able to respond to the user's summons and furnish information about task status and mission results. Agents should also be able to provide information concerning the precision with which a task has been performed or a suggestion is given, allowing the user to make final decisions. Communicative agents should contribute in building user's trust and should encourage the user to delegate more tasks to the system, thus increasing the agents' helpfulness.
Adaptivity. If agents are to be useful, they should be able to adapt to the often dynamic needs and preferences of the user. Means should be provided for agents to represent and maintain knowledge about the user, and techniques are needed to support adaptive behavior.
Security. The autonomous nature of agent operation raises concerns regarding data integrity and agents' dependability and accountability. Access control and authentication mechanisms should be provided to guarantee free agent operation while preserving data integrity and user's privacy and responsibility. Where applicable, means should be provided to undo or counteract the agents' actions.
Resiliency. Upon occurrence of system failures, missions assigned to agents might be abnormally interrupted, possibly leaving the library in an inconsistent state. Provisions should be made to allow pending missions to resume as soon as the system returns to normal operation.
Inter-agent communication. Agents in a digital library may benefit from being aware of the existence and capabilities of other active agents. In these cases, an agent should be able to effectively communicate with other agents so as to maximize opportunities for cooperation and minimize the potential for interference. The availability of a simple communication protocol to which agents adhere should facilitate inter-agent communication.
Existing active features. Digital libraries will be built on top of facilities that already include a number of active features. Triggers, rules and stored procedures are becoming standard features in database management systems. Autonomous event daemons are the basis upon which many software components operate. Agents should expose these features and fully utilize them on behalf of the user.
Extensibility. Developers of digital libraries will benefit from the availability of tools that facilitate the design of new agents and their incorporation into the existing user environment. Much work is needed to identify an orthogonal set of primitives that would make agent development easier. A further step in system extensibility would make agent construction tools available to end users.