An Architecture For Cooperative Information Systems: Elhadi Shakshuki, Hamada Ghenniwa, Mohamed Kamel

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 11

Knowledge-Based Systems 16 (2003) 1727

www.elsevier.com/locate/knosys

An architecture for cooperative information systems


Elhadi Shakshukia,*, Hamada Ghenniwab, Mohamed Kamelc
b

a
Department of Computer Science, Acadia University, Wolfville, Canada B0P 1X0
Department of Electrical and Computer Engineering, The University of Western Ontario, London, Canada N6G 1H1
c
Department of Systems Design Engineering, University of Waterloo, Waterloo, Canada N2L 3G1

Received 6 December 2001; revised 18 March 2002; accepted 3 April 2002

Abstract
With the fast growth of the information space in the Internet and large-scale Intranet computing environments, a new design paradigm is
required for information systems. In such environments, the amount, the dynamic, the heterogeneity and the distributed nature of the
information make it difficult for a user to locate and retrieve the desired information. Moreover, these computing environments are open
environments, where the information resources may join or disjoin at anytime. To this end, this paper proposes a multi-agent multi-tier
architecture. These agents are autonomous and goal driven agents that cooperatively assist different users to locate and retrieve information
from distributed resources. The system architecture comprises of three tiers. At the front end, User Agents interact with the users to fulfill
their interests and preferences. At the back end, Resource Agents access and capture the content and changes of the information resources. At
the middle tier, Broker Agents facilitate cooperation among the agents. A prototype of this system is implemented to demonstrate how the
agents can transparently cooperate to locate and retrieve information from dynamic and distributed information resources. q 2003 Elsevier
Science B.V. All rights reserved.
Keywords: Agents; Coordination; Cooperation; Retrieval

1. Introduction
To date, there is a substantial growth of information in
the Internet and Intranet-based systems. However, before
any value can be generated from these systems, several
design issues need to be addressed such as the distributed
and the dynamic nature of the environment, and the large
size of the information. These make it difficult for a user to
locate the relevant information. In addition to that, in open
environment, information resources may join or disjoin at
anytime.
One promising solution is agent-orientation as a design
paradigm. In our work [9], we developed a Coordinated
Intelligent Rational Agent (CIR-Agent) model for cooperative distributed systems. This model provides an integrated
solution for the main design issues such as autonomy,
heterogeneity and transparency. For example, autonomy
incorporated by modeling an agent as an independent
proactive entity that has the ability to make decisions
* Corresponding author. Tel.: 1-902-585-1331; fax: 1-902-585-1067.
E-mail addresses: elhadi.shakshuki@acadiau.ca (E. Shakshuki),
hghenniwa@eng.uwo.ca (H. Ghenniwa), mkamel@uwaterloo.ca (M.
Kamel).

concerning its own actions without any external interference. Furthermore, the existence of the agent is not
justified by the existence of other agents. Heterogeneity is
dealt with by modeling an agent as a goal driven entity. This
allows agents to interact with each other at the goal level
and hides the internal structure of the agents. Transparency
is achieved by modeling an agent as a cooperative,
coordinated agent that is capable of constructing connections with other agents.
This paper describes a multi-agent system that acts as a
mediator between the user and the information environment.
It helps the user to locate and retrieve information. These
agents interact cooperatively in a distributed environment
and collectively achieve the following: (1) provide the users
with an integrated view of information, (2) proactively
search for information from local and/or remote distributed
sources and avoiding repetitive users intervention to satisfy
their interest, (3) customize the information to make it
relevant to the users interest, (4) monitor and update the
changes of the information resources, and (5) provide an
answer within a bounded time.
The remaining of this paper is organized as follows.
Section 2 describes the proposed system architecture.
Section 3 details the implementation of the system, followed

0950-7051/03/$ - see front matter q 2003 Elsevier Science B.V. All rights reserved.
PII: S 0 9 5 0 - 7 0 5 1 ( 0 2 ) 0 0 0 4 8 - 5

18

E. Shakshuki et al. / Knowledge-Based Systems 16 (2003) 1727

Fig. 1. Cooperative information systems environment.

Fig. 2. Agent architecture.

E. Shakshuki et al. / Knowledge-Based Systems 16 (2003) 1727

by experimental results in Section 4. Related work is


discussed in Section 5. Section 6 presents the conclusions.

19

