Professional Documents
Culture Documents
An Architecture For Cooperative Information Systems: Elhadi Shakshuki, Hamada Ghenniwa, Mohamed Kamel
An Architecture For Cooperative Information Systems: Elhadi Shakshuki, Hamada Ghenniwa, Mohamed Kamel
An Architecture For Cooperative Information Systems: Elhadi Shakshuki, Hamada Ghenniwa, Mohamed Kamel
www.elsevier.com/locate/knosys
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
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
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
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
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
22
Table 1
Building user model
Initial user model
Temperature
Wind
Humidity
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
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
23
24
Fig. 6. The User Agent queries the user for concept definition.
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.
25
Fig. 8. The User Agent queries the user for feedback while displaying results.
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
26
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
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
27