A prototype for web services reliability prediction

2 downloads 0 Views 342KB Size Report
E-mail: popentiu@imm.dtu.dk. Abstract: In this paper, we ..... network approach', The 7th International Scientific Conference eLSE 'eLearning and. Software for ...
64

Int. J. Information and Communication Technology, Vol. 5, No. 1, 2013

A prototype for web services reliability prediction Răzvan-Daniel Albu* Faculty of Electrical Engineering and Information Technology, Oradea University, Universităţii Street 1, Oradea, Romania E-mail: [email protected] *Corresponding author

Florin Popenţiu-Vlădicescu Academy of Romanian Scientists, University of Oradea, 1, University Street, City – Oradea, 410087, Romania E-mail: [email protected] Abstract: In this paper, we introduce a new prototype for web services reliability prediction based on a fuzzy belief Petri network (FBPN). Since software reliability becomes a high interest research field and the growth of web services in the last years shows an exponential rate, the need of models for web services reliability prediction increased. We also make a review of similar Petri and fuzzy models to show how this idea came to life. Keywords: prediction; reliability; fuzzy; Petri networks; web services; Information and Communication Technology. Reference to this paper should be made as follows: Albu, R-D. and Popenţiu-Vlădicescu, F. (2013) ‘A prototype for web services reliability prediction’, Int. J. Information and Communication Technology, Vol. 5, No. 1, pp.64–74. Biographical notes: Răzvan-Daniel Albu graduated from University of Oradea, in Computers and Information Technology in 2003 and since 2009 he had worked as an Assistant Professor in the Department of Electronics and Telecommunications from University of Oradea. He is an active researcher. He has published over 20 papers in the last three years in international journals and conference proceedings and is co-author of four books. He is a PhD student working under the supervision of Professor Popenţiu-Vlădicescu Florin and his research areas include software reliability and web services. Florin Popenţiu-Vlădicescu graduated in Electronics and Telecommunications from University Politehnica of Bucharest in 1974 and holds a PhD in Reliability in 1981. He has worked for many years on problems associated with UNESCO and has been Co-Director of two NATO Research Projects. He has published over 100 papers in international journals and conference proceedings and is co-author of four books. He is on the advisory board of several international journals, including Reliability and Risk Analysis: Theory & Applications and is a Reviewer to ACM Computing Reviews. Also, he is currently Associated Editor to International Journal of Information and Communication Technology.

Copyright © 2013 Inderscience Enterprises Ltd.

A prototype for web services reliability prediction

1

65

Introduction

In this paper, the reliability of a web service is defined as the probability to successfully carry out its own task when it is invoked. The contributions of this paper are: •

we apply the idea of fuzzy belief Petri network (FBPN), introduced by Looney and Liang (2002) on web services reliability prediction



a proposed architecture of the FBPN that offers a new perspective on web services reliability prediction



a review of most relevant and similar fuzzy and Petri models that illustrate how the idea of web services reliability prediction using FBPNs have been born.

The rest of the paper is organised as follows: after a short section about other related works we illustrate how the idea of FBPN rises from other types of networks, like: Bayesian, Petri or fuzzy. In the next chapter we present the proposed FBPN and how it works. The paper ends with some relevant conclusions and future working plans.

2

Background

2.1 Web services Web services are modular, self-contained, self-describing software components which are distributed over the web (Tsalgatidou and Pilioura, 2002). They can be located and dynamically checked-out online, using a new directory and corresponding search mechanism known as universal description, discovery and integration (UDDI). The requester accesses the description using a UDDI or other types of registry, and asks for the execution of the provider’s service by sending a simple object access protocol (SOAP) message to it (see Figure 1). Figure 1

Basic web service architecture (see online version for colours)

66

R-D. Albu and F. Popenţiu-Vlădicescu

SOAP is a XML-based (Extensible Markup Language), lightweight protocol for the exchange of information in a decentralised, distributed environment, that consists of three parts (W3C recommendations 2007): •

an envelope that defines a framework for describing what is in a message and how to process it



a set of encoding rules for expressing instances of application-defined data types



a convention for representing the remote.

We distinguish two kinds of services (Grassi, 2005): •

Atomic services: do not need the services of any other resources to perform their tasks. They include: the services offered by basic processing and communication resources but also the services offered by self-contained software components strictly tied to a particular computing platform.



A composite service: is made as a composition of other dynamically selected services that it requires to perform its tasks.