execution, the agent interacts with the world and affects the
world-state.
2.1. User Agents

2. System architecture
The architecture of the proposed agent-based system is
designed to help users to locate and retrieve information
from distributed resources. Each agent is autonomous,
cooperative, coordinated, intelligent, rational and able to
communicate with other agents to fulfill the users needs.
Fig. 1 shows the three types of the agent functionality in the
proposed three-tier architecture. At the front-end of the
system, the agents (User Agents) keep track of the users
interest and preferences. At the back end of the system,
agents (Resource Agents) monitor the changes of the
information resources content. At the middle tier, the agents
(Broker Agents) act as a middleman between the agents of
the other tiers. The agents communicate using Knowledge
Query Manipulation Language (KQML) [7]. The user
interacts with the system through GUI to submit queries
and specify requests.
The architecture of all the agents is based on the CIRAgent model [9], as shown in Fig. 2. However, each of them
exemplifies a particular architecture to reflect its functionality. An agent, in this model, is described in terms of its
knowledge and capabilities. The agents knowledge contains the information that it has in its memory about the
environment and the expected world, which includes the
agent self-model, the other agents model, goals that need to
be satisfied, and possible solutions generated to satisfy each
goal. In addition, the agents desires, commitments and
intentions toward achieving its goals are also included. The
agents capabilities include communication and reasoning.
The communication capability allows the agent to exchange
messages with the other elements of the environment. The
reasoning capabilities include the following. (1) Problem
solver that provides the agent with the capability to infer
about its knowledge in order to generate the appropriate
solution plans to satisfy a goal. (2) Pre-Interaction that
allows the agent to determine the type and the number of
interdependencies involved with each solution, as well as
identifying the appropriate interaction devices for each type.
(3) Interaction devices that provide the agent with the
capability of interacting with other agents including the
user, through the communication component. These devices
include the following. (a) Assignment device that allows the
agent to delegating goal(s) that cannot be achieved by its
own, to other agents. (b) Redundancy avoidance device that
allows the agent to avoid redundant efforts of achieving
some goals that being, or possibly to be, achieved by some
other agents. (c) Knowledge update device that provides the
agent with the capability to have up-to-date information
about all the elements of the environment as well as learning
about the other agents capabilities and interests. In the

User Agents are viewed as a facility that allows the user


to interact with the information systems environment. Their
main responsibility is to fulfill the users requests, by
receiving queries and delivering results. The User Agent
accepts a query in a form described by a set of words that
include the topic of interest and a set of constraints. The
users interest includes information quality and the desired
response time. The User Agents problem solver obtains the
goals from the submitted query and arrives at a solution that
best fits the users needs. The agent goals might be locally
achievable or require interaction with other agents through
the assignment or redundancy avoidance devices.
The User Agent acquires and builds models of the
information resources, IR, which are represented as a set of
concepts (concept-quality vector) and the degree of
relevance (quality) of each concept to the topic of interest
as:
IR kC1 ; QC1 ; ; Cn ; QCn l:

This representation enables the agent to reason about the


content of information. The User Agent interacts with the
user to learn about his/her interest and preferences. In
addition, it learns about other agents capabilities in relation
to the users topic of interest and the desired quality of
information as well as the expected response time. The
users topic of interest U is represented (similar to that of the
information resources) as a concept-quality vector. The
agent monitors the changes of the users interests and,
accordingly, modifies the concept-quality vector. A feedback mechanism, similar to that in Ref. [18], is used. The
user provides a feedback in response to the agent request
and then the concept-quality vector is modified using
reinforcement learning. The quality is modified based on the
learning rate a and the user feedback f as follows
U
IR
QU
Ci Q Ci f a Q Ci ;

where QU
Ci is the quality of concept Ci as described by the
concept-quality vector of the users interest and QIR
Ci is the
quality of the same concept in the concept-quality vector
describing the information resource IR.
2.2. Broker agents
The Broker Agent acts as a middleman that pairs agents
of both the front and back end tiers. The main responsibility
of the Broker Agent is to identify and match agents based on
goals and agents interest. User and Resource Agents
advertise their capabilities to the Broker Agents as they join
the system. The Broker Agent accepts advertisements from
the agents to confirm their existence and capabilities, and

20

E. Shakshuki et al. / Knowledge-Based Systems 16 (2003) 1727

Fig. 3. A retrieve action.

organizes them into groups based on topic of interest. This


