You are on page 1of 17

Chapter 4

Agent Technology Application





4.1 Distributed Artificial Intelligence
During the last decades, computers have been using sophisticated tools,
dramatically enhancing human abilities such as memory and calculation, as well as
publishing and communication capabilities. Research in artificial intelligence has aimed
at developing software to simulate intelligent capabilities of human such as reasoning,
natural language communication, and learning. Distributed Artificial Intelligence (DAI)
is subfield of artificial intelligence which has been investigating knowledge model, as
well as communication and reasoning techniques that computer agents might need to
participate in societies composed of people and computers. DAI is concerned with
situations in which several systems interact in order to solve a common problem [30].
Researches in DAI are mainly concerned with understanding and modeling
action and knowledge in collaborative enterprises. People usually distinguish two main
areas of research in DAI: distributed problem solving approach and Multi agent System
(MAS)
Research in multi agent systems (MAS) concerns the behavior of the collection
of autonomous agents aiming at solving a given problem. MAS can be defined as a
loosely coupled network of problem solvers that work together to solve problems that
are beyond their individual capabilities. These problem solvers are called agents which
may be autonomous and heterogeneous in nature.
A MAS has following advantages:
1) Fast problem solving by exploiting parallelism.
2) Decreased communication by passing only high level partial solutions to
other agents
3) More flexible by having agents with different abilities dynamically team up
to solve current problems.
4) Increased reliability by allowing agents to take responsibility of agent that
fails.

4.2 Introduction to Agent Technology
4.2.1 What is an agent?
An agent is a computer system that is situated in a certain environment and is
capable of autonomous action in this environment in order to meet its design objectives.
Autonomy means that the components in an environment function solely under their
own control.



Fig. 4.1 An agent in its environment

AGENT
ENVIRONMENT
Action output Sensory input
Agents operate and exist in some environment, which typically is both
computational and physical. The environment provides a computation infrastructure for
such interactions to take place. The infrastructure includes communication and
interaction protocols [31]. An agent can be defined as hardware or software (more usual)
module that has at least at some level the following properties [49]:
i. Autonomy: agents act without human intervention and have some control over their
functions;
ii. Reactivity: perceive their environment changes and react to it;
iii. Pro-activeness: defined as the ability to take the initiative to accomplish the tasks
according to their goals.
iv. Social ability: the agent needs to be able to communicate with other agents.
4.2.2 Agent Architecture
Researchers working in the area of agents architectures are concerned
with the design and construction of agents that enjoy the properties of autonomy,
reactivity, pro-activeness, and social ability [50]. [51] states that agent architecture is
essentially a map of the internals of an agent its data structures, the operations that
may be performed on these data structures and the control flow between these data
structures. Three classes of agent architectures can be identified [49].
i. Deliberative or symbolic architectures are those which are designed along the lines
proposed by traditional, symbolic AI,
ii. Reactive architectures are those that eschew central symbolic representations of the
agents environment, and do not rely on symbolic reasoning, and
iii. Hybrid architectures are those that try to marry the deliberative and reactive
approaches [50].
[52] indicate that agent architectures can be viewed as software engineering models of
agents and identify the above mentioned classes of agent architectures.
[51] considers four classes of agents. These agent classes are summarized below with
their brief description.
i. Logic based agents: In this agent decision making is realized through logical
deduction [51].
ii. Reactive agents: Here decision making is implemented in some form of direct
mapping from situation to action [51].
iii. Belief-desire- intention (BDI) agents: In this agent decision making depends upon
the manipulation of data structures representing the beliefs, desires, and intentions of the
agent [51].
iv. Layered architectures: In this decision making is realized via various software
layers, each of which is more-or-less explicitly reasoning about the environment at
different levels of abstraction [51].
4.2.3 Agent Typology
Agents may be usefully classified according to the subset of the properties
that they enjoy [52]. Software agents might be classified according to the tasks they
perform, for example, information gathering agents or email filtering agents. Agents
may also be classified by the range and sensitivity of their senses, or by the range and
effectiveness of their actions, or by how much internal state they possess [52].
A typology refers to the study of types of entities and there are several dimensions to
classify existing software agents [53]. Agents may be classified according to [54]:
i)Mobility, as static or mobile,
ii) Presence of a symbolic reasoning model, as deliberative or reactive,
iii) Exhibition of ideal and primary attributes, such as autonomy, cooperation, and
learning,
iv) Roles, as information or Internet,
v) Hybrid philosophies, which combine two or more approaches in a single agent, and
vi) Secondary attributes, such as versatility, benevolence, veracity, trustworthiness,
temporal continuity, ability to fail gracefully, and mentalistic and emotional qualities
[52].
[52, 55] identifies seven types of agents. These agents are described below.
1. Collaborative agents: They are able to act rationally and autonomously in open and
time-constrained multi-agent environments [55]. Their key characteristics are:
autonomy, social ability, responsiveness, and pro-activeness.
2. Interface agents: They support and assist the user when interacting with one or more
computer applications by learning during the collaboration process with the user and
with other software agents [55]. Their key characteristics: autonomy, learning (mainly
from the user but also from other agents), and cooperation with the user and/or other
agents.
3. Mobile agents: They are autonomous software programs capable of roaming wide
area networks (such as WWW) and cooperation while performing duties (e.g. flight
reservation, managing a telecommunications network) on behalf of its user [55]. Their
key characteristics are: mobility, autonomy, and cooperation (with other agents for
example, to exchange data or information).
4. Information/internet agents: They are designed to manage, manipulate or collate the
vast amount of information available from many distributed sources (information
explosion) [55]. These agents have varying characteristics: they may be static or
mobile; they may be non-cooperative or social; and they may or may not learn
5. Reactive agents: They act/respond to the current state of their environment based on a
stimulus response scheme [55]. These agents are relatively simple and interact with other
agents in basic ways but they have the potential to form more robust and fault tolerant
agent-based systems.
6. Hybrid agents: They combine two or more agent philosophies into a single agent in
order to maximize the strengths and minimize the deficiencies of the most relevant
techniques [55].
According to [53], there are some applications which combine agents from two or more
of the above types. [53] refers to these as heterogeneous agent systems. This category of
agent systems is generally referred to (by most researchers) as multi-agent systems [55].

