Agent-Oriented Approach to Circuit Breaker Maintenance Technical Report

plumponionchipsSoftware and s/w Development

Nov 18, 2013 (3 years and 6 months ago)


Oriented Approach to Circuit
Breaker Maintenance

Technical Report

Submitted to the PSerc Industry

Version 1.0

Mladen Kezunovic (P.I.)

Xiangjun Xu

Electrical Engineering Department

Texas A&M University

March 20, 2002

Approach to Circuit Breaker Maintenance

Texas A&M University, March 20, 2002


le of Contents










3.1 Software Agents



3.2 Agent
d Approach



3.3 Workflow Management



3.4 Further Discussion









Approach to Circuit Breaker Maintenance

Texas A&M University, March 20, 2002


Oriented A
pproach to Circuit Breaker Maintenance

1. Introduction

Mobile agents are autonomous programs able to travel to the locations in a computer
network having a mobile agent server running. By traveling to the data sources,
processing the information locally
and selectively bringing back only the information of
interest, the computer network bandwidth consumption is reduced. Also, the network
does not need to be in service all the time. The user only needs to connect twice very
shortly for sending out and rece
iving back the application program respectively. The third
advantage is that the application program can be easily changed and upgraded without
affecting the whole software system structure. Compared with the conventional client
server architectures, which

move the data around, the mobile agents' approach of moving
processing codes around may be more suitable in some application scenarios.

We have applied mobile agents in solving problems of maintenance scheduling [1] and
circuit breaker maintenance and m
onitoring [2]. In those applications, we mainly utilized
mobile agents as data retrieving or exchanging tools and the focus was on the data
exchange problems in distributed heterogeneous environments.

There is another viewpoint worth pointing out: The so
ftware agents can be seen as a kind
of basic modeling unit, which play the same role as objects do in the Object
approach. Compared with objects, software agents are autonomous entities that can sense
the environment changes and act correspondingl
y. Software agents may also possess
planning or learning ability, which can make them even more useful. By modeling using
software agents, the Agent
Oriented approach can achieve higher level abstraction and
encapsulation in some cases, which may help to l
ead to better software structures. Also,
friendlier user interfaces are easier to implement by having a personal agent to aid the

In this report, we will apply the Agent
Oriented approach to solve the problems in circuit
breaker maintenance. We used

the workflow management as an example to highlight its

2. Background

The project titled "Power System Monitoring Using Wireless Substation and System
Wide Communications" has two related parts, namely the wireless part for substation
d communication and the mobile agent part for system wide communication. This
report is about the mobile agent part, which will focus on the communication problems in
the system wide applications.

We use the power system apparatus maintenance as the appl
ication target to illustrate the
system wide information exchange issues as well as to explore the applicability of mobile

Approach to Circuit Breaker Maintenance

Texas A&M University, March 20, 2002


agents and the agent
oriented approach. The computer hierarchy of a maintenance system
is shown in Fig. 1. At the highest level, the
enterprise maintenance system will need to
exchange information with the ISO for some maintenance schedules, which may affect
the operation of the transmission network. With the information from the ISO, historical
data, vendor recommendation intervals, an
d/or real
time monitored data, the maintenance
system may reach an optimal schedule for equipment inspection and maintenance.

Figure 1
. Maintenance system overview




Signal Analysis

Expert System

Substation data concentrator


Rule Base

Mobile Agent Server


Data files





Approach to Circuit Breaker Maintenance

Texas A&M University, March 20, 2002


The maintenance
scheduling algorithm will depend on the maintenance practice
(corrective, preventive, or predictive maintenance) adopted. We can assume that a set of
maintenance schedules has been created, which will be executed by the maintenance
crew in the form of work

orders. The maintenance crew will need to retrieve the work
orders and may also need to access other information from both the enterprise
maintenance system and from the substation computers. The monitored data needs to be
distributed to the relevant pers
onnel in an efficient manner.

The information exchange problem between ISO and a specific generation company has
been discussed in our previous work [1]. Also a prototype system utilizing mobile agents
for distributed information processing and retrieving