allows the agents to direct their messages and requests to the
interested agents only. An agent might associate with more
than one group. It is assumed that, Broker Agents do not
interact with users. This supports the transparency aspect of
the system.
For the Broker Agent to achieve its goals, it might assign
the goal to other Broker Agent(s), either through assignment
because it is beyond its capability, or using redundancy
avoidance when other Broker Agent might be interested to
achieve the same goal. The Broker Agent updates its
knowledge when a new agent joins, or a member intended to
disjoin the system. This update is accomplished through the
knowledge update device.
2.3. Resource Agents
The Resource Agents act as information source representatives or providers. The Resource Agent periodically
monitors any change in the information resources based on a
predefined time frame. Then, it updates its model of the
information resource in terms of information topics,
qualities, and last update time stamp through the knowledge
update device. The Resource Agent communicates with the
other agents using KQML.
The Resource Agent accepts a query, which consists of a

set of words describing the User Agents topic of interest


and the associated constraints. The constraints might
include the quality of information and the response time at
which the information should be available. The relevance of
the information is based on the set of concepts and the
associated qualities as specified by the User Agent. The
Resource Agent accordingly identifies the resources that
match the topic of interest, extracts the topics and their
qualities, using the context extractor. A concept-quality
vector represents each resource, where the quality of a
concept within a resource is calculated using an approach
similar to Saltons [17].
Using the representation of the users topic of interest
and the information resources, the similarity S between the
information resource IR and the users topic of interest U
can be measured in terms of the scalar product of their
concepts-qualities vectors as:
X IR U
SIR; U
QCj QCj :
3
j

In order to have a unified scale to compare and add the


qualities between the users topic of interest and different
information resources, each quality
of both vectors is
q
P
2
normalized using the form QCj =
vector QCj : With the
normalization, the similarity function produces values from

Fig. 4. A user interface.

E. Shakshuki et al. / Knowledge-Based Systems 16 (2003) 1727

0 to 1. This function produces the highest value SIR; U


1 only when the users topic of interest and the information
resource representations are identicalthe information
resource is 100% relevant to the users topic of interest.

3. Implementation
The proposed system has been implemented using Java
and the IBM Agent Builder Environment (ABE) [1]. The
ABE supports a rule-based, forward chaining inference
engine that is used as the reasoning mechanism. The
knowledge base representation is based on Knowledge
Interchange Format (KIF) [8]. The agents components are
implemented to function in parallel and in multi-tasking
fashion using explicit thread management. This allows an
agent to be involved in concurrent interaction with more
than one agent for achieving its goals. Thus, the User Agent
might accept another query while waiting for the results of
another query. Agents are written in Java and can access to
relational databases, for which they are able to access and
manipulate a set of tables that contains models of the others,
such as other agents models and information resources
models.
3.1. The Problem solver
The agents problem solvers have been implemented as
goal-driven solvers that hide the heterogeneity between the
agents internal structures. The problem solver of the User
Agent can be viewed as a planning activity similar to the
approaches taken in Refs. [11,16], where the problem solver
is composed of two main modules: decomposition and
planner. The problem solver of the Broker and the Resource
Agents can be viewed as search algorithms. The problem
solvers are implemented as rule-based systems. Rules and
facts are all represented using KIF. An example of a rule and
the required conditions to fire the Retrieve action is shown
in Fig. 3.
3.2. The interaction
The user interacts with the User Agent through an
interface that consists of a set of dialogues. These dialogues
are implemented using Javas Abstract Windowing Toolkit
(AWT). An example of the interface is shown in Fig. 4. In
the current implementation, agents interact with each other
through assignment, redundancy avoidance and knowledge
update devices.
Assignment. The implementation technique of the
assignment is based on the modeling approach for the
other agents capabilities and the soliciting approach for
determining the local schedule of the other agents, utilizing
the contracting approach [3]. In the assignment device, the
query is formulated to include the goal to be achieved by the
other agents in terms of the topic of information, and

21

associated with a set of constraints including the quality and


