Agent-Based System Architecture and Organization

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

Agent-Based System Architecture and Organization

Tom Wanyama
Department of Electrical and Computer Engineering
University of Calgary
twanyama@ucalgary.ca

Abstract leading to a distribution of competence,


control, and information. Therefore, for
While computer hardware has changed computing to become truly ubiquitous, new
drastically in the past few years, computer distributed, multi-task-oriented programming
software has struggled to keep pace. The methodologies must be developed. It is
centralized, monolithic programming model that believed that distributed, multi-agent
was adequate when treating computers as
technologies offer the capabilities needed.
isolated entities is poorly suited to distributed,
multi-task-oriented computing. For computing to Consequently, there are a great many projects
become truly ubiquitous, new distributed, multi- focusing on multi-agent systems.
task-oriented programming methodologies must
be developed. It is believed that distributed, Agents are required to fulfill particular tasks in
multi-agent technologies offer the capabilities the real world, and these requirements have to
needed. Consequently, there are a great many be built into their underlying design
projects focusing on multi-agent systems. On the architecture. Therefore, many agent system
other hand, at beginning, software development architectures and organizational setup for
focused the design on algorithms and data different applications have been developed as
structures. However, with increasing size and
a result of research and development in the
complexity of software system, the structure and
the specification of entire system became more area of agent-based software engineering.
important. Software system was divided into Some of these are discussed in this paper.
several modules that act on each other and
construct the entire properties, thus software 2. Agent-Based Systems
architecture births. The architecture design for
huge software system is vital to the success of Agent Systems especially the multi-agent
entire system. Therefore, this paper reviews the systems are part of the wide research area of
different projects focusing on the architecture Distributed artificial Intelligence (DAI). DAI
and organization of agent based systems. The can be subdivided into Distributed Problem
paper first introduces the general concepts of
Solving (DPS) and Multi-Agent Systems
agent-based system architecture and
organization, then gives brief description of the (MAS). DPS deals mainly with information
architectures and organizations proposed by the management issues such as task
reviewed projects decomposition and solution synthesis. While,
MAS deals with breaking-down the problem
1. Introduction and assigning the sub-problems to the problem
solving agents with the best abilities to solve
The rapid development in computer the particular sub-problem. Although each
technologies, and their underlying interneting agent has its own goal and interests, the
capabilities, has made it impossible to assigning of the sub-problems is done in such
continue using the centralized, monolithic away as to solve the global problem in the
programming model that was adequate when most appropriate and efficient manner.
treating computers as isolated entities.
Presently, interconnected computer systems Agents are autonomous or semi-autonomous
are normally distributed over a wide area hardware or software systems that carry out

1
tasks in complex, continuously changing • Temporally Continuous: Agents must
environments. A MAS consists of a group of posses the ability to running
agents that can take specific roles within an continuously.
organizational structure (Finin et al, 1994).

2.1 Capabilities of Agents 2.2 Single-Agent Systems

In order to cope with the tasks for which they Single-agent systems are based on the
are designed, agents have the following basic centralized process model. In these systems,
capabilities; there is a single agent which makes all the
decisions, leaving all the other agents to act as
• Reactive: That is, agents must react remote slaves. Therefore, single agent systems
timely and appropriately to unplanned may have a number of entities such as
events and to changes in the transducers, actuators and/or robots. However,
environment. all entities send their perceptions to, and
• Goal oriented: Agents act in a receive their actions from the same central
purposeful manner. processor
• Communicative: They should be able
to communicate with the environment, The environment of a single-agent system
other agents, and/or people. may have other agents. However, these
• Adaptive: They should be able to agents act as actuators or sensors because
change their behavior due to previous they do not posses goals of their own.
experience
• Autonomous: They must exercise
control over their own actions.

Environment

Agent
Effectors -Goals
-Actions
-Domain
Knowledge
Sensor

Figure 1: General Single-Agent Framework

2
help an individual agent achieve its goal, or
2.3 Multi-Agent Systems in a rare case, prevent it.

Various definitions for multi-agent systems Multi-agent systems are composed of


have been proposed by different researchers several autonomous entities which have the
and/or disciplines. However, from DAI point following general characteristics;
of view, a multi-agent system is a loosely • Each agent has incomplete
coupled network of problem-solving agents capabilities to solve the problem
that work together to solve problems that • There is no global control
none of them could solve alone. The main • Data is decentralized
difference between multi-agent systems and • Computation is asynchronous
single-agent systems is that in multi-agent
systems several agents exist, and they are Figure 2 below shows a multi-agent system
aware of each other’s goals and actions. with multiple agents, some with
Besides being aware of each other’s communication capabilities and others
intentions and behavior, in a fully general without
multi-agent system, agents also
communicate with one another, either to

Environment Agent 3
Sensors -Goals
-Actions
Agent I Agent 3 Effectors -Domain
Knowledge

Agent 2
Com.
Agent 4 Links

Agent
4

Figure 2: Multi-Agent Framework