From the reliability prediction viewpoint, the basic difference between these two service types is that the atomic service provider can publish complete reliability information. That is directly useful in a service composition’s reliability analysis, whereas a composite service provider is only aware of reliability information concerning the part of service implementation under its direct control (Blake et al., 2012).

2.2 Bayesian belief networks A Bayesian belief networks (BBN) is a special type of graph, where the nodes represent uncertain variables and the arcs stand for the causal relationships between them. Every BBN has also an associated set of probability tables. Even if the theory of Bayesian probabilities has been around for a long time, the opportunity of building and executing realistic models has only been made possible because of recent algorithms and software tools (Fenton and Neil, 1999). A conventional probability is defined as a physical world property. In contrast, a Bayesian probability is a property of the person who assigns the probability. It is your degree of belief that the event will take place. The main difference between conventional probability and Bayesian probability is that when we assess the Bayesian probability, we do not need repeated trials. For example, let’s make a visible representation of the repeated tosses of a Rubik cube onto a rough surface. Every time the cube is thrown, its dimensions will change slightly. Although, the conventional probability that the cube will land with a particular colour face up, will not take into consideration the dimension’s changes. On the contrary, the Bayesian simply restricts the attention to the next flip and assigns a probability (Albu et al., 2011). The most celebrated use of BBNs has been done by Microsoft in their Microsoft Office help wizards. The ‘intelligent’ printer fault diagnostic system is a BBN, which as a result of the problem symptoms you enter, identifies the most likely fault. The benefits of using BBNs include (Fenton and Neil, 1999):

A prototype for web services reliability prediction

67



the capability to represent and control complex models that might never be implemented using conventional methods



the model can predict events based on partial or uncertain data specification of complex relationships using conditional probability statements



easier understanding of chains of complex and apparently contradictory logic via the graphical format



explicit modelling of ‘ignorance’ and uncertainty in estimates



use of subjectively or objectively derived probability distributions.

2.3 Generalised stochastic Petri nets Generalised stochastic Petri nets (GSPNs) (Marsan et al., 1995) are an expansion of stochastic Petri nets (SPNs) proposed by M. Molloy, in which stochastic timing is mixed with deterministic null delays. GSPN model is a 6-tuple (P, T, F, W, M0, λ), where P is a finite set of places. T is a finite set of transitions partitioned into two subsets: TI (immediate) and TD (timed) transitions, where transitions t ∈ TD are associated with rate λ. F ⊆ (P * T) U (T * P) is a set of arcs. M0 = {m01, m02, ..., m0k} is an initial marking. W: T → R is a function defined on the set of transitions. Timed transitions are associated with priority zero, while all other priority levels are reserved for immediate transitions. The immediate transitions are drawn as thin bars, while the timed transitions are drawn as rectangles.

2.4 Stochastic reward nets Stochastic reward nets (SRNs) are an addition of GSPNs (Ciardo et al., 1992). They include all the features of GSPNs and many more, for instance: guards, timed transition priorities, variable cardinality arcs, halting conditions, and reward rates, etc. The most important attribute of SRNs is the capability to allow extensive marking dependency. Parameters like the rate of a timed transition, the cardinality of an input arc, or the reward rate in a marking, can be defined as a function of the number of tokens in some places. For that reason any system that can be modelled by a SRN can also be modelled by a GSPN. On the other hand, SRNs and GSPNs differ. SRNs allow a more concise description of system dependability than GSPNs do. If the cardinality of the input arc from place p to transition t is k, k tokens must be in p before t, which can be enabled and when t fires, k tokens are removed from p. Often, all the tokens in p must be moved to some other place q. This behaviour can be easily described in SRNs by specifying the cardinalities of the input arc from p to t and of the output arc from t to q as #(p) (the number of tokens in p). This representation does not require additional transitions or places and the time needed to generate the reach ability graph is likely to be shorter. Frequently, an activity must have priority over another when they both involve the same resource. It is more suitable to fit in transition priorities directly into the formalism. Accordingly, a priority relationship between two transitions t1 and t2 can be defined, for example as t1 > t2. This provides a straightforward way to model the situation where t1 > t2, t3 > t4, but t1 has no priority relative with respect to t3 or t4. The ability to express complex enabling/disabling conditions textually is

68

R-D. Albu and F. Popenţiu-Vlădicescu

invaluable. Without it, the designer might have to add irrelevant arcs or even places and transitions to the SRN, to obtain the preferred behaviour. The logical conditions that can be expressed graphically using input and inhibitor arcs are limited by the following semantics: •

a logical ‘AND’ for input arcs: all the input conditions must be fulfilled