4.3 Multi Agent System
A Multi-Agent System (MAS) is an organization of heterogeneous and self-
motivated agents that interact with one another. The agents in MAS could have
conflicting interests or they could coordinate with one another to accomplish the same
mission. Agents operate and exist in both computational and physical environment. The
environments will provide a computational infrastructure for such interactions to take
place. The infrastructure will include protocols for agent to communicate and protocols
for agent to interact. Communication protocols enable agents to exchange and
understand messages. Interaction protocol enables agents to have conversations, which
are structured exchange of message [28].
4.3.1 Coordination
Coordination is a system of agents performing some activity in a shared
environment. Cooperation is coordination among non-antagonistic agents, while
negotiation is coordination among competitive or self- interested agents. To cooperate
successfully, each agent must maintain a model of other agents, and develop a model of
future interactions. Coordination is central to multi agent system (MAS) and distributed
problem solving [28]. Without coordination, a group of agents can quickly degenerate
into a chaotic collection of individuals. The easiest way of ensuring coherent behavior is
to provide group with an agent that has a wider perspective of the system. This central
agent could gather information from the agents of the group, create plans and assign
tasks to individual agents in order to ensure global coherence.
Coordination, the process by which an agent reasons about its local actions and
the actions of other to try and ensure the community acts in a coherent manner, is the
key problem of distributed artificial intelligence (DAI) [28].
4.3.2 Communication
An agent is an active object with the ability to perceive reason and act. We
assume that agent has ability to communicate. This ability is partly perception (receiving
of message) and partly action (sending of message). In multi- agent system,
communication is the basis of interactions and social organization. Without
communication, agent is merely an isolated individual, deaf dumb to the other agent. It is
because agents communication that they can cooperate, coordinates their actions and
carry out tasks jointly [56]. Communication is expressed as a form of interaction in
which dynamic relationship between agents is expressed through the intermediary of
mediator, signals, which once interpreted, will affect these agents. A large number of
approaches to communication exist.
A communication protocol enables agents to exchange and understand messages.
A communication protocol must specify the messages for a particular course of action to
be exchanged between two agents [28]. Communication protocols are specified at
several levels. The lowest level of protocol specifies the method of interconnection, the
middle level specifies the format of information being transferred, and the top level
specifies the meaning of information [28].
Interaction protocols govern the exchange of a series of messages among agents. It
enables agents to have conversation- structured exchanges of messages and coordinates
their activities, which can then be performed more efficiently [58].
4.3.3 Society of agents
The intelligent systems do not function in isolation. They are a part of
environment in which they operate. A group of agents can form a small society in which
they play different roles. The group defines the roles, and the roles define the
commitments associated with them. When an agent joins a group, he joins in one or
more roles and acquires the commitments of that role [28].
Current methodologies exist for the development of multi-agent systems including
GAIA [61], MESSAGE [65], and Cassiopeia [66]. It has been pointed out that adapting
object-oriented analysis and design methodologies to multi-agent system development
has several disadvantages [62], mainly arising from the fact that objects and agents
provide different abstractions, and as a result, should be thought at different levels [63].
Hence we prefer JADE [59] for developing MAS as it does not attempt to extend object-
oriented techniques, instead it focuses on agents specifically and the abstractions
provided by the agent paradigm.