the desired satisfying time. Then, the query is sent to the
other agents (or the potential contractors), as an announcement using either multicasting or focusing strategy. By the
arrival of bids, the agent pulls them into a bids-list, and
selects the appropriate agent. Dismiss/Award to generate
dismiss message to each unselected (loser) bidder, and to
form a contract and generate an award message to be sent to
the selected (winner) contractor. When a dismiss message is
received, the contract that is related to this message is
destroyed, at the same time the local scheduler is invoked to
free the time frame reserved for the desire of the
corresponding contract. Whereas, if an award is received,
the corresponding contract is pulled out as well as the state
of the goal is transformed from desire to commitment.
Redundancy avoidance. The implementation technique
of the redundancy avoidance is negotiation-based. In this
device, the query is formulated in terms of topic, quality,
desired satisfying time, holding period, and the state of the
goal as desired.1 Then, the query is sent out to the potential
partner(s). The potential partners are determined using
models of other agent(s) goals. The negotiation process is
implemented based on the willingness to help with the right
to opt-out. Agents (partners) that are involved in this process
are trying to find an acceptable offer by all partners. Agents
engage in the negotiation process to determine who will
carry on the job. An agent selects an opt-out choice when no
offer is acceptable. If an agreement is reached, the mental
state of the goal is transformed from desire to commitment.
Knowledge Update. The implementation technique of the
knowledge update is based on modeling other agents
capability. The User Agent learning capability about the
user is based on recurring behavior of the user on his/her
direct feedback. The agent keeps track of the number of
times the user provides a negative feedback, once this
number exceeds a threshold; the agent updates this view by
sending an email to an interested user.
Local scheduler. The implementation of the scheduling
technique used is based on the mental states of the goal.
During the pre-interaction process, each alternative solution
is attached to a possible scheduling time. All mental states
are assigned time frames on the local schedule during the
process of a goal. During the process of achieving the goal,
these states are changing from desire to commitment then to
execution. The desired satisfying time of achieving a goal is
used to determine the possible scheduling time for the
solution.
Communication. The communication component is
implemented as a class DirectCom. It utilizes the TCP/IP
stream sockets to facilitate the interaction between the
agents using KQML. This class implements the runnable
interface that provides the system with the flexibility to run
1
Desired is a keyword to indicate the mental state of the agent toward
achieving the corresponding goal.

22

E. Shakshuki et al. / Knowledge-Based Systems 16 (2003) 1727

Table 1
Building user model
Initial user model

Temperature
Wind
Humidity

User model session 1

User model session 6

User model session 10

Concept

Quality

Concept

Quality

Concept

Quality

Temperature
Wind
Humidity
Forecast
Condition
Rain
Cloud
Local
Pressure
Visibility
Relative
Period
October
Speed
Information
Precipitation
Calm
Station
Low
High

0.286
0.269
0.241
0.132
0.118
0.106
0.094
0.091
0.089
0.076
0.075
0.073
0.068
0.066
0.064
0.064
0.062
0.056
0.054
0.052

Temperature
Wind
Humidity
Rain
Visibility
Pressure
Waterloo
Ontario
Precipitation
Forecast
Speed
Cloud
Low
High
University
Sun
Relative
Environment
Condition
Local

0.399
0.329
0.327
0.206
0.186
0.113
0.104
0.101
0.100
0.097
0.091
0.088
0.078
0.078
0.073
0.071
0.069
0.067
0.062
0.061

Temperature
Wind
Humidity
Rain
Visibility
Pressure
Waterloo
Ontario
Precipitation
Forecast
Speed
Cloud
Low
High
University
Sun
Relative
Environment
Condition
Local

0.488
0.463
0.431
0.255
0.243
0.183
0.143
0.143
0.143
0.143
0.132
0.124
0.114
0.114
0.112
0.104
0.094
0.092
0.091
0.084

in a separate thread. It provides the following functionality


of sending, receiving and interpreting messages.

4. Experimental results
In this section, two examples were constructed and used
to demonstrate how the agents of the proposed system
interact with each other to handle a user query. The first
example is used to evaluate the performance of the system
for its ability to adapt the users topic of interest. The second
example is used to demonstrate the ability of the system to
cope with open environments and how the system
performance is improved in terms of computational time.
Towards this end, we implemented two User Agents UA1
and UA2 for serving two different users, one Broker Agent
BA to facilitate cooperation between the agents and three
Resource Agents RA1, RA2 and RA3 to access and monitor
the information resources.
4.1. Example 1
This example is used to demonstrate the ability of the
system to adapt the users topic of interest and preferences
and explore information that is more relevant. In this
Table 2
Results returned by UA1
Document quality

Address

73.65
68.41

http://weather.ec.gc.ca/forecast/ykf.html
http://weather.uwaterloo.ca/info.htm#formulas