3
2.3.1 MAS Knowledge Sharing to simpler programming. Instead of working
with one centralized agent, programmers
Knowledge level communication is required easily identify subtasks and assign control of
for MAS to share knowledge. To achieve these subtasks to different agent. This also
this, a number of Agent Communication solves the problem of sharing time of one
Languages (ACL) have been proposed. centralized agent between separate tasks.
Among them, Knowledge Query and
Manipulation Language (KQML) has been 3. Internal Agent Architecture
proposed as a protocol for exchange of
information, and Knowledge Interface The internal architecture of a software agent
Format (KIF) has been proposed as a formal is the organization of the parts that make up
syntax for representing knowledge (Far et al, the agent such that it achieves its intended
1999). goals in the outer environment. Therefore,
many research organizations have proposed
2.3.2 MAS Problem Solving a number of internal architectures for agents.
Far et al proposes the architecture in figure 3
To solve the problem, agent in MAS interact below for a generalized agent.
in one of the following ways, cooperation,
coordination or competition. A generalized agent is defined as an
• Cooperation; The agent reveals its information processing entity that acts
goal and symbol structure to the on basis of representation, using as input
other party, and both agents have the information the sensor receive from the
same goal. external environment, perceiving,
• Coordination; The agent reveals its conceptualizing, interpreting, and
goal to the other party, but the performing action so as to achieve a desired
agents have different goals. goal (Far et al, 2000).
• Competition; This is divided into
loose competition and strict
competition. In loose competition,
the agent reveals its goal to the other
agent, but encapsulates its symbol Communication
Engine
structure. In strict competition, the
agent encapsulates both its goal and Client UNIX
symbol structure. Workstation
Reasoning
Engine
Client
2.3.3 Advantages of MAS
Power PC Knowledge Base

MAS can be used for both distributed and


Documentation
centralized systems. For example, multiple Engine
agents can be used to speed up systems by
providing means for parallel programming.
Client PC
Another benefit of multi-agent systems is
their scalability. That is, a new agent can
Figure 3: Internal structure of A
easily be added to the multi-agent system,
Generalized Agent
because it is inherently modular. Generally
this is more easily done than adding new
capabilities into monolithic systems.

For programmers, modularity of MAS leads

4
Edmonds and Moss propose the internal then selects the best such model according
architecture shown in figure 4 for an to that measure. From the best such model
economic agent. The agent has many models and its goals, it attempts to determine its
of its environment. Once started the agent action using a search-based, deductive or
incrementally develops and propagates these quasi-deductive mechanism. It then takes
models according to a fitness function which that action and notes the effects in the
is based on its memory of past data and environment for future use (Edmonds and
effects of its actions as well as the Moss, 1997).
complexity and specificity of its models. It

A priori Population of Models Goals


Belief
Restriction of
Models

Machinery
to Decide
(Fittest Model in Bold) an Action
(inference)

Agent
Memory of past Data and
Actions

Environment Observations Actions

Figure 4: Basic Internal Structure of a Simplified Economic Agent

Individual agents in the New Zealand components, each of which maintain the
Distributed Information Systems (NZDIS) state of one agent’s conversation dialogues
research project model, have architectural in accordance with a conversation policy
organization shown in figure 5. In this appropriate to the agent’s role in that
architecture, the Agent Executive is in the conversation. The component called Role
control of the agent. A message handler comprises of a conversation policy, a set of
operates one or more input and output goals to be achieved, and the plan required
queues of the agent and makes them to fulfill the goals. Some agents in this
available to the Agent Executive. The Belief model have additional capabilities shown as
States component contains the current state capabilities in figure 5 (Purvis et al, 2000).
of the agent in a declarative form. The
agents also have separate conversation

5
Roles
Conversation Belief States
Conversation
Policy

Agent Executive
Goals
Input

Plan
Plans
Executive
Output

Capabilities
Figure 5: The Internal Architecture
of the NZDIS Agent

software to acts as an agent. The four


3.1 Comparison of the Three Internal components namely; control, knowledge,
Structure Models goals and communication, are implemented
differently in the different models as
The three models reviewed above were illustrated in table 1 below.
designed for different purposes. However,
they all have four basic component required
for a piece of

Table 1: Comparison of the Three Agent Architectures

Agent Component or Generalized Agent Economic Agent NZDIS Agent


Capability (Far et al) (Edmonds & Moss) (Purvis et al)
Agent Control Reasoning Engine Mechanism to Decide Agent Executive
actions
Knowledge Knowledge Bank Population of Models Capabilities and Plans
& Knowledge of Past
Data and Actions
Goals Reasoning Engine Goals Goals
Communication Communication Actions and Conversations
Engine Observations
Documentation Documentation Observations Belief State
Engine

