Brought to you by EarthWeb
IT Library Logo

Click Here!
Click Here!

Search the site:
 
EXPERT SEARCH -----
Programming Languages
Databases
Security
Web Services
Network Services
Middleware
Components
Operating Systems
User Interfaces
Groupware & Collaboration
Content Management
Productivity Applications
Hardware
Fun & Games

EarthWeb Direct EarthWeb Direct Fatbrain Auctions Support Source Answers

EarthWeb sites
Crossnodes
Datamation
Developer.com
DICE
EarthWeb.com
EarthWeb Direct
ERP Hub
Gamelan
GoCertify.com
HTMLGoodies
Intranet Journal
IT Knowledge
IT Library
JavaGoodies
JARS
JavaScripts.com
open source IT
RoadCoders
Y2K Info

Previous Table of Contents Next


3.4. INTERFACE AGENTS

There are two general types of interface agents. One class of interface agents helps users by filtering various data sources. For example, consider an interface agent that intelligently filters a user's electronic mail. If the mail agent is any good, it weeds out messages that the user is unlikely to find useful. The main benefit provided by this type of an interface agent is a reduction of the amount of data that users need to process.

The second class of interface agents mediates between users and applications. As an example, consider a software agent for heterogeneous access to military command and control (C2) databases to support joint armed services contingency planning (Gunderson, 1994). The agent mediates between the user and various C2 databases. Within the framework of a fault-tolerant multidatabase transaction model, the agent software formulates applicable cross-database joins and unions for the user based upon high-level information entered into a graphical user interface. Another good example of a mediating agent is the GeneQuiz application that automatically analyzes a genome sequence using a variety of applications. As a third example, consider an interface agent that automatically uses a computer algebra system, such as Mathematica, to perform an engineering design task, such as the sensitivity analysis of a dynamic system. This agent mediates between the user and the computer algebra system. The main benefit provided by mediating interface agents is the hiding of the complexity of the underlying application from users.

Interface agents for data reduction generally are built as rule-based programs that apply a profile to the items in the data sources. The profile is a specification of the attributes of desirable items in the data source. For example, a mail agent can use a set of rules that is applied to an incoming message to determine its usefulness for a user.

A key property of data reduction interface agents is their customization to specific users. For example, a mail agent is specific to a particular user. One user's mail agent will not be useful for another user. While a rule-based approach to the design of a data reduction agent has been successful for certain applications, the need for a set of rules specific to individual users is a stumbling block. Many users are averse to devoting significant effort to specifying rules for their preference for items from a given data source. In many cases, even if users are inclined to specify rules, the nature of the data reduction task makes it hard to explicate such rules. For example, consider a database of music titles. Suppose a user wants an interface agent to automatically select titles that interest the user. The user may find it hard to articulate a set of rules for the agent that enable effective selection by the agent. An alternative approach is to have the agent learn a set of selection rules based on selections made by the user over time. Essentially, the learning task is the induction of a classifier that classifies new items as being interesting to a user based on the user's previous selection of items.

A recent approach to improve the performance of data reduction agents is to combine the individual experiences of a group of users through collaboration among the agents serving these users. For example, consider an interface agent for the task of selecting good movies to watch. The user's agent interacts with similar agents for other users to find out about a much larger set of good movies to suggest to its user.

Interface agents for mediating in the use of applications are usually built as knowledge-based systems. A mediating agent has knowledge of the application that it uses and knowledge of the tasks that it solves using the application. The agent reduces the input task into a set of actions that can be performed using the application. The essential idea is to have the mediating agent automate the activity of manually using an application to perform a task. In the general case, a mediating agent constructs two different types of plans. One plan corresponds to the set of operations required to achieve the task. The second plan corresponds to the actions performed using the application. Some of the operations in the task plan correspond to actions performed by the application. This is how the agent uses the application to help in performing the input task. The agent also requires interpretation knowledge to interpret the data obtained by the execution of an action by the application.

An important characteristic of application mediating interface agents is the amount of effort required to develop computing infrastructure to allow the agent software to function. An Application Execution Environment (AEE) will be needed to provide an Application Programmer Interface (API) to the application. The AEE will need to process results from the application and may need to process operations in a distributed environment, possibly to the level of a fault-tolerant transaction model.

In the software agent for access to heterogeneous military C2 databases, the AEE provides an API to access the Purdue University InterBase system. The AEE provides the capability to process an InterBase Parallel Language (IPL) program generated by the user front end, called the Intelligent Database Kernel (IDK). The AEE parses the IPL program, checks its syntax, and breaks it down into the task tree necessary to produce results. The tasks and their execution instructions are then routed to the appropriate Remote System Interfaces (RSIs) using the InterBase fault-tolerant transaction environment. Then, the data returned from the RSIs are processed and presented to the user. The RSIs provide a uniform interface to the heterogeneous database systems. Figure 2 illustrates the structure of the C2 software agent.

As well as the infrastructure described above, the IDK in the C2 software agent is also a major infrastructure component. The IDK utilizes several AI techniques: semantic transition-net grammars, a frame-based knowledge representation, and extensive symbolic processing for various query language transformations, including a cross-database join determination algorithm, which determines the join declarations that could occur across heterogeneous databases.

Mediating agents make the most sense for complex tasks performed with complex applications. The reason is that the cost of building these agents is substantial. Some of this cost is due to the need to develop infrastructure software in support of the intelligent agent, as illustrated in the C2 software agent. The development of frameworks for the development of multiagent architectures, such as the Brown University CAF/Dispel/Coracle (Lejter, 1996) software system, may reduce some of this cost.


Previous Table of Contents Next

footer nav
Use of this site is subject certain Terms & Conditions.
Copyright (c) 1996-1999 EarthWeb, Inc.. All rights reserved. Reproduction in whole or in part in any form or medium without express written permission of EarthWeb is prohibited. Please read our privacy policy for details.