example, a collection that consists of 100 documents is


saved in the local database. These documents are downloaded from the Web utilizing AltaVista and Lycos search
engines. The user submitted a query in the form weather at
waterloo ontario to UA1. The text of the query does not
have to be in a specific syntax; however, during query
processing the first word of the text is considered as the
users topic of interest, whereas the remained words are
considered as constraints. Initially the user described his/her
view of weather as temperature, wind and humidity. The
user provides consistent feedback so that the system
response should converge to the set of concepts that define
the users topic of interest. The system is iteratively used for
a number of user sessions. Each session involves reading the
documents retrieved by the model and providing positive
feedback for documents about weather. After a feedback is
provided to the relevant documents, the user model is
modified and the search is performed again using the
modified model. After the user provides a feedback, the
user model is modified using Eq. (2) with a learning rate of
0.5. In addition, the documents are sorted by their qualities
(i.e. similarity scores) using Eq. (3). To produce values from
0 to 100%, the results of Eq. (3) are multiplied by 100. The
concepts and qualities representing the user model at
different sessions are shown in Table 1. This table shows
the initial view on the left-hand side and the final view, after
10 sessions, which consists of 20 concepts with their
qualities on the right-hand side. When the user of UA1
submits a query requesting information about weather with
a quality of 60%, based on the previous interactions between
UA1 and the user, UA1 utilizes the model of the user toward
his/her interest to search for information about weather.

E. Shakshuki et al. / Knowledge-Based Systems 16 (2003) 1727

23

Fig. 5. Recallprecision graph.

Table 2 shows the quality and addresses of two documents


that are retrieved as relevant (i.e. documents with quality
equal or greater than 60%) using user model.
To evaluate the performance of the system, recall and
precision measures are used. These measures are well
known and commonly used to evaluate the performance of
information retrieval systems. The results of this experiment
are shown in Fig. 5. Recall measures the proportion of
relevant information actually retrieved in response to a
search (that is, the number of relevant documents actually
obtained divided by the total number of relevant documents
in the collection). Precision measures the proportion of
retrieved documents actually relevant (that is, the number of
relevant documents actually obtained divided by the total
number of retrieved documents). The precision and recall
are evaluated over each time the user provides a feedback.
The scope of this experiment is restricted to a predefined
collection of documents. This means that, the number of
documents is static to the local database over the duration of
this experiment. Recall is calculated by manually going
through each document in the collection to identify the
documents, which are relevant. A threshold is set for
document scores. To achieve the desired goal of precision
and recall the similarity scores of relevant documents should
lie above the threshold and the scores of irrelevant
documents lie below the threshold.
Fig. 5 shows an improvement of the behavior of the
system precision and recall over time. This is primarily
because the learnt concepts that define the topics during
interactions affect the system performance. The initial view
that is provided by the user to define the topic helps the
search for relevant information. After the user provides a
feedback, the users model is modified and the search is
performed again with the updated model. The users topic of
interest is quite successful at converging on the concepts
occurring in the documents with higher qualities to the

desired concepts relating to weather. It can be seen that with


an initial view and with consistent feedback, the system has
succeeded in specializing to the topics of the user interest.
The feedback provided by the user also helps the system to
differentiate between relevant and irrelevant documents.
This means lower scores are assigned to irrelevant
documents, thereby improving precision. Thus, the results
of this experiment suggest that the users model and
relevance feedback help improve recall and precision of
the system.
4.2. Example 2
In this example, the user of UA1 is interested in locating
some information about vacation that is stored in a variety
of distributed information resources, based on various
aspects, such as weather conditions and places to visit.
Using the system, the user interacts with UA1 via a
graphical user interface, as shown in Fig. 4. Through this
interface, the user submits the query in the form of vacation
at waterloo ontario. In addition, the user requests a quality
of 60% with a response time of 30 s. Moreover, users are
allowed to define concepts based on their views and
preferences through an interaction window provided by
the User Agent, as shown in Fig. 6.
After the user submitted the query, provided that weather
and places describe vacation, UA1 identifies the type of
goal during the problem solving. If the goal is locally
achievable, i.e. the local resources carry this information
then the information is presented to the user. Otherwise, the
goal is decomposed into two sub-goals, where the first goal
is related to locating information about weather and the
second goal is related to locating information about places.
It is assumed that each topic produced because of the
decomposition is assigned the same quality given by the