6
4. Software Agent Organizations Generalized Agent and Open Agent
Architecture.
An organization is a goal oriented coalition
of software agents in which the agents are 4.1 Blackboard
engaged in one or more tasks. Control,
knowledge and capabilities are distributed In this approach of multi-agent systems,
among the agents (Far et al, 1999). each agent has partial knowledge and
capability to solve the impending problem.
The structure of an organization defines the That is, none of the agents can solve the
roles of the various internal actors, their problem alone. Secondly, agents strictly
responsibilities, defined in terms of tasks communicate through a common blackboard
and goals they have to achieve, and whose information is accessible to all
resources they have been allocated. agents.
Secondly, an organization defines how to
coordinate the activities of various A blackboard system consists of three
components and how they depend on each modules, namely, Knowledge Source (KS)
other. Such dependences may involve both which usually are agents, the Blackboard
actors of the organization and its which is the global database, and the
environment. For example, partners, Control Component, also called the
competitors or clients. moderator. When a partial problem is to be
solved, the control unit assigns the task to a
Organizational structures can be grouped suitable agent selected from a list of
into two main categories, namely; candidates that can possibly solve the
centralizes and decentralized organizational problem. Figure 6 below shows the
structures. The centralized structure employs blackboard architecture.
the master/slave coordination approach, like
in the blackboard technology. The
decentralized architecture uses contracting Data
approach to coordinate activities of the
involved agents.

An organization style defines a class of


Data Moderator
organizational structure, and offers a set of
design parameters that can influence the
division of labor and the coordination
mechanisms, thereby affecting how the
organization functions. Design parameters
include, among others, task assignment, Agent Sub-
Dispatcher
standardization, supervision and control problems
(Kolp et al, 2002).

A number of agent-based software


organization structures have been proposed
by different individual researchers and
research organizations. These include; Jini,
Agent
Figure 6: The Blackboard Architecture

7
4.2 The Open agent Architecture agents are those whose role is to assist the
facilitator agent in coordinating the activities
The Open Agent architecture (OAA) is of other agents. The user interface agent
based on the blackboard technology. It connects the OAA system to the external
allows individual agents to communicate by world. In same systems, this agent is
means of goals posted on a blackboard. The implemented as a collection of “micro-
facilitator is a specialized agent that is agents”, each monitoring a different
responsible for coordinating agent modality (point-and-click, handwriting, pen
communications and cooperative problem- gestures, speech), and collaborating to
solving. OAA system configuration can have produce the best interpretation of the inputs.
more than one facilitator. Application agents Figure 7 below shows the Open Agent
are specialists that provide a collection of Architecture
services of a particular type, and meta-

Facilitator

User Interface
Meta Agent
Application Agent
Agent

Application

Modality Agents
Figure 7: OAA System Structure (Martin et al)

5. Conclusion. been developed to solve particular problems.


However, some of them can be modified to
There are many projects focusing on multi- suit other problems. Some general
agent systems, architectures and architectures also exist, for example the
organizations. As a result, many internal Generalized Agent and the Open Agent
agent architectures and agent-based system Architecture. Such architectures need to be
organization architectures have been studied well before adapting them to any
developed. Most of the architectures have system, because they also have some
limitations.

8
References
Languages, Springer-Verlag, 1996.
1. Bilow C. S., An Architecture for the 8. Martin D. L., Cheyer A. J., Moran
Integration of New and Legacy D. B., The Open Agent architecture:
Software into Broadcast A framework for Building
Environment, URL: Distributed Software Systems,
http://www.broadcastpapers.com/ass Artificial Intelligence Center, SRI
et/GVGArchitectureInteg06.htm International, USA.
2. Chuang T., Yadav S. B., An Agent- 9. Padfovan B., Sackmann S., Eymann
Based Architecture of an Adaptive T. Pippow I., A Prototype for an
Support System, URL: Agent-based Secure Electronic
htt://hsd.baylor.edu/ramsower/ais.ca. Marketplace Including Reputation
97/papers/chuang.htm Tracking Mechanisms, Institute for
3. Edmonds B., Moss S. Modeling Computer Science and Social
Bounded Rationality Using Studies, Albert-Ludwing-University
Evolutionary Techniques, Center for Freiburg, Germany.
Policy Modeling, Manchester 10. Purvis M., Cranefield S., Bush G.,
Metropolitan University, 1997. Carter D., McKinlay B.,
4. Far B. H., Agent Oriented Software Nowostawski M., Ward R., The
Engineering. NZDIS Project: An Agent-Based
5. Far B. H., Hajji H. Saniepour S., Distributed Information System
Soueina S. O., Formalization of Architecture, University of Otago,
Organizational Intelligence for Dunedin, New Zealand.
Multiagent System Design, IEICE 11. Rajesh V., Canfield K., Quirologico
Transactions, Vol.E83-D, No. 4, S., Silva M., An Agent-Based
2000. Architecture for Interoperability
6. Finin T., Fritzson R., McKay D., among heterogeneous medical
McEntire R., KQML as an Agent Databases, Department of
Communication Language, Information Systems, University of
Proceedings of the Third Maryland, USA.
International Conference on 12. Vetter M., Pitsch S., An Agent-
Information and Knowledge Based Market Supporting Multiple
Management, 1994. Auction Protocols, Stuttgart,
7. Frankline S., Graesser A., Is it an Germany.
Agent, or Just a Program?: A 13. Yen J., Hu J., Bui T. X., Intelligent
Taxonomy for Autonomous Agents, Clearinghouse; Electronic
Proceedings of the Third Marketplace with Computer-
International Workshop on Agent mediated Negotiation Supports.
Theories, Architectures, and

You might also like