Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
CHAPTER 3
GENERATION SYSTEM RELIABILITY
EVALUATION SERVICES
3.1
INTRODUCTION
In power system generation planning, many design and operational
criteria and techniques have been developed to resolve the conflict between
economic and reliability constraints. The objective of generation planning is
to provide sufficient generating units for the future in such a way that the
investment and operating costs are minimized, while satisfying the system
load
requirements
with
specified
reliability
under
the
operating,
performed to evaluate the ability of the system generation capacity to meet the
total system load. Billinton and Huang (2005) illustrated two computer
programs that have been developed to conduct basic generating capacity
adequacy evaluation.
57
indices by simulating the actual process and random behaviour of the system.
There are a number of basic reliability indices to assess generation
capacity adequacy. The loss of load expectation (LOLE) is the expected
number of days (hours) in a specified period in which the daily peak load
exceeds the available generating capacity. The loss of energy expectation
(LOEE) is the expected unsupplied energy due to generating inadequacy. The
loss of load frequency (LOLF) is the expected frequency of encountering a
generation deficiency in a given period (Billinton and Allan 1984). The
different reliability indices are obtained using different load models. The
authors have discussed the misconceptions of estimation a LOLE index in
hours and LOLE index in days and the wrong interpretation on reciprocal of
the LOLE is being considered as LOLF. They have illustrated the analytical
and simulation programs using well known test systems, IEEE-RTS and
RBTS.
3.2
reliability analysis are the capacity and the failure probabilities of individual
generating units. If a simple two-state model is assumed for the operation of
a unit, its failure probability is given by its unavailability U, which can be
expressed in terms of the unit failure rate
Equation (3.1).
(3.1)
where
U = unit unavailability
= unit failure rate
= unit repair rate
58
FOR
(3.2)
The FOR calculated for a long period of time (e.g. 365 days), is the
same index as the unavailability defined in Equation (3.1). The FOR is a
good approximation for the two-state model. The next step in building a
generation model is to combine the capacity and availability of the individual
unit to estimate available generation in the system.
P(X x i )
1 q
q
x i Ci
xi 0
(3.3)
59
0
P(X x i )
q
q
xi 0
0 x i Ci
xi Ci
(3.4)
There will be a forced outage rate for every capacity Ci, and the
individual state probability and cumulative state probability are summarized
in Equations (3.5) and (3.6) respectively.
P(X= xi) = p(xi) where i = 0,1,2, ..
(3.5)
P(x k ) P(X x k )
(3.6)
i k
p(x i )
Recursive Algorithm
A capacity outage probability table (COPT) is an array of the
P(X)
(1 U) P (X)
(U)P (X C)
(3.7)
where P (X) and P(X) are the cumulative probability of the capacity outage
state of X MW before and after the unit is added.
60
P(X)
n
i 1
where
p i P' (X Ci )
(3.8)
monthly load or weekly load in a year, the load in 24 hours in a typical day in
each season and the maximum load in each day in a week.
With the
percentages of these data available and the annual peak load known, the
hourly chronological load profile can be established.
The quantification of reliability is an important aspect of generation
system reliability assessment. The measurement used to quantify reliability
of a generation system is given by various reliability indices. These reliability
indices are used to assess the reliability performance of a generation system
against some predetermined minimum requirements or reliability standards,
compare alternative designs, identify weak spots and determine ways for
61
An important
shortcoming of these methods is that they do not account for the stochastic
nature of system behaviour. Probabilistic methods can provide more
meaningful information to be used in design and resource in planning and
allocation (Prada 1999). There are two approaches that use probabilistic
evaluation. The analytical methods represent the system by mathematical
models and use direct analytical solutions to evaluate reliability indices from
the model.
62
LOLP
P[C A
C j ] P[L C j ]
j
where
pj t j
100
Probability
Expected load
CA
Cj
pj
tj
(3.9)
63
LOLE = LOLP x T
where
(3.10)
T = 8760 hours (if the load model is an hourly load curve; the
LOLE unit is in hours per year)
in Figure 2.3. The load model used depends on the required reliability index.
One common load model represents each day by the daily peak load, while
another one represents the load using the individual hourly load values. If the
daily peak loads are arranged in descending order, the formed cumulative load
model is called the daily peak load variation curve. The load duration curve is
created by arranging the hourly load values in descending order. In the loss
of load method, the daily peak load (or hourly values) are combined with the
capacity outage probability table to obtain the expected number of days (or
hours) in the given period in which the daily peak load (or hourly load)
exceeds the available capacity. The index in this case is designated as the loss
of load expectation (LOLE). The LOLE is given by:
64
LOLE
n
k 1
where
Pk t k
k 1
(t k
t k 1 )Pk
(3.11)
LOEE
n
K 1
Figure 3.1
p E
k k
(3.12)
65
The LOEE can be normalized using the total energy under the load
duration curve as shown in Equation (3.13).
n
LOEE p.u
(3.13)
pk E k / E
K 1
EIR
= 1 LOEEp.u
(3.14)
66
67
String className();
String contextRoot();
String urlPattern();
}
@interface RunAtServer
{
String applicationServer();
}
@interface InputData
{
String powerSystem();
int noOfBuses();
}
STEP 2: Initialization of elements within the custom annotations and make
the annotations as class level annotations.
The service developer is expected to provide the values for the
elements of the custom annotations while uploading a service to a specific
server with a sample power system data as a test case.
@Upload(className="LolpServlet", contextRoot="lolp",
urlPattern="LolpService")
@RunAtServer(applicationServer="tomcat")
@InputData(powerSystem="ieee-rts", noOfBuses=24)
public class AnnotatedClass { }
The @Upload annotation indicates that the loss of load probability
service provided by LolpServlet.class is to be uploaded to the application
server tomcat as specified in the @RunAtServer annotation.
The
annotation @InputData refers to the stored power system data in the service
68
provider, which is ieee-rts.xml data file that represents the power system
data for the IEEE Reliability Test System with 24 buses.
STEP 3
STEP 3.1 :
69
STEP 3.2 :
STEP 3.3 :
STEP 3.4:
Upload the data file ieee-rts.xml for the IEEE Reliability Test
System for 24 Buses to the service provider.
String data_file = inputDataFile+".xml";
File f4 = new File(data_file);
FileInputStream fis4 = new FileInputStream(f4);
byte [] dataBuffer = new byte[(int) f4.length()];
fis4.read(dataBuffer, 0, dataBuffer.length);
fis4.close();
oos.writeObject(data_file);
oos.writeObject(dataBuffer);
70
STEP 4
The server application has to listen and accept the client request at a
specific port.
lolp.war file for deployment and the necessary data file in the appropriate
directories on the server side is given in Appendix 2. The server is listening
at port 5000 for reliability estimation service requests from the clients.
STEP 4.1 :
71
name is specified in the string contextRoot and is ready to listen to the client
requests. Using the contextRoot and urlPattern given in the annotations, i.e.,
lolp and LolpService respectively, the URL to be used to access the
service is http://localhost:8080/lolp/LolpService.
3.4
data, they may request the service provider to launch the reliability estimation
services on the client side itself and then the services can be invoked using
reflection. The implementation of the reliability estimation service is added
as an attachment to the SOAP message and the same will be received on the
client side and using reflection, the services can be invoked. At some times,
when the client invokes a service at a critical condition, which needs an
immediate action to be taken based on the response of the service in order to
avoid abnormalities, the client is allowed to set a priority value to the required
service. When the server receives the request with the priority value set and if
it is not able to provide service immediately, the server could be capable of
launching an instance of the requested service on the client side. In order to
keep the integrity and security of the service, the services which are to be
launched should be self destructive so that requester cannot copy or modify
the downloaded service whose response is needed to take decision in time to
avoid any abnormality.
An innovative concept of Reliability Estimation as a Service
(REaaS) is introduced by the way of including the implementation i.e.,
definition of reliability estimation methods which have been described in the
service endpoint interfaces as binary attachments to the SOAP envelope. The
SOAP envelope with the service itself as binary attachment has been sent as a
response from the service provider to the clients as and when the specific
72
services are required. The SOAP response is parsed on the client side and the
attached service is extracted, launched and invoked using a reflective
middleware. Thus the concept of Reliability Estimation as a Service is
achieved.
The SOAP communication is emerging as a standard way to
send XML documents over the Internet from different platforms and thus
enhancing the interoperability of Web services. The SOAP with Attachment
API for Java (SAAJ) conforms to the Simple Object Access Protocol
specification and the SOAP with Attachments specification. The block
diagram representation of the proposed SOAP communication model for
launching power system reliability estimation services is given in Figure 3.2.
SOAP
Request
Power System
clients
SOAP
Response
Power system
reliability estimation
service provider with
custom Message
Receiver
getService()
(execute)
launchService()
(download)
73
74
<mttf>2940</mttf>
<mttr>60</mttr>
<scheduledMaintenance>2</scheduledMaintenance>
</generator_group>
</generator_system>
<load_system>
<maximum_load>2850</maximum_load>
<week>
<weekid>1</weekid>
<percentageofpeak>86.2</percentageofpeak>
<actualpeakload>2456.7</actualpeakload>
</week>
</load_system>
</power:lolpService>
The SOAP request payload is not expected to contain the reliability
estimation data if the priority value set is above 7. In this case, the client is
not even required to provide the <serviceType> data to the service provider.
The launch service is assumed.
The RawXMLINOutMessageReceiver
The
predefined
invokeBusinessLogic()
behaviour
of
The
75
76
OMElement is an Axis2
package are used to make the service ready to transport to the requested
client.
data and it encapsulates a file of any content type. A DataHandler object can
be created in association with the FileDataSource.
The FileDataSource
implicit conversion of data to byte stream form and transfer the data as such
to the secondary disk file or directly to the application. The launchService()
method accepts the name of the service to be invoked and the service class
which encapsulates the service as request in the form of OMElement that
fetches the requested service class and sends it back to the client as
OMElement. The code segment which will make the byte code contents of
the service class in a readily deliverable form is given below.
String serviceClass = element.getFirstElement().getText();
FileDataSource fds = new FileDataSource(serviceClass);
DataHandler dh = new DataHandler(fds);
77
78
<serviceGroup>
<service name="ReliabilityService">
<description>
Reliability Estimation Service SOAP with Attachment Model
</description>
<parameter name="enableSwA">true</parameter>
<parameter name="ServiceClass" locked="false">
power.ReliabilityEstimationService
</parameter>
<operation name="launchService">
<actionMapping>urn:launchService</actionMapping>
<messageReceiver
class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
</operation>
</service>
</serviceGroup>
service
implementation.
The
specified
Java
class
79
3.4.2
to enable the clients to access the required service to launch the reliability
estimation
services.
EndpointReference
The
can
be
corresponding
located
using
WSDL
file
the
following
or
the
URL:
http://localhost:8080/axis2/services/ReliabilityService
The client sends a SOAP message to the server requesting for the
required service to be launched. The SOAP Envelope for the SOAP request
Message is created using SOAPFactory, as shown below:
SOAPFactory fac = OMAbstractFactory.getSOAP11Factory();
SOAPEnvelope env = fac.getDefaultEnvelope();
OMNamespace omNs = fac.createOMNamespace("http://power","swa");
OMElement method = fac.createOMElement("lolpService", omNs);
OMElement param1 = fac.createOMElement("serviceClass", omNs);
OMElement param2 = fac.createOMElement("priority", omNs);
OMElement param3 = fac.createOMElement("serviceType", omNs);
param1.setText("ReliabilityEstimationService");
method.addChild(param1);
param2.setText("10");
method.addChild(param2);
param3.setText("launch");
method.addChild(param3);
env.getBody().addChild(method);
80
The client can retrieve the requested service to be launched using the service
ID in association with the DataHandler. The service class in the form of
binary content is available as SOAP Attachment. Using the service ID, which
has been sent by the ReliabilityService, the DataHandler retrieves the
attachment and provides the requested reliability estimation service to the
client and the code used to retrieve the service class is given below:
81
href="cid:urn:uuid:72EA2136F948A489CD2393312780553"/>
</swa:lolpServiceResponse>
</soapenv:Body>
</soapenv:Envelope>
The client receives the SOAP response and extracts the reliability
estimation service as byte stream from the attachment as referred by service
ID and stores it in the same name of the service in the location from where the
client application is executing.
82
83
84
Discover Reliability
service and its
Binding information
Publish Reliability
Service
ebXML
Registry
Power Systems
Reliability
Clients
Exchange of data
using XML over
SOAP
Interfaces
(LOLP service)
(LOLE service)
(LOEP service)
(LOEE service)
GSRS-DL description (Generation
System Reliability service.wsdl)
Figure 3.3
85
services are Generation System Reliability Services, the WSDL file is termed
as GSRS-WSDL. This is in the form of XML that makes the services
available in the Power Systems Service Registry.
Services are the key building blocks of SOA. A service is a
reusable function that can be invoked by another component through a welldefined interface. Services are loosely coupled, that is, they hide their
implementation details and only expose their interfaces. In this manner, the
power system client need not be aware of any underlying technology or the
programming paradigm which the service is using. The loose coupling
between services allows for a quicker response to changes than the existing
conventional applications for power system operations. This results in a much
faster adoption to the need of power system industries.
The power system clients discover the services available in the
registry by service names and acquire the interface information using GSRSWSDL of the Generation System Reliability services. Based on this
information, the clients have a binding with the Generation System Reliability
service provider and can invoke services using Simple Object Access Protocol
(SOAP) messages. An ebXML registry is used to publish the proposed
reliability services.
3.6
IMPLEMENTATION
OF
LAYERED
WEB
SERVICES
ARCHITECTURE
The proposed SOA model is viewed as layered Web Services
architecture for generation system reliability analysis. The various layers
involved in the implementation of the proposed architecture for generation
system reliability analysis are Transport layer, Information layer, Service
layer, Discovery layer and Packaging layer as shown in Figure 3.4.
86
Packaging Layer
SOAP Request /
Response
SOAP Messages
Generation system reliability services
Discovery Layer
ebXML
Registry
Service Layer
LOEE
LOLP
LOLE
LOEP
Information Layer
XMLised
Power system reliability data
Transport Layer
XML- PSR
Raw PSR
Data
XML- PSR
Raw PSR
Data
HTTP / HTTPS
Figure 3.4
Each layer is performing its intended task and interacts with each
other to evaluate the generation system adequacy. The implementation details
of these layers are explained in the following sections.
3.6.1
Transport Layer
The power system clients communicate with the service provider
via HTTP / HTTPS protocol. The transport layer, which is at the bottom of
the model, encapsulates the communication. The transport layer provides an
end-to-end data transport service between the power system applications
across the network. The transport layer wraps around the end hosts that
encapsulates the communication medium. This layer provides a medium
through which the SOAP envelope which comprises of reliability data as
87
Information Layer
As the size of power systems is large, data exchange is a major
88
Service Layer
The reliability indices Loss of Load Probability (LOLP), Loss of
89
<definitions name="reliabilityService"
targetnamespace="urn:reliability">
<types>
<schema targetnamespace="urn:reliability"
xmlns:tns="urn:reliability"
xmlns:soap11-enc=
"http://schemas.xmlsoap.org/soap/encoding/">
<doubletype name="estimateLolp">
</doubletype>
<element name="estimateLolp" type="tns:estimateLolp"/>
<element name="computelolpresponse" type ="string"/>
</types>
<message name="lolp_estimateLolp">
<portType name="lolp">
<operation name="estimateLolp">
<input message="tns:lolp_estimateLolp"/>
<output message="tns:lolp_estimateLolpresponse"/>
</operation>
</portType>
<binding name="lolpbinding" type="tns:lolp">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"
style="document"/>
<operation name="estimateLolp">
<soap:operation soapaction=""/>
<soap:body use="literal"/>
</operation>
</binding>
<service name="reliabilityService">
<port name="lolpPort" binding="tns:lolpbinding">
<soap:address location="replace_with_actual_url"/>
</port>
</service>
</definitions>
The GSRS-WSDL definition document consists of seven key
structural elements for describing generation system service. The <definition>
element defines the name of the service as reliabilityService and declares
the namespace as reliability. The <types> element defines the data types
that would be used to describe the generator reliability data and load data. The
<message> element represents a logical definition of the data being
90
transmitted between the client and the service provider. The <portType>
element defines the abstract definition of the operation (estimateLolp) of the
service, request and response messages. The <binding> element specifies a
concrete protocol (SOAP) used for representing messages. The <service>
element represents the service to be invoked over multiple bindings. The
<port> element specifies an address (lolpPort) for binding to the service.
GSRS-WSDL makes the services available in the discovery layer through
power systems service registry.
3.6.4
Discovery Layer
The generated GSRS-WSDL is deployed and published to the
91
Packaging Layer
The power system clients communicate with the generation system
Load system
data
Reliability
Service Provider
Reliability
Service Requesters
SOAP Request
for
GSR Services
HTTP
Engine
HTTP
Engine
GSR Services
LOLP
LOLE
SOAP
Engine
SOAP
Engine
LOEE
LOEP
Figure 3.6
92
93
<public double LOLP(long cx,long ex,double P2x,double P3x, double P4x)
xmlns="urn:saaj"/>
</SOAP-ENV:Body></SOAP-ENV:Envelope>
<generator_reliability_data>
<general>
< tngg>9</tngg >
<totalcapacity type="mw">3405</totalcapacity>
</general>
<generator_group>
<group_id>1</group_id>
<unit_id>u12</unit_id>
<unit type>steam</unit>
<numofunits>4</numofunits>
<unit_size type="mw">12</unit_size>
<for>0.02</for>
<mttf type="hour">2940</mttf>
<mttr type="hour">60</mttr>
<sm type="weeksperyear">2</sm>
</generator_group>
..........................
</generator_ reliability_data>
<load_system_data>
<week>
<week_id>1</week_id>
<ppl>86.5</ppl>
<apl type="MW">2456.7</apl>
</week>
..........................
< /load_system_data>
94
95
SOAP based communication model defines a loosely coupled and documentdriven communication. Hence, the proposed SOA model for generation
system reliability analysis makes the service provider and the power systems
client to exist in a loosely coupled heterogeneous environment. The SOA
model has been designed to include or plug in new power system planning
and expansion services without modifying the existing environment.
3.7
physical infrastructure, its initial and maintenance costs, the run time and
response time and moreover increases the pace of innovation. The abstraction
of infrastructure enables the power system applications not locked into
devices or locations. Reliability estimation services can be obtained any time
from any access point.
The cloud computing has changed the way of development,
deployment, updation and maintenance of power system applications and the
infrastructure on which they are being executed. Cloud computing when
properly implemented, provides the users with greater flexibility, portability,
and choice in their computing options. Cloud computing defines a model
where specific services are assigned to systems that are accessed through a
network. It is a type of computing in which dynamically scalable and often
virtualized resources are provided as services over the Internet (Buyya et al
2009). The cloud environment that provides Platform as a Service allows
various power system applications developed using different programming
paradigms to interact with each other without any modifications. When
96
97
3.7.1
Step 1 :
Step 2 :
Step 3 :
Step 4 :
5
i 1
Ci
98
Step 5 :
Step 6 :
Pi,
then load level L= Li. (In this sample system, the load model is
considered as straight line and it is more convenient to calculate
the load level from L = 64 + (160 - 64) U2)
Step 7 :
If C < L, then D = D + l
Step 8 :
N=N+l
Step 9 :
Calculate LOLP = D / N.
Step 10 :
Step 11 :
Simulation approach is: 0.159999538 day / year. Due to small value of forced
outage rate is used; the number of samples required may seem to be very large
even for this small sample test system.
The GSRServlet middleware which is uploaded to the Google
cloud environment encapsulates the Monte Carlo Simulation behaviour for
the estimation of LOLE index. The Google App Engine allows dynamic
allocation of system resources for a power system application based on the
actual demand. The power system application developed using App Engine is
easy to build, maintain and to scale up or down depending on the traffic and
data storage. A deployment descriptor file is to be created while deploying
the reliability estimation service on to the GAE Cloud. The deployment
descriptor file (web.xml) is configured as follows:
99
<web-app >
<servlet>
<servlet-name>GenerationSystemReliabilityMonteCarlo</servlet-name>
<servlet-class>gsrcloud.GSRServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>GenerationSystemReliabilityMonteCarlo</servlet-name>
<url-pattern>/GSRServlet</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>gsrmontecarlo.jsp</welcome-file>
</welcome-file-list>
</web-app>
The
<application>
element
contains
the
application
id
100
version identifier for the latest version of the application. The App Engine
based Web application configuration is given as follows:
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://kenai.com/projects/nbappengine/
download/schema/appengine-web.xsd appengine-web.xsd">
<application>gsrmontecarlo</application>
<version>1</version>
</appengine-web-app>
generating system adequacy assessment and tested with sample RBTS and
IEEE-RTS test systems. The QoS measures such as average elapsed time,
101
i.e., Round Trip Time and throughput are estimated and compared for
different power system reliability estimation services using different models
deployed in the Google App Engine, Tomcat Web Server and Sun
Application Server. To reduce the computation time, outage capacities are
rounded to regular intervals so as to reduce the number of states in the
capacity outage probability table. The QoS measures are obtained by varying
the number of requests to the distributed reliability estimation services.
Initially, the reliability estimation services have been implemented using RMI
framework for testing the behaviours. The RMI framework uses the Java
Remote Method Protocol, which in turn uses TCP/IP for its communication.
Through an open port, the RMI client communicates with the RMI server.
Whenever there is a firewall, the communication is blocked which is a major
drawback whenever RMI based applications are to communicate between
different local area networks.
After developing, deploying and testing the power system
reliability estimation services using RMI, JAX-RPC, SOAP based Service
Oriented model and Google App Engine cloud, the Qos measures are
tabulated as shown in Table 3.1.
Table 3.1 Comparison of QoS Measures for Reliability Estimation Services
RMI
System
3 Bus
System
RBTS
(6 bus
System)
IEEE RTS
(24 bus
System)
JAX-RPC
(SunAppServer)
RTT Throughput
in ms
in Mbit/s
AXIS2
CLOUD
(Tomcat)
(GoogleAppEngine)
RTT Throughput RTT Throughput
in ms
in Mbit/s
in ms
in Mbit/s
RTT
in ms
Throughput
in Mbit/s
298
1.76
280
1.87
269
1.95
245
2.14
268
1.95
248
2.11
235
2.23
205
2.56
210
2.496
190
2.759
172
3.048
152
3.449
102
103
The main characteristic of the cloud environment is that it is ondemand and cost effective. Further, environments like Google App Engine,
Windows Azure etc., provide the developers to upload and test certain
specific number of applications for free of cost for a limited memory usage
and other criterion.
App Engine is efficient in fetching the required service when compared with
the other environments. One of the major concerns from the clients
perspective would be the response time, which is found to vary minimally in
all cases for the tested power system reliability estimation services using
various platforms.
3.9
CONCLUSION
The need for Web enabled automation and launching of self
104