24

E. Shakshuki et al. / Knowledge-Based Systems 16 (2003) 1727

Fig. 6. The User Agent queries the user for concept definition.

user and UA1 displays each retrieved sub-topic in a separate


window to get a feedback on each.
Assume that there is no information about weather at UA1
local resources. Thus, satisfying the first goal is beyond UA1
capability. For UA1 to deal with this by depending on other
agents, the assignment device is invoked. Then, UA1
formulates the query, in KQML, that includes the topic and
the constraints. This is represented as query (weather, at
waterloo ontario, quality, desired-satisfying-time, expiration-time). Where, the desired-satisfying-time is determined
based on the specified time-stamp of this goal and the
expiration-time is calculated based on the desired-satisfyingtime and the current-time. UA1 has no models of other
agents, in its knowledge, as related to this goal, then UA1
sends a request to the BA for recommending Resource
Agents who are interested in weather conditions. The role of
the BA is to recommend the Resource Agents that exist and
are able to provide information about weather at the time of
receiving the request. With the role of BA and the capability
of UA1 to assign goals to other agents, UA1 is able to provide
the user with the desired information from the available
resources during query processing. This means that CIGS is
able to cope with open environments. As soon as UA1
receives the response from the BA it sends out the query to
the recommended address, as shown in Fig. 7. At the same
time, an alarm is set and activated either by the expirationtime or by the arrival of the responses.
In this example, RA1, RA2 and RA3 are registered and
advertised their interest in this topic with the BA. Thus,

these Resource Agents are considered as potential contractors and will receive the query. When they receive the
query, each enables their respective schedulers to assign a
time frame to achieve the goal. Then, each agent
(contractor) formulates a bid that includes the quality of
information that it can provide, the possible starting time to
achieve the goal, and the cost of achieving it. The bids are
sent to UA1. Also, the mental state of this goal is set to
desire by the contractors.
Consider that UA2 is also trying to get some information
related to places. This goal is equivalent to the second goal
of UA1. Since UA1 is able to avoid redundant effort by
invoking redundancy avoidance device, achieving the first
and second goals simultaneously improves the system
performance. When UA1 starts to achieve this goal,
reasoning about models of the other agents goals indicates
that UA2 might achieve this goal at the same time. To deal
with this common interdependency, the redundancy avoidance is invoked and a request is formulated, which includes
the topic and the constraints. This is represented as
query (places, at waterloo ontario, quality, desiredsatisfying-time, holding-period, desired). Then this query
is sent to UA2 as a potential partner. Also an alarm is set and
activated either by the arrival of the response from UA2 or
the expiration time, for which negotiation might take place.
During the negotiation process each agent tries to benefit out
of this process, by accepting the offer that contains the
desired requirements and has cost less than the cost of
pursuing it locally utilizing the time set for negotiation.

Fig. 7. Examples of messages sent and received by User Agent.

E. Shakshuki et al. / Knowledge-Based Systems 16 (2003) 1727

25

Fig. 8. The User Agent queries the user for feedback while displaying results.

UA1 engages simultaneously in the process of assigning


the first goal to the potential contractors (RA1, RA2 and
RA3) and avoiding the redundant effort of the second goal
with the potential partner (UA2). As soon as UA1 receives
the responses (bids) from RA1, RA2 and RA3 about
weather, it selects the best result that fulfills the user needs.
The selection criterion is based on who provides the
required quality or higher with less cost and within the
desired time. Then, dismiss message is sent to each
unselected agent and an award message to the selected
agent. At the same time once UA1 and UA2 reach an
agreement for who will achieve the goal to locate
information about places, UA1 either retrieves the information from the local resources or receives the result from
UA2. Then, it invokes the knowledge update device to
update, for example, models of the other agents in terms of
information quality, response time and cost; the information
is then displayed to the user and becomes available locally.
Meanwhile, UA1 interacts with the user for a feedback to
update a model of the users topic of interest, as shown in
Fig. 8.

5. Related work
The rapid growth of the network-centered (Internet and
large-scale Intranet) information computing environments
has made a significant contribution to the problem of
providing an easy way to assist users to locate and retrieve
information from multiple information resources that might
be heterogeneous.
Researchers in Ref. [14] have developed an agent that
assist a group of people in browsing, by suggesting new
material that is likely to be of common interest. In this