4.4 Developing Multi Agent Systems with Jade
4.4.1 JADE Introduction
Among the toolkits that are used now in multi agent system
development, JADE (Java Agent Development Framework) will be applied as the
platform of protection coordination simulation. The JADE toolkit provides a Foundation
for Intelligent Physical Agents (FIPA) - complaint agent platform and a package to
develop Java agents. It is an open source project distributed by Telecom Italia Labs
(TILab) that has been under development since 1999 at TILab and through contributions
by its various users [59]. The JADE toolkit has been widely adopted throughout the
world. Some examples of application involving JADE are the development of a multi
agent information system supporting the consultation of a corporate memory based on
XML technology, communicating agents for dynamic user profiling and memory
management, and agent- based health care [28].
The Foundation for Intelligent Physical Agent (FIPA) was formed in 1996 to
produce the software standards for heterogeneous and interacting agents and agent-
based systems. In the production of these standards, FIPA requires input and
collaboration from its membership and from the agents field in general to build
specifications that can be used to achieve interoperability between agent- based systems
developed by different companies and organizations [60].

4.4.2 Creating multi agent system with JADE
The JADE toolkit facilitates the development of agents that can participate
in FIPA- complaint multi-agent systems. It does not define any specific architecture but
provides a basic set of functionalities that are regarded as essential for autonomous agent
architecture [60].
A. Platform
A JADE platform is made up of a number of containers that can operate on
individual machines. Each container can have number of agents in it. A JADE system is
made up of one or more Agent Container, each one living in a separate Java Virtual
Machine (JVM) and communicating using Java RMI (Remote Method Invocation). The
FIPA-complaint agent platform is composed by three system agents. They are AMS
(agent management system), DF (directory facilitator) and ACC (agent communication
channel) [60].The standard model of an agent platform, as defined by FIPA, is
represented in the figure 4.2




Figure 4.2 Reference Architecture of a FIPA Platform [60]
The Agent Management System (AMS) is the provides the naming service and
represents the authority in the platform. Only one AMS will exist in a single platform.
Each agent must be registered with an AMS in order to get a valid AID (agent
identifier). The Directory Facilitator (DF) provides yellow page service in the platform.
Agent communication channel (ACC) is the software controlling component controlling
all the exchange of messages within the platform, including messages to/from remote
platform [60].
B. Agent Class
JADE is composed of following main packages [60]: jade.core, jade.lang.acl,
jade.gui, jade.mtp, jade.domain, jade.proto, jade.wrapper and jade.content. Some of the
packages are describes below.
J ade.core implements the kernel of system. It includes the Agent class that must be
extended by application programmers; while behavior class hierarchy is contained in
jade.core.behaviours sub-package. Application programmers define agent operations
writing behaviors and agent execution paths interconnecting them [60].
The jade.lang.acl sub-package is provided to process Agent Communication Language
according to FIPA standard specification [60].
The basic single-agent infrastructure is provided through an agent class, which
developers then extend to provide their own implementations of agents. Agents can be
started, stopped removed, suspended and copied. Each agent has access to a private
message queue, where messages are stored until the agent chooses to retrieve them, and
AGENT
AGENT MANAGEMENT
SYSTEM
DIRECTORYY FACILITATOR
MESSAGE TRANSPORT SYSTEM
Agent Platform
access to a set of APIs (Application Programming Interfaces) that allow formulation of
FIPA ACL messages [60].
Figure 4.3 JADE-Agent components [60]