a logical ‘OR’ for inhibitor arcs: any inhibitor condition is concise to disable the transition.

2.5 Fuzzy belief networks Fuzzy belief network (FBN) uses fuzzy beliefs instead of probabilities and let the well-informed user to place the parameters, fact that determine the level of the fuzzy influence exerted along each link (Looney and Liang, 2002). The influence in each direction is determined by a gain function for that direction. This is a logistic type function with a parameter that determines the degree of increase/decrease of the fuzzy belief. The update at a node is determined by the strength of the influences and the fuzzy belief of the influencing nodes. The strength of the influences is determined by the gain functions. From a set of observation nodes, whose fuzzy beliefs are given, the updates are done consequently. This means the nodes one link away are updated first, then the nodes of two links away, from the observations nodes are updated, and so forth. The fuzzy influences can go in both directions along a link and as a result each direction has its own gain function.

2.6 Fuzzy Petri nets Fuzzy Petri nets (FPNs) allow rule-based decision-making systems to be represented and executed (Looney, 1988). The circular nodes represent propositions. Each node has a token that designates a value from 0 to 1 that is its fuzzy truth. The bars symbolise synapses. A threshold value is set for comparison with the fuzzy truth. Fuzzy truths that are greater or equal to the threshold are propagated to the target nodal condition(s). Therefore the synapses are gates, open or close, fire or do not fire, transmit or not the fuzzy implication.

3

Related works

Table 1 gives a comparative review of fault treatment methods (Michlin et al., 2004). As we can see, fault prediction, is the most attractive because defects detected at an early phase can be defeated before serious damage has been caused. Since it is only a matter of software installation the implementation cost of such a system should not be high. On the other hand, such a method should be inexpensive, both in terms of the necessary redundancy and manpower. As pointed out by Happe and Firus (2005), a lot of the reliability prediction models are based on Markov representations. These models are suitable when dealing with sequential systems. Though, when a parallel software system (e.g., web service) has to be analysed, different influences come into play, which can barely be expressed by FSMs (finite state machines) or the corresponding Markov model.

A prototype for web services reliability prediction Table 1

69

The RNN prediction performance

Method

Cost/downtime

Expected probability

Failure

Analysis

Fault minimal/no preventive

Medium-short

high

Firewall

Medium/not in all case just software implementation

Medium

Medium

Fault prediction

Low/only software action taken before they become critical

Low/preventive/warn against in advance

Low faults

Redundancy

High

Low

low

4

Fuzzy belief Petri nets

In this section we resume the model proposed by Looney and Liang (2002). FBPN brings together the bi-directional fuzzy propagation of the FBN, with the flexibility of the FPN, so the FBPN is consequently more flexible than either of its two predecessors. It is certainly a FPN, but it has the additional supremacy allowed by being bi-directional with synaptic thresholds for each direction and different gain functions in each direction. This allows more control over the propagation of fuzzy beliefs than either a FBN or a FPN. In (1), h(r, s) transforms the fuzzy belief f(r) into the fuzzy belief, f(s). h(r, s) : f(r) → f(s), f(s) = [ h(r, s) ] ( f(r) )

(1)

The gain functions have two forms, depending upon whether the influence is positive or negative. h(r,s) = 1 ⎡⎣1 + exp {−α (r, s) [ f(r) − 0.5]}⎤⎦

{

(2)

}

h(r, s) = 1 − 1 ⎡⎣1 + exp {−α (r, s) [ f(r) − 0.5]}⎤⎦

(3)

The authors define four types of FBPN connections: •

single node with single node



single node with OR-ed multiple nodes



single node with AND-ed multiple nodes



hybrid of the previous three categories.

Each type of connection has its own rules for influence propagation, forward and backward. The simplest in the case of four categories is single node with single node (SS) connection type. T1-2 is the threshold of the transition bar for influence from Node 1 to Node 2, and h1-2 is the fuzzy propagation function from Node 1 to Node 2. In the same way, T2-1 and h2-1 are defined. Suppose Node 1 is observed with belief f1, if f1 is larger than T1-2, the influence of Node 1 will go through the transition bar, propagates via h1-2 and reaches Node 2. So the belief of Node 2, f1-2, can be updated with the value calculated in (4).

70

R-D. Albu and F. Popenţiu-Vlădicescu f2 = f1* h1-2 , if f1 > T1-2 0,

Otherwise

(4)