approach, the information is managed by a single agent and


its architecture is an extension to the Web browsing agent
Letizia [13]. Alternatively, the InfoSleuth project [15] is
based on multi-agent system and focused on providing a
design framework for developers of large-scale software
applications that retrieve, fuse and analyze information that
resides in a dynamic world of diverse information resources
accessible over a corporate intranet or over the Internet. In
this avenue, the strategy was based on the deployment of
agent-based architecture. In InfoSleuth framework, the
system architecture is divided into four hierarchical layers,
namely, Agent Application, Generic Agent, Conversation,
and Message layer. This classification is based on the type
of the messages that each layer supports. Then, each agent is
classified in terms of its functionality. However, each agent
is characterized by a specialized ad hoc architecture that
suits its functionality. Thus, the notion of agent-hood has
not been utilized as a modeling tool for cooperative
distributed systems; rather it is viewed as a development
methodology. Researchers in Ref. [2] proposed an Internetbased Multi-agent Problem Solving (IMPS) architecture.
The main objective of this architecture is to facilitate the
retrieval, restructuring, integration and formalization of
task-relevant ontological knowledge from the web, with a
special focus on ontology. In this approach, the architecture
is designed to provide both knowledge acquisition and
inference components encapsulated in agent shells. Similar
to InfoSleuth, each agent can be considered as a model with
ad hoc architecture driven by the required functionality.
In another direction, other approaches focused on
viewing the problem of information gathering as distributed
problem solving, for which a multi-agent system is
considered an appropriate solution. This approach, such as
in Ref. [12] viewed the information gathering system as

26

E. Shakshuki et al. / Knowledge-Based Systems 16 (2003) 1727

information resources spread across a network of information servers managed by group of intelligent agents. The
system architecture comprises two types of agent units,
query- and function-units. Top-level queries drive the
creation of partially elaborated information gathering
plans, resulting in the employment of multiple semiautonomous, cooperative agents for achieving goals and
sub-goals within those plans. The agent architecture is
mainly based on the Generalized Partial Global Planning
(GPGP) [5] with other supporting technologies such as Task
Analysis, Environment Modeling, and Simulation [4], and
Design-to-Criteria Task Scheduling [20]. The main assumption of GPGP is that the problem can be modeled within the
distributed problem-solving context. Although this assumption provides a useful heuristics for closed environments, it
is not realistic for open environments, where generating
PGP is not attainable. The RETSINA [19] and DECAF [10]
extended these attempts at the architecture level by
introducing multi-agent infrastructure. The objective is to
support reusable agent types (Interface, Task Agents and
Information Agents) that can be adapted to address a variety
of different domain-specific problems. However, each agent
inherited the same architecture of its predecessor [6].
In our work, we focus on viewing information gathering
as problem independent of its structure, for which a single or
a group of agents can participate in an open environment.
The agent determines the degree of its participation in terms
of cooperation during the run time, rather than problemstructure centered. To support this view, in the CIR-Agent
model [9], the agents architecture enables the agent to be
goal-driven, autonomous, rational as well as able to
determine the interaction setting as cooperative or otherwise. The proposed system architecture comprises of three
tiers. At the front end, the User Agents interact with the
users to fulfill their interests and preferences. At the back
end, the Resource Agents access and capture the content and
changes of the information resources. At the middle tier, the
Broker Agents facilitate cooperation among the agents and
allow agents to join and disjoin at anytime. The architecture
of all the agents is based on CIR-Agent model, where each
of them exemplifies particular architecture that reflects its
functionalities.

6. Conclusions
Recently, agent-based technology has become a promising design paradigm and has a growing appeal for a variety
of applications of distributed systems. This paper proposed a
multi-agent system that is based on autonomous and
heterogeneous architecture. This system assists users in
the process of locating and retrieving information from
distributed information systems. It acts as a mediator
between the user and the information environment. The
system is layered into multi-tier architecture. At the front
end, the User Agents interact with the users to fulfill their

interests and preferences. At the back end, the Resource


Agents access, capture and monitor the content and changes
of the information resources. At the middle tier, the Broker
Agents facilitate cooperation among the agents.
A prototype of the proposed system is implemented using
Java and the IBM Agent Building Environment Toolkit. The
use of the system has shown several advantages. It provides
the information to the user transparently, thus the user is
freed from searching and knowing the locations of the
relevant information. It is autonomous so that it could
independently determine the best solution to accommodate
the users topic of interest. It allows the user to provide
feedback that could control the system behavior toward
more relevant information. It allows more agents to join the
system so that more information resources can exist.
Finally, it manages the time for retrieving information that
allows the user to constrain the system with a bounded time.