from the viewpoint of a
maintenance crew has been built and reported in [2]. The problem of utilizing the real
time monitored data has been discussed in [3]. The three agents in Fig. 1 represent those
three applications.

In this report, we will illustrat
e the Agent
Oriented approach by using a software agent to
model a maintenance work order. The software agent drives the work order until it is
accomplished. The maintenance crew will no longer need to worry about things like what
is the next appropriate s
tep, when to update the work order status, etc.

3. Agent
Oriented Workflow Management

3.1 Software Agents

Software agents in this application are autonomous entities. Software agents are active,
and they can sense the environment and act correspondingly.
Multiple software agents
can communicate, coordinate or negotiate with each other to form Multi
Agent Systems

To be autonomous, software agents should have abilities to sense and act. Artificial
Intelligence plays an important role in making softwa
re agents act rationally. In [4], the
intelligence aspect of software agents has been discussed in details. The abilities ordered
by the increasing intelligence level are: problem solving (searching), reasoning, planning,
uncertainty reasoning, learning an
d communicating.

Another aspect of software agents is mobility, which is a natural extension from
autonomy. Mobile agents can travel to the most appropriate mobile agent server and
process information locally. The main problems involved in mobile agent a
pplications are
security and reliability. Concordia mobile agent platform uses encrypted transmission and
user level authentication/authorization to solve the security problem and uses persistence
to ensure reliable transmission [10].

3.2 Agent
Oriented Ap

Object modeling, including Object
Oriented Analysis (OOA), Object
Oriented Design
(OOD), Object
Oriented Programming (OOP), has been widely used to model passive

Approach to Circuit Breaker Maintenance

Texas A&M University, March 20, 2002


processing applications that mainly provide services to the outside world [11]. For ac
processing applications, software agents may be more suitable. The mobility aspect of
software agents makes them advantageous in distributed heterogeneous environments,
and the intelligence aspect adds more power to the software agents and makes them

Here, we will use the work order management as an example for discussing the Agent
Oriented approach. The first question will be why work orders can be better modeled
using software agents. To answer this, we need to discuss the difference
s between the
agents and objects.

A distinct difference between objects and software agents is that software agents are
autonomous active components whereas objects are usually passive. Objects encapsulate
their internal details and provide services to ou
tside users for manipulating them.
External processes usually control the life spans of objects by creating or deleting the
objects. Conversely, the software agents are autonomous components, and they control
their own life spans. Also software agents usua
lly automatically act upon the
environment changes rather than being commanded by an external process.

If we use an object to represent a work order, it will have some internal data members
representing the work order and some functions to update those in
ternal data. An external
control process, which models the workflow to finish the work order, is still needed. On
the contrary, a software agent can have the control process built in, along with the
representation data for the work order. It is obvious tha
t software agent is a more natural
model in this specific case.

In the next section, we will use a software agent to model a work order. The workflow is
modeled using production rules.

3.3 Workflow Management

An example of the maintenance workflow is giv
en in Fig. 2.

Figure. 2. An example of the maintenance workflow

Issue a work order

Assign tasks to maintenance crew

Check work
order feasibility

Pick up test equipment or parts

Perform maintenance work

File corresponding reports

Approach to Circuit Breaker Maintenance

Texas A&M University, March 20, 2002


Usually, the work order is issued by a maintenance management system. It will depend
on the types of maintenance practices that have been adopted. Once an order is issued,
he feasibility of the work order will be checked. For example, if a certain maintenance
task requires replacing some parts, then those parts must be available. Otherwise, the
work order must be pending and waiting for the arriving parts. Then the work orde
r will
be dispatched to an available maintenance crew. After receiving the order, the crew may
need to pick up some testing equipment or parts before going to the substation to perform
the actual maintenance work. After the maintenance work is done, some r
eports may be

We use IF
THEN rules to model the workflow of Fig. 2. The antecedent part of the rule
gives the requirements to accomplish one step of the workflow, and the consequent part
defines the actual action of the step. An example rule is
given in Fig. 3.