Based on how those multiple nodes influence that single node, with multiple node inferences, which is divided into two categories. If multiple nodes go in single node independently, then any one of them can influence that single node, when it is observed without the others present at the same time. The inference is called single node with OR-ed multiple nodes (SOM). If those multiple nodes must jointly influence that single node and can only influence that single node when everyone else is observed, then the inference is called single node with AND-ed multiple nodes (SAM). In the SOM model, the forward propagation is present when Node 1 is observed (shown in Figure 3), and its influence are propagated to Nodes 2 and 3 linked to it. The belief of Node 1 influences each of Nodes 2 and 3 with a different fuzzy propagation function at the same time. f2 = f1* h1-2 , if f1 > T1-2 0,

Otherwise

f3 = f1* h1-3 , if f1 > T1-3 Figure 2

Single node with single node connection type

Figure 3

Single node with OR-Ed multiple nodes connection type

(5) (6)

If only Node 2 is observed, the belief of Node 1 will be influenced and it will influence the belief of Node 3. This is called backward propagation with partial observation (7) and (8). f1 = f 2-1 = f2 * h 2-1 , 0,

if f1 > T1-2 Otherwise

(7)

A prototype for web services reliability prediction f3 = f1* h1-3 , if f1 > T1-3 0,

71 (8)

Otherwise

If both Node 2 and 3 are observed, we take the maximum of the f1-2 and f1-3 as f1 [equations (9) to (11)]. This is called backward propagation with complete observation. f 2-1 = f2 * h 2-1 , if f2 > T2-1 0,

Otherwise

f 3-1 = f3* h 3-1 , if f3 > T3-1 0,

Otherwise

f1 = max ( f 2-1 , f 3-1 )

(9)

(10)

(11)

0, Otherwise

In the SAM model, forward propagation is present when Node 1 is observed (shown in Figure 4), and its influence is propagated to Nodes 2 and 3 linked to it. The belief of Node 1 first passes throughout the transition bar, if it is larger than the threshold T1-2,3 and then influences each of Nodes 2 and 3 (12). f2 = f3 = f1* h1-2,3 , if f1 > T1-2 0,

Otherwise

(12)

If only Node 2 is observed, the belief of Node 1 will not be influenced since Node 3 is not observed. None of the beliefs of the Nodes in the model can be updated. Figure 4

Single node with AND-Ed multiple nodes connection type

If both Node 2 and 3 are observed, which is complete observation for backward propagation and if minimum of the f2-1 and f3-1 is larger than the threshold T2,3-1, (13) holds:

f1 = min(f2, f3) * h 2,3-1 , if min(f2, f3) > T2,3-1 0,

Otherwise

(13)

72

5

R-D. Albu and F. Popenţiu-Vlădicescu

The proposed FBPN

The proposed FBPN for web services reliability prediction is presented in Figure 5. It is just a prototype since there is limited space to fully describe the development and completing of a comprehensive FBPN for web services. Figure 5

The proposed FBPN

This prototype does not widely model all of the situations nor does it resolve all of the troubles, but shows a way of combining different software engineering approaches on fault prediction and emphasise us how predictions might be made and clarify historical results. The token value is fuzzy truth for all three types of fuzzy networks: FPN, FBPN and FBN. The first difference between these networks is that FPN have not a propagation function while FBPN and FBN have. The transition type could be: ANDing, ORing or tresholding for FPN and FBPN but just ORing for FBN. The linkage direction is always single for the FPN; they are always two for FBN and for the FBPN could be either two or single. To illustrate how this prototype can improve web services reliability let’s consider the following scenario: suppose that you work in a team and the goal is to develop a business application that automatically obtains the current price of a specified stock. The way you would accomplish this is either by buying access to their database, or by inspecting their HTML page, for the appropriate data and eventually converting it into your format. If they change their web design all the source code you would have written would be useless. Even if you buy access into their system, they may be running a technology that is incompatible or too hard to work with your own. This is the case when web services assist. In essence a web service is similar to a piece of programme logic which is in the form of objects. These objects have methods that can be invoked from any client over

A prototype for web services reliability prediction

73