References
[1] J. Bigus, J. Bigus, IBM Agent Building Environment Developers
Toolkit, Components and Adapter References, Level 6, June 1997.
[2] N. Crow, I. Shadbolt, Extracting focused knowledge from the
semantic web, International Journal of HumanComputer Studies
54 (1) (2001) 155 184.
[3] R. Davis, R. Smith, Negotiation as a metaphor for distributed problem
solving, Artificial Intelligence 20 (1983) 63 109.
[4] K. Decker, Task environment centered simulation, in: M. Prietula, K.
Carley, L. Gasser (Eds.), Simulating Organizations: Computational
Models of Institutions and Groups, MIT Press, Cambridge, MA, 1997.
[5] K. Decker, V. Lesser, Designing a family of coordination algorithms,
Proceedings of the First International Conference on Multi-Agent
Systems, AAAI, San Francisco, 1995, pp. 7380.
[6] K. Decker, V. Lesser, M.V. Prasad, T. Wagner, MACRON: an
architecture for multi-agent cooperative information gathering,
Proceedings of the CIKM Workshop on Intelligent Information
Agents, Baltimore, Maryland December (1995).
[7] T. Finin, Y. Labrou, J. Mayfield, KQML as an agent communication
language, in: J.M. Bradshaw (Ed.), Software Agents, AAA Press,
Cambridge, MA, 1997, pp. 291 316.
[8] M.R. Genesereth, R.E. Fikes, Knowledge Interchange Format,
Version 3, Reference manual, Logic-92-1, Stanford University
Logic Group, 1992.
[9] H. Ghenniwa, M. Kamel, Interaction devices for coordinating
cooperative distributed systems, Intelligent Automation and Soft
Computing (2000).
[10] J. Graham, K. Decker, Towards a distributed environment-centered
agent framework, Proceedings of the 1999 International Workshop on
Agent Theories, Architectures, and Languages (ATAL-99), Orlando
July (1999).
[11] C. Knoblock, Planning, executing, sensing, and replanning for
information gathering, Proceedings of the 14th International Joint
Conference on Artificial Intelligence, Montreal, Canada 2 (1995)
16861693.
[12] V. Lesser, B. Horling, F. Klassner, A. Raja, T. Wagner, S. Zhang,
BIG: an agent for resource-bounded information gathering and
decision making, Artificial Intelligence Journal, Special Issue on
Internet Information Agents 118 (1/2) (2000) 197 244.
[13] H. Lieberman, Autonomous interface agents, ACM Conference on
Computers and Human Interaction [CHI-97], Atlanta May (1997).
[14] H. Lieberman, N. Van Dyke, A. Vivacqua, Lets browse: a

E. Shakshuki et al. / Knowledge-Based Systems 16 (2003) 1727


collaborative browsing agent, Knowledge-Based Systems Journal 12
(1999) 427 431.
[15] M. Nodine, B. Perry, A. Unruh, Experience with the InfoSleuth agent
architecture, Proceedings of AAAI-98 Workshop on Software Tools
for Developing Agents (1998).
[16] B. Perry, M. Taylor, A. Unruh, Information aggregation and agent
interaction patterns in InfoSleuth, Proceedings of the Fourth IFCIS
International Conference on Cooperative Information Systems,
CoopIS 99, IEEE Computer Society, Los Alamitos, CA, 1999, pp.
314324.
[17] G. Salton, M. McGill, Introduction to Modern Information Retrieval,
McGraw-Hill, London, 1983.

27

[18] B. Sheth, A learning approach to personalized information filtering,


Masters Thesis, Department of Electrical Engineering and Computer
Science, Massachusetts Institute of Technology, 1994.
[19] K. Sycara, A. Pannu, The RETSINA, multiagent system: towards
integrating planning, execution and information gathering, Proceedings of the Second International Conference on Autonomous Agents,
ACM, New York, 1998, pp. 350351.
[20] T. Wagner, A. Garvey, V. Lesser, Complex goal criteria and its
application in design-to-criteria scheduling, Proceedings of AAA-97,
Providence, Rhode Island (1997) 294 301.

You might also like