C. Communication
One of the most important features that JADE agents provide is ability to
communicate. Each agent has a sort of mail box where JADE runtime posts messages
sent by other agents. Whenever a message is posted in message queue the receiving
agent is notified. When the agent actually picks up the message from message queue to
process the request it completes up the program. The class ACLMessage represents ACL
messages that can be changed between the agents. It contains a set of attributes as
defined by FIPA specification. An agent which sends a message should create a new
ACLMessage object, fill its attributes with appropriate values, and finally call the
method Agent.send (). Similarly agent willing to receive a message should call receive ()
or BlockingReceive ().
D. Interaction Protocols
FIPA specifies a set of standard interaction protocols, which can be used as
standard templates to build agent conversation. For every conversation among agents,
JADE distinguishes the Initiator role (agent starting conversation) and the Responder
role (agent engaging in conversation after being contacted by some other agent).
Behavior 1 Behavior n -------------
ACL Private
Inbox
Schedule of
Behavior
Life-Cycle
Manager
Beliefs
Capabilities
Application dependent
Agent resources

Figure 4.4 Homogeneous Structure of Interaction Protocols [60]
Figure 4.4 shows structure of interaction protocols. The initiator sends a message. The
responder can then reply by sending a not-understood, or a refuse to achieve the rational
effect of the communicative act, or also an agree message to communicate the agreement
to perform the communicative act. The responder performs the action, and finally must
respond with an inform or with a failure if anything went wrong [60].
4.4.3 Agent management in JADE
A significant number of utilities are provided for managing and monitoring the
activity of agent platform. A remote monitoring agent (RMA) provides control of the
platform lifecycle and all registered agents within platform. It provides a GUI (graphical
user interface), allows access and control to individual agents. A dummy agent utility
is a graphical tool that enables the developers to perform all main activities any agent
can perform. It is a useful debugging tool that can help to identify which communication
between agents is not developing in a desired manner. A sniffer agent allows the
monitoring of messages exchanged between groups of agents. Finally, introspection
agent provides information about control of the life cycle of a single agent.

4.5 Agent Technology Application in Power System
This section presents new explorations into the use of agent technology applied
to the protection of power system. Power systems have undergone a great deal of change
in the past decade. Traditional protection systems rely upon standalone units that use
local measurement as a basis for decision making. Communication plays very limited
role in these legacy systems. The power system industry is beginning to recognize the
benefits that communication could contribute towards greater system coordination, more
rapid action and increased correctness. There has been an increasing interest within the
Communicative Act
Not- Understand Refuse Reason Agree
Inform Inform Done (action) Failure reason
power community in the use of networked agents to improve reliability and efficiency of
the electric power grid [31].
Backup protection is required to clear the fault whenever primary protection
fails. [67] proposed an agent based backup protection scheme where agents are
embedded in conventional protection components to construct a relay Intelligent
Electronic Device (IDE). The relay agent searches for relevant information by
communicating with other relay agents. Its purpose is to detect relay misoperations and
breaker failures and perform backup protection with much better performance than
traditional methods. In [68,] Coury discussed the use of differential agent relays for
protection of multi-terminal lines and the results illustrating the performance of proposed
agent-based differential methods are presented.

4.6 System Structure
In this section, the multi-agent architecture for pair to pair relay coordination is
introduced. The proposed multi-agent protection coordination system architecture is
shown in figure 4.5. It consists of relay agent, distributed generation (DG) agent and
equipment agents. All these agents are developed in JADE via Netbeans IDE [69]. The
agents can communicate with each other within same and different societies [31].
DAG: Distributed Generation Agent : Communication
RAG: Relay Agent
EAG: Equipment Agent
RAG Society
RAG Society
DAG Society
DAG
DAG DAG
RAG RAG
RAG EAG
EAG EAG
Figure 4.5 Multi-agent architecture for Pair to Pair Relay Coordination [31]