hypertext transfer protocol (HTTP). The web service functions, first and foremost through XML in order to pass information in both directions by way of HTTP. In actual fact, you can author a web service and make its properties and methods available to other developers athwart the web, without writing enormous amounts of documentation for an API. But working in a team is not really easy and this can influence the reliability of our web service. If we have stuff with low programming experience using the proposed FBPN, we can observe that it will influence coder’s performance and indirectly the number of latent faults. Based on the proposed prototype the number of latent faults has a direct impact on the reliability of our product. On the other hand if our stuff experiences increases substantially coder’s performance will grow inducing a better service design and lower number o latent errors and consequently the final product will be more reliable. As our FBPN prototype shows, another element that has a straight influence on the reliability of the final product is node 2 (operational usage). Software must be extensively tested before it is considered reliable and truthful. Software developers frequently use an operational profile to guide testing. An operational profile is a quantitative depiction of how a system will be used and it documents user inputs and their occurrence probabilities. Via operational profiles a system can be tested more efficiently and can be guaranteed that the most used functions of a system are tested the most. It is a realistic approach to certify that a system is delivered reliable, because the functions most utilised also have been tested the most. Operational profiles are as well an essential element of quality-of-service (QoS) prediction techniques for software architectures.

6

Conclusions

Several precedent studies have experienced a variety of mistakes ranging from model misspecification to use of wrong data. We conclude that the existing models are unable of predicting faults precisely using only size and complexity metrics. In addition, these models offer no elucidation of how defect introduction and detection variables have an effect on defect counts. For this reason, we call for persuasive and complicated theories that have the power to explain the empirical interpretations. Assembling data from case studies and analysing it secluded is not enough because statistics on its own does not provide scientific justifications. In our opinion, on longer-term the isolated chase of these single issue perspectives on the prediction quandary is ineffective. In the same way, any conclusions that large modules are more reliable and that software decomposition does not work, we judge as hasty. A technique to develop accurately prediction tools is to unify the key elements from diverse software prediction models. We also need models that predict software reliability by taking into consideration information from the development process, fault exposure process and design phase. If we want to clarify why certain design processes are more successful than others we must comprehend the cause and effect relations between key variables. For the reason that software reliability prediction will always be the case of best guesses, the researchers should recognise this fact and improve the ‘guessing’ process modelling, the uncertainty that is persistent in software development. As future working plans we will develop the proposed prototype to be suitable for more complex problems and we desire to integrate it in an ensemble system for software

74

R-D. Albu and F. Popenţiu-Vlădicescu

reliability prediction. We also plan to test this model on real case studies and provide actual values and metric for nodes and thresholds.

Acknowledgements This work was partially supported by the strategic grant POSDRU/CPP107/ DMI1.5/S/80272, Project ID80272 (2010), co-financed by the European Social Fund-Investing in People, within the Sectorial Operational Programme Human Resources Development 2007–2013.

References Albu, R.D., Popentiu-Vladicescu, F. and Albeanu, G. (2011) ‘Virtual trainer software: a Bayesian network approach’, The 7th International Scientific Conference eLSE ‘eLearning and Software for Education, paper 4 book 2, Bucharest, April 28–29, ISSN 2006-026x. Blake, M.B., Cummings, D.J., Bansal, A. and Bansal, S.K. (2012) ‘Workflow composition of service level agreements for web services’, Decision Support Systems, April, Vol. 53, No. 1, pp.234–244. Ciardo, G., Muppala, J.K. and Trivedi, K.S. (1992) ‘Analyzing concurrent and fault-tolerant software using stochastic reward nets’, Journal of Parallel and Distributed Computing, Vol. 15, pp.255–269. Fenton, N.E. and Neil, M. (1999) ‘A critique of software defect prediction models’, IEEE Transactions on Software Engineering, September/October, Vol. 25, No. 5, pp.675–689. Grassi, V. (2005) ‘Architecture-based reliability prediction for service-oriented computing, architecting dependable systems III’, LNCS, Vol. 3549, pp.279–299. Happe, J. and Firus, V. (2005) ‘Using stochastic Petri nets to predict quality of services attributes of component-based software architectures’, The Tenth International Workshop on Component-Oriented Programming, Glasgow, Scotland. Looney, C. (1988) ‘Fuzzy Petri nets for rule based decision-making’, IEEE Trans. Systems, Man & Cybernetics, January, Vol. 18, No. 1. Looney, C. and Liang, L. (2002) ‘Inference via fuzzy belief networks’, Proceedings of the ISCA International Conference, San Diego, November. Marsan, A., Balbo, G., Conte, G., Donatelli, S. and Franceschinis, G. (1995) Modelling with Generalized Stochastic Petri Nets, Wiley, Chichester, England. Michlin, Y., Sedan, B. and Ingman, D. (2004) ‘Reliability improvement of internet web servers through statistical process control’, IEEE Transactions on Reliability, Vol. 53, No. 4, pp.551-556. Tsalgatidou, A. and Pilioura, T. (2002) ‘An overview of standards and related technology in web services’, Distributed and Parallel Databases, Vol. 12, pp.135–162.

Suggest Documents