Design Of OO Network Topology Processor By Graph Theoretic
Abstraction
Shubha Pandit
S.A.Soman
S.A.Khaparde
Department of Electrical Engineering
Indian Institute of Technology Bombay
Powai Mumbai -76
1 Abstract
Network Topology Processor (NTP) processes real-time cir
cuit breaker (CB) status to derive electrical topology of the
Power System Network (PSN). Other Energy Management
System functions like Power System State Estimator (PSSE)
are based on real-time network topology obtained from NTP.
‘This paper proposes an Object Oriented (00) design of a
NTP that can handle any arbitrary substation arrangement.
‘The design stresses sparsity exploitation and computational
speed for a critical on-line application like NTP.
2 Introduction
Modern power system has grown in size and complex-
ity. Various constraints such as security, economy, envi-
ronmental regulations are forcing the power systems to
operate closer to their design capabilities and security
margins. Utilities are required to operate as optimally as
is possible. This has made the task of the operator more
difficult as he has to have a ready reference of the dy-
namically changing scenario of the large interconnected
system.
Monitoring and control of large interconnected power
system requires minute by minute processing of real-time
measurements such as line power flows, power injections
and bus voltages. The measurement data is collected by
remote terminal unit at substation and transmitted to the
energy control center. In order to remove inconsistencies,
filtering of this data is required. Any such on-line mon-
itoring program requires another on-line program which
provides system configuration that can change dynami-
cally due to circuit breaker (CB) operations. The system
configuration specifies the interconnection of various net-
work elements, depending upon the open/close position
of the various isolators and CBs in the network. This
means that in order to update the system configuration,
the current status of the CB and the corresponding inter-
connection of network elements has to be made available.
89
It is the job of the network topology processor to collect
both these data and create the latest system connectiv-
ity diagram. Thus, the entire process of network topology
updating finally boils down to large scale logic processing
of circuit breaker status.
‘The information processed by the Network Topology
Processor (NTP) has been handled in literature in a
number of ways. The apparatus data and the substa-
tion topology information has been stored as offline data
tables with each row corresponding to a breaker in (1)
‘The same is stored in the form of admittance matrix of
the system in [2]. Yehsakul (3) defined a bus.to.branch
array for each physical branch represented by a differ-
ent branch index. The network data can also be rep-
resented as a binary matrix relating to the connectivity
of nodes [4]. Bertran et. al. {5] use tables or matri-
ces as databases with vector partitioning into groups to
store network information. They have implemented the
concept of depth.first search algorithm to determine con-
nected components of an abstract graph in the connec-
tivity algorithm. Though NTP does not concern itself
with visualization of graph of the power system, the con-
cept of developing a graph of the system that reflects its
electrical connectivity has been discussed in detail in this
paper.
With the growing complexity of the Energy Manage-
ment System (EMS) software, there has been a paradigm
shift from algorithmic decomposition implementation to
Object Oriented (00) implementation. The OO system
design leads to software development that is reusable,
modular, resilient to changes and scalable [6]. In OO
modelling, world is viewed as a collection of objects that
interact with each other to achieve the desired functional
ity. They provide a cohesive binding of data and methods
into classes. This should be contrasted with procedural
implementation which have global data even though func-
tions can be modular. A class captures the commonality
of abstraction in objects. In other words, an object is anFigure 1: Typical Power Network
instance of a class.
Neyer et. al. presented an OO Load Flow design in
1990 [7]. Since then, research has been focused om OO
design of power system analysis software. Work has been
i sgn classes for sparse matrices, network
apparatus and applications. An OO NTP was Proposed
| (2). based on message passing ar-
chitecture. This design pr
The proposed work takes a graph theoretic approach
{0 implement a NTP in an OO environment. The Power
System Network (PSN) is modelled through class Sub. Stn
& class topology and class category
‘networks result in sparse ‘matrices,
He matrix can be represented by a graph, class graph io
derived from class sparse.matriz. This class is weed te
‘model graph theoretic computations. An optimally im.
plemented clas ect is designed to manipulate the graph
‘theoretic operations.
{hn the next section, we define the problem and discuss
its solution methodology. ‘Then we move onto the analyze
phase in which appropriate classes are identified, which
Sections. In the end, we
3 Problem Description & Solu-
tion Methodology
Figure 1 shows diagram of a typical PSN. It can be seen
that network can be viewed a8 a two level hierarchical
structure. PSN is composed of electrical substations vst
nected through lines, transformers, cables, ete If es
zoom on to a substation, as shown in figure 2, a aut
work consisting of buses interconnected CB can
beseen. Varying substation configurations like ring ns,
Figure 2: Ring Bus Arrangement
sth varying costs, exibil
one.and half CB arrangement with varying cst 1 cal
ity of operation and reliability exist. 3 epee
node as an interconnection point of two ole
of a CB. A path of closed CB leas to ote ne CBS
‘or more physical nodes into an electrical no. Ty be a
for a substation selene = cee ‘eal Ve sa
single electrical node. Opening 3
oe it into multiple electrical nodes. Thus, #Be "0 the
in NTP is to analyze substation con! sods?
number of electrical nodes and map the physical a
electrical nodes. We designate this analysis
level processing.
we cal
Once substation level processing is oon ie
Proceed to network level processing, A GIN jes of one
transformer, ete) terminates into PhYSICM Mt ess, a
or more substations, For the sake of comity of
include the mapping of physical from in the substi”
Circuit onto electrical from and to nodes i ‘completed
level processing. After this processing *onstructed: i
graph (of electrical network) can be COMET rogest
Sraph is then analyzed during the net
ing to find the number of islands.
4 Identification Of Classes
os ie
The vocabulary of problem domain contain fas ys #2
line, transformer, substation, OB, ete: WN aoe
of
identify a class for each of them. Most of Tar,
are alo sed in other applications Uke Land Fry
ysis, Power System State Estimation. TA adh
oe selon Savolves tat oa
graph. This gives us a cue to ;
fc apple raid TT
in many applications including Observation io
EMS. Thus, our analysis has led to O° cently
class graph. Methods of class graph can DE °C get
plemented using the set theoretic APPFOO=N erate
been designed to optimally aa here-
However, this class has not beenFinally, we identify need of a supporting class to imple-
ment associative array. Power system nodes are best des-
ignated by character strings. The substations are named
by their locations. On the other hand, from the point of
view of computations, we prefer nodes being numbered
by non-negative integers. Class asso.array has been de-
signed to map character strings into non-negative inte-
gers. In the next section we discuss design of PSN classes.
5 Network Modelling
In order to determine the actual connectivity or topol-
ogy of any network, it is essential to gather information
regarding the different apparatus that is connected at var-
ious substations in the system. Also, the arrangement of
the breakers inside all the substations along with their
status is required to fully define the topology. Thus, the
data requirement for NTP can be summarized as
1. Substation data : which includes information on sub-
station topology like ring main, one and half cir-
cuit breaker. For NTP application, two end nodes
of the CB defined by two physical-nodes ( make a
distinction with electrical node), and the informa-
tion about the status of the switch is required. A
phantom breaker is a fictitious breaker which is in-
troduced for the sake of analysis and is assumed to
be always closed. Such a breaker is introduced usu-
ally at phantom nodes. A phantom node has no CB
associated with branches or circuits originating from
it. A typical example is a node created by tapping a
line. Substation names and the physical node names
for each bus within a substation are taken as distinct
and unique in a system.
. Apparatus data : This includes line, transformer,
oad and generation data. The ends of a line or a
transformer (from bus and to bus) are identified by
the substations into which the line terminates and
the physical bus of the substation to which it is con-
nected.
The processing of this data can be handled by designing
following classes.
5.1 class topology
Class topology has been defined to model the substation
configuration, in which a CB is modelled using the struc
ture spmat, The structure spmat is actually designed to
model static linked list for defining sparse matrices. It has
been defined using template facility of C++ as follows:
‘template
struct spmat
4
int row, column, link row, link column;
T value;
BH
However, it can be reused to model a CB with integer
parameters.
class topology
{
public :
char from[20], to[20], name[20);
char *#ELECT_nane;
int nodes_created;
spmat #vect_cb ;
asso_arr nane_arr}
topology();
find_comectivity();
a
The attributes of class topology are discussed below.
Name of the each substation is stored in name. The
physical nodes to which a CB is connected are stored
using character strings from and to. An associative array
name.arr assigns integer nodenumber for every physical
node. The circuit breaker (CB) data and its status (ON
or OFF) is defined by vect.cb which uses struct spmat
defined earlier. The field row of spmat can be used to
store the from-node number of the CB while column can
represent to.node. Field value can be used to store the
status of CB with 1 as closed and 0 as open. Integer —1
can be used to represent a phantom breaker. All possi-
ble substation topologies can be captured by this simple
abstraction. This class has been defined as a private at-
tribute of class Sub_Stn. As such, it is not visible to other
classes.
5.2 class Sub_Stn
‘This class has been defined to model set of substations in
aPSN.
class Sub_Stn
{
private :
asso_arr name_to_no;
class topology {}
‘topology * vect_substn;
imt topo_count, zones_created;
public:
read_data();
create_graph() ;
create_lookup();
o1‘Table 1: Class category apparatus
Apparatus class Tastance
Tine branchline | «L—line
‘Transformer | branchX | *L_Xmer
PV.node | node PV Lp
PQnode | node PQ pq
shunt, shunt, Lshunt
‘The attributes of class Sub_Stn are discussed below:
We have already identified that. network level graph con-
tains embedded substation level graph. A graph of the
substation can be constructed by inserting an edge be-
tween pair of physical nodes, if and only if there exists
a CB between them which is closed. In substation level
Processing, we are interested in identifying maximal sets
of physical nodes connected through closed CBs. Each
‘such set represents a unique electrical node. Method
find. connectivity() of class topology creates an array of sp-
‘mat corresponding to closed or phantom CB in order to
replicate the dynamic connectivity of all the substati
Method create_graph() sequentially creates a graph cor.
responding to the closed CBs of each substation. Method
(find_comp(A)) (of class graph) invoked by method cre-
«ate_graph computes all possible components alias the elec
trical nodes in the substation graph.
A substation graph thus contains at least one electri-
cal node, however, it may split into many, depending
‘upon the number of components created. Subsequently,
method create-graph() also names each electrical node by
@ unique character string. Corresponding to each sub-
station, the names of electrical nodes are stored in an
array ELECT-name. The process of identifying number
of electrical nodes and assigning new names is repeated
for all substations. topo.count stores the number of sub-
stations in a network indicating number of instances cre-
ated of the class topology. Method create lookup() estab-
lishes many.to.one mapping of physical nodes to electri.
cal nodes and stores it in a lookup table.
the connectivity information is in terms of the phys-
ical nodes of individual substation, the lookup table
is searched to find the ling electrical node.
‘Thus the information about the network connectivity gets
translated from the physical nodes in substation to elec.
trical nodes of the system. Two electrical nodes of the
two substations are thus linked by apparatus connected.
(7H casetetetrsenten | pam pontine
SJ eet
PO phys carta
doe
sibs demetion | A ante |
+ ‘sous?
id i) mame {
senee vases 1h
Figure 3: Abbreviations ,
in
In the network level processing, we are ee 6
identifying islands in the system. ‘The process ie a
substation level processing. We create a ea noe eit
graph corresponding tothe apparatus (cic (A)
ity of the electrical network. Method fin 7
identifies the islands in the electrical network
canbe
‘The various apparatus connected in the SYST gis
modelled through classes. These classes DYE sable
cussed in literature (7) & (8) and are i
ic
6 Object Oriented Design
In section 4, we have identified the role a : men's
bilities of the various classes that provide FN, dee
behaviour. In the subsequent sections, we BON yy die
signed these classes. During analysis, We ¥° 6 x4 for
grams to capture the structure of the class®s °™ 4 to
the system’s architecture. A class —
show the existence of clases and oy
the logical view of a system. Figure
ai of a NTP. The various icons at: "A cloud 8
developing the diagrams are shown in BENS yniai
used to represent a class. Each class must "AS gagde
name associated with it, which is vriten i 8 orcs |
lar box inside the cloud. Important attri viicated bale |
along with access permission can also be instends SEY
‘the class name. Classes rarely eae a
collaborate with other classes in @
essential connections among classes such 95 1 show?
association, "has" and using” relations the t9Pe
using different icons. The diagram oy
of physical containment ( by value oF
collaborating class along with the number
created of the same. Thus the class diam
visualize a large system with relative ease
cal o0st0O™
Ik can be seen that class NTP i6 ® BMS gad cast
tion of class category apparatus, class
used whegraph. Class SubStn models a number of substation ob-
jects. A number of instances of class topology are created
in a object of class Sub.Stn depending upon the number
of substations of the system.
During design, object diagrams serve as the primary ve-
hicle for describing scenario which express the behaviour
of the system. An object diagram is used to show the
existence of objects and their relationships in the logical
design of a system. In other words, an object diagram rep-
resents a snapshot in time over a certain configuration of
objects. The figure 5 shows the object diagram for NTP,
Directed arcs show the methods that a client invokes on
the supplier object. The number associated with the mes-
sage show the sequence of the activity. Directed arc es-
tablishes relationship between client and supplier. Class
graph has a constructor to instantiate a graph from an ar-
tay of spmat. By restricting the array spmat to one with
closed CB, a graph is created that reflects the electrical
connectivity of a substation. Method find_component(A)
finds the number of components of this graph and hence
identifies electrical nodes in a substation. A electrical
node in a substation is a set of distinct physical nodes
connected through zero impedance branches. Having es-
tablished this mapping, the from and to nodes of a cir-
cuit element are mapped onto the corresponding electri-
cal nodes. On similar lines, graph of the network is now
created. Method find.component(A) computes number of
islands of network.
7 Results
The above design has been implemented in C++. It has
been tested on various test systems which include the
IEEE 14 bus system as well as test system in reference
(1). It was observed that the proposed NTP is able to
analyze all standard substation topology as well as any
arbitrary topology. This is because of the use of class
graph which generalizes all possible substation topologies.
It was further observed that cases leading to islands due
to circuit breaker operations could be diagnosed correctly.
‘The computational effort is minimal because 0°
1. efficient sparse matrix storage scheme;
2. use of class set with optimal implementation &
3. computational work being restricted to finding com-
Ponents of a graph.
8 Conclusions
A novel OO NTP design and implementation was pre
sented in this paper. Efficient sparsity exploitation and
93
graph theoretic application makes it suitable for large
sparse graphs. The primary work is done by class set
which is designed with high level of efficiency. Both class
graph and class set are reusable by applications such as
Linear System Solver, Relay Coordination of mesh sys-
tems, Observability Analysis and Power System State Es-
timation which justifies the effort.
9 Acknowledgement
Financial assistance by Center for Scientific and Indus-
trial Research (CSIR), Govt. of India, under the scheme
22(0287)/99/EMR-II is gratefully acknowledged.
References
(1] Albert M. Sasson, Stephen T. Ehrmann, Patrick
Lynch, and Louis S. V. Slyck. Automatic power sys-
tem network topology determination. IEEE Transac-
tions on Power Apparatus And Systems, PAS-92:610—
618, 1973.
{2] Mauro Prais and Anjan Bose. A topology-based algo-
rithm for tracking network connectivity. IEEE Trans-
actions on Power Apparatus And Systems, 3(3):992-
998, 1988.
(3) Phongsak D. Yehsakul and Iraj Dabbaghchi. A
topology-based algorithm for tracking network con-
nectivity. IEEE Transactions on Power Apparatus
‘And Systems, 10(1):339-346, 1995.
[J F. Goderya, A. A. Metwally, and O. Monsour. Fast
detection and identification of islands in power net-
works. IEEE Transactions on Power Apparatus And
‘Systems, PAS-99(1):217-221, 1980.
[p] M. Bertran and X. Corbella. On the validation and
analysis of a new method for power network connec-
tivity determination. IEEE Transactions on Power
Apparatus And Systems, PAS-101(2):316-824, 1982.
(6) Grady Booch. Object-Oriented Analysis and Design
with Applications -second edition. Addison-Wesley
Publishing Company, 1994.
[7] Andreas F. Neyer, Felix F. Wu, and Karl Imhof. Ob-
ject oriented programming for flexible software : Ex-
ample of a load flow. IEEE Transactions on Power
Systems, 5(3):689-695, 1990.
{s] B.Z.Zhou. Object oriented programming, C++ and
power system simulation. IEEE Transactions on
Power Systems, 11(1):206-215, 1995.Figure 4: Class Diagram of NTP
fead data
Creed datal
uP.
ma zest)
1: ctor_Sub_ sin
—Sbsin
Physical node
stecicl nodes
a
S:assign elect
Figure 5: Object Diagram of NTP