The agent takes in sensory input, which might include local measurement of currents,
voltage, and breaker status, from the system and produces output as action such as
breaker trip signals, adjusting transformer tap settings, and switching signals in capacitor
banks.
4.6.1 NetBeans Integrated Development Environment (IDE)
The NetBeans IDE is an open source computer program developed
in the Java programming language. It offers the services common to creating
desktop products -- such as window and menu management, settings storage -- and is
also the first IDE to fully support JDK 5.0 features. The NetBeans platform and IDE are
free for commercial and non-commercial use, and they are a part of Sun Microsystems
[70].
Steps for creating an application in NetBeans IDE
1. Create Java Application

Figure 4.6 Creating a Java project in NetBeans IDE [70].
2. Create Source Packages and Class files for Agents and Utility.

Figure 4.6 Creating source files packages [70].
3. Add JADE library to the existing project in order to extend JADE functionality.

Figure 4.7 Adding libraries to the Java project [70]

4.6.2 The Agents
a. Relay Agent
Each relay installed in the system will be regarded as one relay agent. The relay
agent structure is shown in figure 4.8. The relay agent searches for relevant information
by communicating with other agents. Its purpose is to detect relay misoperation, breaker
failure, and DG connection status and perform backup protection with much better
performance [31].

Figure 4.8 Structure of Relay Agent Coordination [31]
b. DG Agent
DG agent takes every single DG as one agent. In protection coordination, DG
agent mainly communicates with relay agent in the distributed system to provide
connection status of its own for relay agent to coordinate [31].

c. Equipment Agent
The equipment agent includes CT agent, breaker agent etc. These distributed
equipments collect local power system information, operates the local power system
equipment, and communicate information with relay agent to provide protection and
coordination function [31].

Relay logic
Relay agent Relay agent
Relay Function
Relay Function
Communication information
Coordination strategy
DG Connection
status
Fault current
Breaker status

Relay setting
Settings when DG
connected
Settings when DG
not connected
Communication information
Coordination strategy
DG Connection
status
Fault current
Breaker status

Relay setting
Settings when DG
connected
Settings when DG
not connected
Relay logic
4.7 Communication Simulation
In order to test proposed sample system (chapter 3, figure 3.10)
protection coordination model, simulation was carried out based on the Java agent
development framework (JADE) platform. The main purpose of communication
simulation is to make sure the information, which is one of the tripping determination
parameters, are exchanged correctly between different agents. The communication is
carried out under two circumstances described in section 4.7.1. The relay coordination
will focus on pair to pair coordination taking R
2
and R
3
coordination as example. On the
JADE platform, a remote monitoring agent (RMA) provide control of a platform
lifecycle and all registered agents within the platform, acquire information about the
platform and execute the GUI. Through the RMA, a sniffer agent used as debugging tool
helps to monitor and check messages exchanged among agents. When the user decides
to sniff an agent or a group of agents, every message directed to/from that agent/agent
group is tracked and displayed in the sniffer agents GUI. The user can view every
message and save it to the disk [60].
4.7.1 DG
1
and DG
2
are connected
As described in figure 4.8, the information communicated will be use to utilize the
coordination strategy to coordinate R
2
and R
3.
The coordination logic under this
circumstance can be illustrated in figure 4.9

Get information from DG agents
DG1 and
DG2
connected
Settings when DGs are connected
Other coordination
process
Using fault current and time delay parameters to coordinate
Coordination ends
Figure 4.9 pair to pair relay coordination strategy with DGs connected
[31]

Figure 4.10 shows the information track among agent communication and the
communication message content respectively. The information needed to be
communicated in this condition is mainly between relay agent and DG agent. Once the
DG is connected to the grid, DG agent will communicate with relative relay agents.
Once a fault occurred, R
2
and R
3
can be coordinated using relay settings with DG [31].

Figure 4.10 Communication Information Monitoring through Sniffer Agent

4.7.2 DG
1
,DG
2
and DG
3
connected
The information needed to be communicated in this condition is mainly between
the relay agents and DG agents. Once DG is connected to the grid, dg agent (DG
1
, DG
2
,
DG
3
) will communicate with relay agent (R
1
, R
2
, R
3
). Once a fault is occurred,
coordination can be achieved through communication between primary and backup relay
agents [31].

You might also like