(defrule rule_task_assignment

(maint_task (taskname ?taskname) (substation ?sta) (breaker ?brk) (taskdate ?taskdate)
(tasktype ?tasktype))

(feasible maint_task ?taskname)


(printout t "assigning " ?taskname " to available crew "


callback assignTask ?taskname)


Fig. 3. An example rule

When all the conditions of a rule are satisfied, the rule will be fired and new actions will
be taken, which may bring the workflow to the next stage. If one or several conditions a
not met, no rule will fire and the agent will wait for outside events. By subscribing to the
events of interest (e.g. new
arrived, work
finished), the agent will be able to
drive the workflow asynchronously. How the rules control the behav
ior of the agent is
shown in Fig. 4. The software agent provides
callback functions

to the rule base for
controlling its actions.

are in fact a type of the environment perceptions of the
software agent.

Figure. 4. Interaction between the rules
and the agent

A. Issuing a work order

The enterprise maintenance system will create a work order agent for dispatching a work
order. The work order will first try to locate an available maintenance crew from the crew



Rule base







Approach to Circuit Breaker Maintenance

Texas A&M University, March 20, 2002


list and communicate with other work
order agents. If all maintenance crews are busy
with other work orders, the current work order agent will subscribe to the Work
Finished events at the event server and then enter the “sleep” status. When a maintenance
crew finishes its task, the corr
esponding work order agent will return to the maintenance
system and notify all the subscribers of the Work
Finished event. Then the work
order agent that was in a “sleep” status can begin to enter the “ready” status.

In an ideal case, the maintenan
ce crew should have a personal agent, which is in charge
of arranging its schedules. And the work order agent should check against the crew's
personal agent for its availability. In the demonstration system, we simply assume a
maintenance crew is always av
ailable for work.

After selecting a maintenance crew, the work order agent will notify it about the work
order. Also the agent will record the name of the crew. When other agents query about
the availability of the crew, the agent will be able to give a c
orrect answer.

B. Driving the maintenance workflow

When the work order agent is created, the name of the workflow rule
base is provided to
the agent. With the knowledge about the maintenance workflow, the agent knows the
procedures for finishing the give
n work order. Therefore, the agent will be in charge of
driving the maintenance workflow.

First, according to the type of the maintenance task, the agent may need to check the
availability of the parts of a certain circuit breaker model. The agent will c
heck each
warehouse until the required parts are located. The checking sequence for the warehouses
is decided according to the distance to the circuit breaker and maintenance crew. If the
required parts are not available, the work order agent will enter “s
leep” status and
subscribe to the Parts
Arrived events at every warehouse event server. The work order
agent will release its maintenance crew due to the inability to push forward the workflow.
When the parts arrive, the agent will receive the notification

and it will try again to find
an available maintenance crew.

After the agent travels to the maintenance crew computer, it will also provide driving
directions to the warehouse and substation along with maps to the crew. The crew will
pick up the parts a
nd then drive to the substation.

After the crew arrives at the substation, the agent can show the maintenance crew the
diagram of the substation. The agent may retrieve the diagram from the
enterprise system or from the substation concentrator. T
he agent will also display the
information about the circuit breaker to be maintained. The information includes model,
maintenance history, etc.

More importantly, the agent will show the recommended procedures for maintenance.
The agent will try to retri
eve the procedure description from the enterprise maintenance
system. If some video (or audio) recordings about the maintenance are available, the

Approach to Circuit Breaker Maintenance

Texas A&M University, March 20, 2002


agent can play the video to the crew. Also, the agent can check the experience level of the
crew. If the crew

is very experienced, the display of the maintenance procedure may be

If the recording device is available, the agent can begin to record the maintenance process
when the crew commands it. The video can be used later to instruct new workers.


Completing the work order

When the order is finished, the work order agent can help the maintenance crew to
prepare reports. Usually, the formats of the reports are standardized in a company and the
agent can automatically fill most of the information in

the reports.

The work order agent will return to the enterprise maintenance system and submit the
report. Also, it will notify the event server with a Work
Finished event. Then the
work order agent will destroy itself and its life
span will end.

.4 Further Discussion

A. Agent Perception and Action

Agents need to sense the environment via "sensors" and act through "effectors". We use
events as the only means of perception, and the actions are implemented as callback
functions. An agent can subsc
ribe to events of interest. The event handler will translate
those events to facts and assert them into the inference engine. The engine will determine
what the agent should do. The agent exposes callback functions to the inference engine.
Those callback f
unctions represent the actions the agents support.

Integrated with Microsoft Agent [9] is also explored. Microsoft Agent has speech
recognition and synthesis engine for multiple languages, which may be usable for
interfacing with maintenance crew.

B. Rul
e base design

A rule base has been used to model the workflow. The software agent provides callback
functions to the rules. One criterion on how to design the rule base is that when people
want to change the agent behavior, they can achieve this simply by

updating the rules.
Otherwise, what is the purpose of having a separated rule base? After all, we can program
the rules into the agent. The only drawback is that we need recompile the program after
the changes have been made, which is not a big problem wh
en mobile agents are used.
Therefore only a careful function partition between the agent and the rule base can justify
the existence of a rule base.

The workflow model using production rules is an event
driven structure. When new
events happen, the agent
accepts the notification and inserts new facts into the inference

Approach to Circuit Breaker Maintenance

Texas A&M University, March 20, 2002


engine, which may trigger certain rules. A comparison with goal
driven model may be
worth investigating.

C. Mobility

Mobility is desirable since the software agents can travel to the main
tenance crew
computers, which may not always be connected to the network.

Code migration can be divided into weak mobility and strong mobility [5]. In the weak
mobility model, only the codes along with some initialization data are transferred. So the
sferred program always starts from its initial state. In the systems that support strong
mobility, the execution status of the program will also be transferred, so the program can
continue its execution when arriving at the new location.

The Jess engine (
) implements the
interface, which make it
possible to transfer the execution status of the inference engine [8].

4. Conclusion

In this report, Agent
Oriented Programming has been used to implement a software agent
capable of

assisting the maintenance crew in performing circuit breaker maintenance. The
agent uses rules to model the maintenance workflow where the workflow is driven by

Software agents are more suitable for Intelligent Business Process Automation. With
in knowledge about the workflow to accomplish certain business processes,
software agents can optimize the steps of finishing given tasks.

Software agents are more adaptive to the changing environments. By subscribing to the
events of interest, the
agents can be notified timely and act accordingly. The rules are
interpreted by the embedded inference engine and can be updated and changed

The agent
oriented approach provides more flexible software structure by higher level of
and encapsulation. Since the modeling is much closer to the real world
concepts, the software becomes easier to understand.

The agent
oriented approach can provide higher level aid to the maintenance crew. By
integrating artificial intelligence, agents ca
n guide the crew during the whole
maintenance workflow.

5. Reference

[1] X. Xu, M. Kezunovic,
Mobile Agent Software Applied in Maintenance Scheduling
2001, College Station, 2001

Approach to Circuit Breaker Maintenance

Texas A&M University, March 20, 2002


[2] M. Kezunovic, X. Xu,
Implementation of A Circuit Breaker Maintenanc
e Scenario Using
Mobile Agent Software
, PSerc project report, TAMU site meeting, September 25, 2001

[3] M. Kezunovic, X. Xu,
Interfacing Concordia Mobile Agent with the Automated Circuit
Breaker Monitoring software
, PSerc project report, November 26, 2001

[4] S. Russell, P. Norvig, "Artificial Intelligence, A Modern Approach", Prentice Hall, 1995

[5] A. Tanenbaum, M. Steen, "Distributed Systems, Principles and Paradigms", Prentice Hall,

[6] "Agent
oriented Software Engineering" Proceedings of the First

International Workshop on
Oriented Software Engineering, 10

June 2000, Ireland.

M. Wooldridge, and N. R. Jennings, "
Pitfalls of Agent
Oriented Development
", Proceedings
of 2nd Int. Conf. on Autonomous Agents, 1998, Minneapolis, USA

[8] Jess we

[9] Microsoft Agent,

[10] Concordia W
hite paper,

[11] Grady Booch, "Object
oriented analysis and design with applications", Benjamin/Cummings
Pub. Co., 1994, 2