A Reliability Calculation Method for Web Service Composition Using Fuzzy Reasoning Colored Petri Nets and Its Application on Supercomputing Cloud Platform

In order to develop a Supercomputing Cloud Platform (SCP) prototype system using Service-Oriented Architecture (SOA) and Petri nets, we researched some technologies for Web service composition. Specifically, in this paper, we propose a reliability calculation method for Web service compositions, which uses Fuzzy Reasoning Colored Petri Net (FRCPN) to verify the Web service compositions. We put forward a definition of semantic threshold similarity for Web services and a formal definition of FRCPN. We analyzed five kinds of production rules in FRCPN, and applied our method to the SCP prototype. We obtained the reliability value of the end Web service as an indicator of the overall reliability of the FRCPN. The method can test the activity of FRCPN. Experimental results show that the reliability of the Web service composition has a correlation with the number of Web services and the range of reliability transition values.


Introduction
The Supercomputing Cloud Platform (SCP) integrates many different kinds of software including ANSYS, ABAQUS, LS-DYNA, SLURM, LSF, etc. SCP provides a simple Web interactive way for large-scale and parallel CAE simulation tasks.Our research team develops a SCP prototype of supercomputing.Specifically, we use Service-Oriented Architecture (SOA) architecture to develop the prototype.We use Petri nets to describe Web service compositions, and realized the prototype using a workflow system.
For automatic composition for Web services based on semantic technology, we introduce Ontology Web language for Services (OWL-S) to describe Web services.In order to verify the Web Service Compositions, we proposed a reliability calculation method for Web Service Composition Using Fuzzy Reasoning Colored Petri Nets (FRCPN), then we judged whether the Web service composition could meet the reliability requirements.
At present, the applications of OWL-S are well established in the engineering field.The study on web service composition has many theoretical researches and engineering practices, and the study on CPN, FRCPN has also been making progress.However, the reliability of Web service composition needs to be strengthened and studied further.

•
We gradually define the concepts of reliability calculation.Based on the definition of formalized description for Web services, we define the semantic threshold similarity and semantic threshold equality for Web services.We first give the definition of FRCPN and the definition of FRCPN activity.Then, we propose the conditions of the activity.We analyze the reliability calculation of some elements in five kinds of production rules in FRCPN.According to the requirements of reliability calculation for FRCPN, we redefine the formalized definition of transition and the formalized definition of Web services.

•
A reliability calculation method for FRCPN is proposed.Firstly, the method calculates the reliability values of the transitions in FRCPN, and uses an algorithm to generate a Sequential Linked List for Filling Reliability Value (SLLFRV) linked list.According to the SLLFRV linked list, we propose an algorithm to calculate the reliability values of all Web services.Finally, we use the reliability value of the end Web service in FRCPN as the reliability value of FRCPN.

•
We apply and analyze the reliability calculation method.The reliability value of a FRCPN graph is calculated as an example.We analyze the execution process of the method.We analyze the implementation effect of the method for different size FRCPNs and obtain some rules.We give the application description for the method in SCP.

Definition of Semantic Threshold Similarity and Definition of Semantic Threshold Equality
Definition 1. Formal description of Web services [9].A Web service can be formally described as where I i is the input parameter set of Web service WS i , O i is the output parameter set of Web service WS i , P i is the precondition set of Web service WS i , and Q i is the QoS set of Web service WS i .
Definition 2. Semantic threshold similarity for two ontologies and semantic threshold equality for two ontologies.
There are two ontology concepts, c i and c j .By calculating their semantic similarity, we can obtain the value of sim(c i , c j ).We set a semantic similarity threshold, k(0 ≤ k ≤ 1).If sim(c i , c j ) ≥ k, then the relation of semantic threshold similarity is built between c i and c j , denoted as c i c j .If c i c j , and c j c i , then the relation of semantic threshold equality is built between c i and c j , denoted as c i ∼ = c j .
Definition 3. Semantic threshold similarity for two ontology sets and semantic threshold equality for two ontology sets.There are two concept sets C i {c i } and C j {c j }.We set a semantic similarity threshold, k(0 ≤ k ≤ 1).If any concept c i in C i exists corresponding c j in C j to satisfy c i c j , then the relation of semantic threshold similarity is built between C i and C j , denoted as C i C j .If C i C j , and C j C i , then the relation of semantic threshold equality is built between C i and C j , denoted as C i ∼ = C j .
Definition 4. Semantic threshold similarity for Web service preconditions and semantic threshold similarity for Web services QoS.There are two Web services, WS i (I i , O i , P i , Q i ) and WS j (I j , O j , P j , Q j ); if any logical expression p i in P i exists corresponding p j in P j , and p i is true, then p j is true, the relation of semantic threshold similarity is built between P i and P j , denoted as P i P j .If any logical expression of QoS q i in Q i exists corresponding q j in Q j , and q i is true, then q j is true, the relation of semantic threshold similarity is built between Q i and Q j , denoted as Q i Q j .
Definition 5. Semantic threshold similarity for two Web services and semantic threshold equality for two Web services.There are two Web services, WS i (I i , O i , P i , Q i ) and WS j (I j , O j , P j , Q j ).We set a semantic similarity threshold k(0 ≤ k ≤ 1), if I i I j , O i O j , P i P j and Q i Q j , then the relation of semantic threshold similarity is built between WS i and WS j , denoted as WS i WS j .If WS i WS j and WS j WS i , then the relation of semantic threshold equality is built between WS i and WS j , denoted as WS i ∼ = WS j .

Definition of FRCPN and Definition of FRCPN Activity
Definition 6. Formal definition of FRCPN based on semantic similarity for Web service composition [16]: FRCPN = (P, T, F, µ, PR, Q).
( µ is a function of T, and the function's value is in the range of [0,1], which is the triggered threshold of the transition.The function is also the semantic similarity threshold for Web services, and we can control the minimum triggered threshold using the function.(5) PR is the precondition set defined on the P, which represents all preconditions being satisfied before the transitions are triggered.(6) Q is the QoS set defined on the P; it indicates all QoS of the Web services that need to be satisfied before the transitions are triggered.
We can measure the matching degree using semantic similarity between the interfaces of two Web services, and then establish the dependence relation.There are five kinds of dependence relations in FRCPN.The semantic similarity calculation considers some factors, including I/O interfaces P, Q, etc., so we adopt semantic similarity as reliability.It is necessary that the reliability value of the transition achieve semantic threshold k as a trigger.Definition 7. FRCPN activity.In FRCPN, if t ∈ T, and a transition sequence exists, the transition sequence is triggered in sequence, and in semantic threshold k(0 ≤ k ≤ 1), the reliability value Γ of each transition t is satisfied with Γ ≥ k, then transition t is triggered, we consider that transition t is active in semantic threshold k.According to the dependence relations in FRCPN, we can calculate the reliability values of the Web services and the transitions.We use the reliability value of the end Web service in FRCPN as the reliability value ω of FRCPN.In the reliability threshold a(0 ≤ a ≤ 1), all of the transitions in FRCPN are active in semantic threshold k, and the reliability value ω of FRCPN satisfies ω ≥ a, so FRCPN is activity in semantic threshold k and reliability threshold a.

Production Rule of FRCPN
Next, we discuss five production rules of FRCPN.According to the reliability values of Web services, we can verify the FRCPN activity, and obtain better quality FRCPN.

The First Production Rule
If WS i Then WS j (The semantic similarity threshold k) The first production rule represents a dependence relation WS i → WS j (the semantic similarity threshold k).The FRCPN based on semantic similarity for Web service compositions is shown in Figure 1.
, , ⋯ , represents the place set, and each place represents a Web service.(2) , , ⋯ , represents the transition set, and each transition represents the matching relationships among Web services.
(3) F is a dependence relation set, represented as an If-Then form.(4) μ is a function of , and the function's value is in the range of [0,1], which is the triggered threshold of the transition.The function is also the semantic similarity threshold for Web services, and we can control the minimum triggered threshold using the function.(5) is the precondition set defined on the , which represents all preconditions being satisfied before the transitions are triggered.(6) is the QoS set defined on the ; it indicates all QoS of the Web services that need to be satisfied before the transitions are triggered.
We can measure the matching degree using semantic similarity between the interfaces of two Web services, and then establish the dependence relation.There are five kinds of dependence relations in FRCPN.The semantic similarity calculation considers some factors, including I/O interfaces P, Q, etc., so we adopt semantic similarity as reliability.It is necessary that the reliability value of the transition achieve semantic threshold as a trigger.Definition 7. FRCPN activity.In FRCPN, if ∈ , and a transition sequence exists, the transition sequence is triggered in sequence, and in semantic threshold 0 1 , the reliability value of each transition is satisfied with , then transition is triggered, we consider that transition t is active in semantic threshold k.According to the dependence relations in FRCPN, we can calculate the reliability values of the Web services and the transitions.We use the reliability value of the end Web service in FRCPN as the reliability value of FRCPN.In the reliability threshold 0 1 , all of the transitions in FRCPN are active in semantic threshold k, and the reliability value of FRCPN satisfies , so FRCPN is activity in semantic threshold k and reliability threshold .

Production Rule of FRCPN
Next, we discuss five production rules of FRCPN.According to the reliability values of Web services, we can verify the FRCPN activity, and obtain better quality FRCPN.The above rule indicates the dependence relationship → .Here, s is the semantic similarity value between the outputs of and the inputs of .The above rule needs to satisfy some conditions including , , and all of the conditions in , .Therefore, sim , , 1.
(1) The above rule indicates the dependence relationship WS i → WS j .Here, s is the semantic similarity value between the outputs of WS i and the inputs of WS j .The above rule needs to satisfy some conditions including s ≥ k, O i I j , and all of the conditions in P i , Q i .Therefore, In Equation (1), sim(O i , I j ) represents the semantic similarity between the outputs of WS i and the inputs of WS j .m 1 is the weight that represents the attention degree of matching between the outputs of WS i and the inputs of WS j .m 2 is the weight that represents the attention degree of satisfying all conditions in P i and Q i .
According to the above definition, we define the reliability value Γ t of the transition T by the semantic similarity between the interfaces of WS i and the interfaces of WS j , as follows: ( We can define the reliability value of WS j in this dependence relation as follows:

The Second Production Rule
If WS i1 and WS i2 • • • and WS in Then WS j (The semantic similarity threshold k) The second production rule represents a dependence relation "WS i1 and WS i2 • • • and WS in → WS j " (the semantic similarity threshold k).The FRCPN based on semantic similarity for Web service compositions is shown in Figure 2.
Future Internet 2016, 8, 47 5 of 22 In Equation (1), sim , represents the semantic similarity between the outputs of and the inputs of . is the weight that represents the attention degree of matching between the outputs of and the inputs of . is the weight that represents the attention degree of satisfying all conditions in and .
According to the above definition, we define the reliability value of the transition T by the semantic similarity between the interfaces of and the interfaces of , as follows: . ( We can define the reliability value of in this dependence relation as follows: . ( In Equation (4), sim ∪ ∪ ⋯ ∪ , represents the semantic similarity between ∪ ∪ ⋯ ∪ and the inputs of . is the weight that represents the attention degree of matching between ∪ ∪ ⋯ ∪ and the inputs of . is the weight that represents the attention degree of satisfying all the conditions in " , , ⋯ , " and " , , ⋯ , ".According to the above definition, we define the reliability value of the transition T in terms of the semantic similarity between the interfaces of " , , ⋯ , " and the interfaces of as follows: . ( We can define the reliability value of as follows: , , ⋯ , , , ⋯ , .s is the semantic similarity between ) and the inputs of WS j .The above rule needs to satisfy some conditions, all of the conditions in "P i1 , P i2 , • • • , P in ", and all of the conditions in " In Equation (4), sim and the inputs of WS j .m 1 is the weight that represents the attention degree of matching between O i1 ∪ O i2 ∪ • • • ∪ O in and the inputs of WS j .m 2 is the weight that represents the attention degree of satisfying all the conditions in "P i1 , P i2 , According to the above definition, we define the reliability value Γ t of the transition T in terms of the semantic similarity between the interfaces of "WS i1 , WS i2 , • • • , WS in " and the interfaces of WS j as follows: We can define the reliability value of WS j as follows: In Equation ( 7), sim , represents the semantic similarity between the outputs of and the inputs of ; sim , represents the semantic similarity between the outputs of and the inputs of , and so on.is the weight that represents the attention degree of matching between the outputs of and the inputs of ; is the weight that represents the attention degree of matching between the outputs of and the inputs of , and so on.is the weight that represents the attention degree of satisfying all the conditions in and ; is the weight that represents the attention degree of satisfying all the conditions in and , and so on.
According to the above definition, we define the reliability values " , , ⋯ , " of the transitions " , , ⋯ , " as the semantic similarities between the interfaces of " , , ⋯ , , " respectively, and the interfaces of , as follows: We can define the reliability of as follow,  "s 1 , s 2 , • • • , s m " are the values of the semantic similarity between the outputs of "WS i1 , WS i2 , • • • , WS in ," respectively, and the inputs of WS j .The above rule needs to satisfy some conditions, including In Equation (7), sim(O i1 , I j ) represents the semantic similarity between the outputs of WS i1 and the inputs of WS j ; sim(O i2 , I j ) represents the semantic similarity between the outputs of WS i2 and the inputs of WS j , and so on.m 11 is the weight that represents the attention degree of matching between the outputs of WS i1 and the inputs of WS j ; m 12 is the weight that represents the attention degree of matching between the outputs of WS i2 and the inputs of WS j , and so on.m 21 is the weight that represents the attention degree of satisfying all the conditions in P 1 and Q 1 ; m 22 is the weight that represents the attention degree of satisfying all the conditions in P 2 and Q 2 , and so on.
According to the above definition, we define the reliability values " respectively, and the interfaces of WS j , as follows: We can define the reliability of WS j as follow,

The Fourth Production Rule
If WS i then WS j1 and WS j2   s is the semantic similarity between the outputs of and ∪ ∪ ⋯ ∪ (union of inputs of ″ , , ⋯ , ″).The above rule needs to satisfy some conditions, including , ∪ ∪ ⋯ ∪ , and all of the conditions in , .Therefore, In Equation ( 10), sim , ∪ ∪ ⋯ ∪ represents the semantic similarity between the outputs of and ∪ ∪ ⋯ ∪ . is the weight that represents the attention degree of matching between the outputs of and ∪ ∪ ⋯ ∪ . is the weight that represents the attention degree of matching meeting all the conditions in and .
According to the above definition, we define the reliability value of the transition in terms of the semantic similarity between the interfaces of and the interfaces of , , ⋯ , , as follows: . ( We can define the reliability values of " , , ⋯ , " in this dependence relation as follows:   s is the semantic similarity between the outputs of O i and The above rule needs to satisfy some conditions, including s ≥ k, O i (I j1 ∪ I j2 ∪ • • • ∪ I jn ), and all of the conditions in P i , Q i .Therefore, In Equation (10), sim represents the semantic similarity between the outputs of WS i and I j1 ∪ I j2 ∪ • • • ∪ I jn .m 1 is the weight that represents the attention degree of matching between the outputs of WS i and I j1 ∪ I j2 ∪ • • • ∪ I jn .m 2 is the weight that represents the attention degree of matching meeting all the conditions in P i and Q i .
According to the above definition, we define the reliability value Γ t of the transition T in terms of the semantic similarity between the interfaces of WS i and the interfaces of WS j1 , WS j2 , • • • , WS jn , as follows: We can define the reliability values of "WS j1 , WS j2 , • • • , WS jn " in this dependence relation as follows:  s is the semantic similarity between the outputs of and ∪ ∪ ⋯ ∪ (union of inputs of ″ , , ⋯ , ″).The above rule needs to satisfy some conditions, including , ∪ ∪ ⋯ ∪ , and all of the conditions in , .Therefore, In Equation ( 10), sim , ∪ ∪ ⋯ ∪ represents the semantic similarity between the outputs of and ∪ ∪ ⋯ ∪ . is the weight that represents the attention degree of matching between the outputs of and ∪ ∪ ⋯ ∪ . is the weight that represents the attention degree of matching meeting all the conditions in and .
According to the above definition, we define the reliability value of the transition in terms of the semantic similarity between the interfaces of and the interfaces of , , ⋯ , , as follows: . ( We can define the reliability values of " , , ⋯ , " in this dependence relation as follows:  s 1 , s 2 , • • • , s n are the semantic similarity between the outputs of WS i and the inputs of "WS j1 , WS j2 , • • • , WS jn ," respectively.The above rule needs to satisfy some conditions, including , and all of the conditions in P i , Q i .Therefore, In Equation (13), sim(O i , I j1 ) represents the semantic similarity between the outputs of WS i and the inputs of WS j1 ; sim(O i , I j2 ) represents the semantic similarity between the outputs of WS i and the inputs of WS j2 , and so on.m 11 is the weight that represents the attention degree of matching between the outputs of WS i and the inputs of WS j1 ; m 12 is the weight that represents the attention degree of matching between the outputs of WS i and the inputs of WS j2 , and so on.m 21 is the weight that represents the attention degree of satisfying all the conditions in P i , Q i in s 1 , m 22 is the weight that represents the attention degree of satisfying all the conditions in P i , Q i in s 2 , and so on.
According to the above definition, we define the reliability values "Γ 1 , Γ 2 , • • • , Γ n " of the transitions "T 1 , T 2 , • • • , T n " to equal the semantic similarities between the interfaces of WS i and the interfaces of "WS j1 , WS j2 , • • • , WS jn ", respectively, as follows: We can further define the reliability values of WS j1 , WS j2 , • • • , WS jn .This production rule needs only one Web service WS i , we can trigger "WS j1 , WS j2 , • • • , WS jn ", so, The five kinds of production rule, above have some common points; the points can be summed up with some general rules: (1) In the first, fourth, and fifth production rules, the reliability value of the postpositional Web service of the transition equals the product of the reliability of the prepositional Web service of the transition and the reliability value of the transition.(2) In the second production rule, the reliability value of the postpositional Web service of the transition equals the minimum reliability value of all the prepositional Web services multiplied by the reliability value of the transition.(3) In the third production rule, the reliability value of the postpositional Web service of the transitions equals the maximum value of the reliability values of the respective prepositional Web services multiplied by the reliability values of the transitions.
In order to calculate the reliability of Web services and the reliability values of transitions, we make formal definitions of Web services and transitions in FRCPN.Type, the type of current transition.There are five types of transition.The first type of transition is shown in Figure 1, the second type of transition is shown in Figure 2, the third type of transition is shown in Figure 3, the fourth type of transition is shown in Figure 4, and the fifth type of transition is shown in Figure 5. (5) ReliabilityValue, the reliability value of the current transition.

Reliability Calculation Method for FRCPN
Here we propose a reliability calculation method for Web service compositions in FRCPN, as shown in Figure 6.Firstly, we calculated the reliability values of all the transitions in FRCPN, then we generated the SLLFRV linked list.Finally, according to the reliability values of all the transitions and the SLLFRV linked list, we calculated the reliability value of FRCPN., the reliability value of the current Web service.Before calculating the reliability value of all Web services in the graph, we set the initial Web service's reliability to 1, and the reliability value of other Web services to 0.

Definition 9. Formal definition of transition in FRCPN.
, , , (4) Type, the type of current transition.There are five types of transition.The first type of transition is shown in Figure 1, the second type of transition is shown in Figure 2, the third type of transition is shown in Figure 3, the fourth type of transition is shown in Figure 4, and the fifth type of transition is shown in Figure 5. (5) , the reliability value of the current transition.

Reliability Calculation Method for FRCPN
Here we propose a reliability calculation method for Web service compositions in FRCPN, as shown in Figure 6.Firstly, we calculated the reliability values of all the transitions in FRCPN, then we generated the SLLFRV linked list.Finally, according to the reliability values of all the transitions and the SLLFRV linked list, we calculated the reliability value of FRCPN.

Reliability Calculation Algorithm for All the Transitions in FRCPN
The time complexity of Algorithm 1 is O(n).After getting the transition set of the graph, the algorithm uses a cycle "for" to set the reliability values of the transitions.The reliability values of the transitions are related to the type of transition.If the type of the current transition is the first type, the third type, or the fifth type, and the PRWSS of the current transition and the POWSS of the current transition have only a Web service, the reliability value of the current transition is

Reliability Calculation Algorithm for All the Transitions in FRCPN
The time complexity of Algorithm 1 is O(n).After getting the transition set of the graph, the algorithm uses a cycle "for" to set the reliability values of the transitions.The reliability values of the transitions are related to the type of transition.If the type of the current transition is the first type, the third type, or the fifth type, and the PRWSS of the current transition and the POWSS of the current transition have only a Web service, the reliability value of the current transition is m 1 × sim(O wsi , I wsj ) + m 2 .If the type of the current transition is the second type, then the PRWSS has many Web services, but the POWSS of the current transition only has a Web service, so the reliability value of the current transition is If the type of the current transition is the fourth type, then the POWSS of the current transition has many Web services, but the PRWSS only has a Web service, so the reliability value of the current transition is  When the algorithm is first time to be called, t and linkT are ∅, so the algorithm creates a new linkT, and begins to inspect from the starting Web service of the graph.The algorithm puts the POTS of the starting Web service into linkT, and then continues the recursion.
If the algorithm is not first time to be called, then the algorithm must judge some things.If the current transition t is ∅, then it indicates that recursion is completed and the algorithm can return to the superior function.If the transition t is not empty, then the algorithm gets the POWSS of the current transition and uses a cycle "for" to inspect the elements in POWSS.
Next, the algorithm gets the POTS postTSet of the current Web service and the PRTS preTSet of the current Web service.If preTSet is not in linkT, it shows that the reliability values of the prepositional transitions of the current Web service and the reliability values of the postpositional transitions of the current Web service have not all been generated, so the algorithm does not continue to inspect the candidate transitions, and uses "break" to exit inspection.If the current Web service does not have an immediate postpositional transition, postTSet is empty and the algorithm does not continue to follow the transition in the future, so also uses "break" to exit inspection.
Next, the algorithm uses a cycle "for" to traverse the transitions in postTSet.In the ideas of the algorithm, if the transitions are already in linkT, then the reliability values of all the immediate postpositional web services of the transitions can be calculated.The algorithm first gets the union of POWSS of all the transitions in linkT, and then executes set operations.If the PRWSS of the current transition is a subset of linkTPreWSSet, then it indicates that the reliability values of all the immediate postpositional Web services of the current transition can be calculated.If the current transition is not in linkT, the algorithm puts the current transition into linkT and then continues recursion.
In summary, if the transition is in linkT, the reliability values of all the prepositional Web services of the transition can be calculated according to the order in linkT before the reliability values of the postpositional Web services of the transition are calculated.Therefore, the algorithm can confirm that the reliability values of the immediate postpositional Web services of the transition can be calculated.The algorithm traverses the transitions in SLLFRV linkT, in order to calculate the reliability values of the direct subsequent Web services of the transitions in SLLFRV linkT according to the type of transition.If the current transition t is of the first, fourth, or fifth type, it only has one immediate prepositional Web service, and the reliability values of immediate postpositional Web services are t.getPRWSS().get(0).getTrustValue()×t.getTrustValue().In order to prevent conflict between the reliability values of multiple transitions, the algorithm executes the operation "Max", so as to always get the highest reliability value as the final reliability value of a Web service.

Reliability Calculation Algorithm for All the Web Services in FRCPN
If the current transition t is of the second type, the current transition has multiple immediate prepositional Web services, so the algorithm must take the minimum reliability value of the immediate prepositional Web services as the basis for calculating the reliability values of the postpositional Web services of the current transition.The calculation formula is Min(preWSSet.get(0).getTrustValue(),preWSSet.get(1).getTrustValue(), . . .,preWSSet.get(n).getTrustValue())×t.getTrustValue().
If the current transition t is of the third type, the current transition has only one immediate postpositional Web service, so the algorithm must take the operation "Max" after the reliability values of the immediate prepositional Web Services and the reliability value of the current transition are multiplied.The algorithm can obtain the reliability value of the immediate postpositional Web service.The calculation formula is Max(tSet.get(0).getPRWSS().get(0).getTrustValue()× tSet.get(0).getTrustValue(),_tSet.get(1).getPRWSS().get(0).getTrustValue()× tSet.get(1).getTrustValue(), . . .,_ We get all kinds of parameters of Web services, as shown in Table 1.The reliability value ReliabilityValue is required for the calculation, so we use the method in this paper to calculate the reliability value.Firstly, we use Algorithm 1 to get the reliability values of the transitions in the FRCPN.We use frcpn.getTransitionSet() to get the transition sequence, which is {t 4 ,t 7 ,t 5 ,t 6 ,t 8 ,t 11 ,t 9 ,t 10 ,t 3 ,t 2 ,t 1 }.We set the semantic similarity threshold k = 0.8, m 1 = 0.8, and m 2 = 0.2 in all the formulas.All of the conditions in P, Q are satisfied.All the transitions in the FRCPN are shown in Table 2.
According to Algorithm 1, we can calculate the reliability value of each transition in order as follows: We continue to use Algorithm 2 to generate the SLLFRV linked list.When the algorithm is first time to be called, we can use generateLinkT(frcpn,∅, ∅).Therefore, we get postTSet = {t 1 }, and the algorithm puts t 1 in the to SLLFRV linked list linkT.Next, the algorithm calls recursively generateLinkT(frcpn,t 1 , linkT).
When the algorithm is called by generateLinkT(frcpn,t 1 , linkT), we get wsSet = {WS 2 , WS 3 , WS 4 , WS 5 }.Next, according to the cycle "for" to wsSet in the algorithm, we get postTSet = {t 2 }, preTSet = {t 1 }, and know that the value of "pretest not in linkT" is false.In the cycle "for" to postTSet in the algorithm, we can get ct = t 2 and the following results: According to the above analysis, tPreWSSet is a subset of linkTPreWSSet, the value of flag is true."ct not in linkT" indicates that the current transition is not in linkT, and the value of flag is true, so the algorithm puts t 2 into the tail of linkT.
Next, the algorithm is called recursively generateLinkT(frcpn,t 2 , linkT).Through continuous recursive calls, the algorithm produces the SLLFRV linkT as follows: According to the sequence in the SLLFRV linkT, we use Algorithm 3 to get the reliability values of all the Web services as follows: TrustValue(WS 1 ) = The last Web service is WS 15 in the FRCPN graph, so the reliability of the FRCPN graph is the reliability value of WS 15 .The reliability value of the FRCPN graph is 0.717.

Simulated Experiments
In order to analyze the effect of the method proposed in this paper, we used the SCP prototype to conduct simulated experiments.Due to the uncertainty of the Web services, under the premise of the validity of experiment, we made the following settings for the experimental conditions and related parameters.
We used seven FRCPN graphs to simulate the Web service compositions; the number of Web services in the FRCPN graphs is 10, 30, 50, 70, 90, 110, and 130, respectively.We used five kinds of production rules to represent FRCPN, but kept the ratio between Web services and transitions is 1:5, so the length of SLLFRV is respectively 2, 6, 10, 14, 18, 22.The similarity threshold of all the transitions is set to the same value.After Algorithm 1 is finished, we assumed that the reliability values of transitions are divided into three ranges, i.e., (0.95, 1.0] , (0.90, 0.95] , and (0.85, 0.90].According to the three ranges, we can get three sets of data; the similarity thresholds of the three sets are 0.95, 0.90, and 0.85, respectively.
The purpose of the experiment was to simulate the reliability values of FRCPN in different reliability ranges of transitions.The reliability values of Web service compositions were unlimited.The experimental results are shown in Figure 8.In the figure, the horizontal axis represents the number of Web services in FRCPN; the vertical axis represents the reliability values of Web service compositions.
The last Web service is in the FRCPN graph, so the reliability of the FRCPN graph is the reliability value of .The reliability value of the FRCPN graph is 0.717.

Simulated Experiments
In order to analyze the effect of the method proposed in this paper, we used the SCP prototype to conduct simulated experiments.Due to the uncertainty of the Web services, under the premise of the validity of experiment, we made the following settings for the experimental conditions and related parameters.
We used seven FRCPN graphs to simulate the Web service compositions; the number of Web services in the FRCPN graphs is 10, 30, 50, 70, 90, 110, and 130, respectively.We used five kinds of production rules to represent FRCPN, but kept the ratio between Web services and transitions is 1:5, so the length of SLLFRV is respectively 2, 6, 10, 14, 18, 22.The similarity threshold of all the transitions is set to the same value.After Algorithm 1 is finished, we assumed that the reliability values of transitions are divided into three ranges, i.e., 0.95, 1.0 , 0.90, 0.95 , and 0.85, 0.90 .According to the three ranges, we can get three sets of data; the similarity thresholds of the three sets are 0.95, 0.90, and 0.85, respectively.
The purpose of the experiment was to simulate the reliability values of FRCPN in different reliability ranges of transitions.The reliability values of Web service compositions were unlimited.The experimental results are shown in Figure 8.In the figure, the horizontal axis represents the number of Web services in FRCPN; the vertical axis represents the reliability values of Web service compositions.According to Figure 8, we can know the relationships among the reliability values of Web service compositions, the number of Web services, and the reliability ranges of transitions.The following relationships can be obtained: (1) Under the same reliability range of transitions, if the number of Web services is greater, then the length of SLLFRV is longer and the reliability values of the Web service compositions are smaller.(2) Under different reliability ranges of transitions, if the minimum range is smaller, then as the number of Web services increases, the reliability values of the service compositions decrease more rapidly.
We should proper control the scale of Web services in FRCPN.For example, if we set the reliability threshold of Web service compositions as 0.6, then in the reliability range (0.95, 1.0] of transitions, the number of Web services should be controlled below 30 and the length of SLLFRV is below 6.

Application in SCP
The SCP prototype uses Eclipse as a development tool, Java as a development language, OWL-S as a Web service description language, Tuscany as the Web services' container, WSDL2OWLS as conversion tool, and OWL-S API as an interface tool.
The Web services in the SCP prototype are implemented by POJO Java class, and we use Web Service Description Language (WSDL) to describe the Web services.The software of the SCP prototype generates semantic Web service descriptions after filling QoS content according to WSDL, and then gets OWL documents.
The users of the SCP prototype submit their computing requirements for CAE simulation through the Web system, as shown in Figure 9.After the SCP prototype receives the user's request, the SCP prototype generates the request ontology, and then generates FRCPN.Therefore, we used the method in this paper to calculate the reliability value, then screen and get the best FRCPN.
prototype generates semantic Web service descriptions after filling QoS content according to WSDL, and then gets OWL documents.
The users of the SCP prototype submit their computing requirements for CAE simulation through the Web system, as shown in Figure 9.After the SCP prototype receives the user's request, the SCP prototype generates the request ontology, and then generates FRCPN.Therefore, we used the method in this paper to calculate the reliability value, then screen and get the best FRCPN.After the SCP prototype generates FRCPN graphs for CAE simulation, many FRCPN graphs are selected.The SCP prototype then calculates the reliability value of FRCPN graphs.We set k = 0.95, a = 0.9, and the number of Web services as not more than 30.We chose the highest reliability of FRCPN as the final business flow chart.Then we used Activiti to implement FRCPN.An example Activiti workflow for a computing job is shown in Figure 10.After the SCP prototype generates FRCPN graphs for CAE simulation, many FRCPN graphs are selected.The SCP prototype then calculates the reliability value of FRCPN graphs.We set k = 0.95, a = 0.9, and the number of Web services as not more than 30.We chose the highest reliability of FRCPN as the final business flow chart.Then we used Activiti to implement FRCPN.An example Activiti workflow for a computing job is shown in Figure 10.

Conclusions and Further Work
The Web services in the SCP prototype are implemented by POJO Java class, and we use Web Service Description Language (WSDL) to describe the Web services.The software of the SCP prototype generates semantic Web service descriptions after filling QoS content according to WSDL, and then gets OWL documents.
The users of the SCP prototype submit their computing requirements for CAE simulation through the Web system, as shown in Figure 9.After the SCP prototype receives the user's request, the SCP prototype generates the request ontology, and then generates FRCPN.Therefore, we used the method in this paper to calculate the reliability value, then screen and get the best FRCPN.After the SCP prototype generates FRCPN graphs for CAE simulation, many FRCPN graphs are selected.The SCP prototype then calculates the reliability value of FRCPN graphs.We set k = 0.95, a = 0.9, and the number of Web services as not more than 30.We chose the highest reliability of FRCPN as the final business flow chart.Then we used Activiti to implement FRCPN.An example Activiti workflow for a computing job is shown in Figure 10.

Conclusions and Further Work
When we use SOA architecture to develop an SCP prototype, we need to verify FRCPN after the prototype automatically generates FRCPN, and calculate the reliability value of FRCPN for further screening.We proposed a series of definitions, including semantic threshold similarity for Web services, formal definition of transition in FRCPN, etc.We proposed a reliability calculation method for Web service compositions using FRCPN.Firstly, the method calculates the reliability values of all the transitions in FRCPN.Then, the method generates the SLLFRV linked list.Finally, according to the reliability values of all the transitions and SLLFRV linked list, the method calculates the reliability value of FRCPN.
The experiment shows that the reliability values of Web service compositions have some regularity with the number of Web services and the reliability range of transitions.If the FRCPN scale is larger and the minimum value of the reliability range of transitions is smaller, then the reliability value of FRCPN is smaller, so we need to proper control the scale of Web services in FRCPN, and improve the reliability of a single transition.Next, we can carry out further research in the following areas: (1) Study the transaction model of Web service compositions and the exception recovery mechanism of Web service compositions, to facilitate the fallback handling for the jobs in the SCP prototype.(2) Carry out research into the structural verification algorithm of FRCPN to verify the validity of the structure.(3) Create a comprehensive summary of existing research works to form the theory and application system behind service compositions in the cloud platform, including modeling, searching, matching, automatic composition, validation, transaction handling, exception handling, etc.

) P = {P 1 ,
P 2 , • • • , P n } represents the place set, and each place represents a Web service.(2) T = {T 1 , T 2 , • • • , T m } represents the transition set, and each transition represents the matching relationships among Web services.(3) F is a dependence relation set, represented as an If-Then form.(4)

3. 3 . 1 .
The first production rule (The semantic similarity threshold k) The first production rule represents a dependence relation → (the semantic similarity threshold k).The FRCPN based on semantic similarity for Web service compositions is shown in Figure 1.

Figure 1 .
Figure 1.The FRCPN (Fuzzy Reasoning Colored Petri Net) expression of the first production rule.

Figure 1 .Future
Figure 1.The FRCPN (Fuzzy Reasoning Colored Petri Net) expression of the first production rule.

) 3 . 3 . 2 .
The second production rule ⋯ (The semantic similarity threshold k) The second production rule represents a dependence relation ″ ⋯ → ″ (the semantic similarity threshold k).The FRCPN based on semantic similarity for Web service compositions is shown in Figure 2.

Figure 2 .
Figure 2. The FRCPN expression of the second production rule.

) 3 . 3 . 3 .
The Third Production Rule If WS i1 or WS i2 • • • or WS in Then WS j (The semantic similarity threshold k) This production rule represents a dependence relation " WS i1 or WS i2 • • • or WS in → WS j " (the semantic similarity threshold k).The FRCPN based on semantic similarity for Web service compositions is shown in Figure 3. Future Internet 2016, 8, 47 6 of 22 This production rule represents a dependence relation ″ ⋯ → ″ (the semantic similarity threshold k).The FRCPN based on semantic similarity for Web service compositions is shown in Figure 3.

. 3 . 4 .
The fourth production rule ⋯ (The semantic similarity threshold k) This fourth production rule represents a dependence relation ″ → ⋯ ″ (the semantic similarity threshold k).The FRCPN based on semantic similarity for Web service compositions is shown in Figure 4.

Figure 3 .
Figure 3.The FRCPN expression of the third production rule.

Figure 4 .
Figure 4.The FRCPN expression of the fourth production rule.

) 3 . 3 . 5 .
The fifth production rule ⋯ (The semantic similarity threshold k) This fifth production rule represents a dependence relation ″ → ⋯ ″ (the semantic similarity threshold k).The FRCPN based on semantic similarity for Web service compositions is shown in Figure 5.

Figure 5 .
Figure 5.The FRCPN expression of the fifth production rule., , ⋯ , are the semantic similarity between the outputs of and the inputs of ″ , , ⋯ , ,″ respectively.The above rule needs to satisfy some conditions, including , , ⋯, , ⋁ ⋁ ⋯ , and all of the conditions in , .Therefore,

Figure 4 .
Figure 4.The FRCPN expression of the fourth production rule.
) 3.3.5.The Fifth Production Rule If WS i then WS j1 or WS j2 • • • or WS jn (The semantic similarity threshold k) This fifth production rule represents a dependence relation " WS i → WS j1 or WS j2 • • • or WS jn " (the semantic similarity threshold k).The FRCPN based on semantic similarity for Web service compositions is shown in Figure 5. Future Internet 2016, 8, 47 7 of 22

Figure 4 .
Figure 4.The FRCPN expression of the fourth production rule.
) 3.3.5.The fifth production rule ⋯ (The semantic similarity threshold k) This fifth production rule represents a dependence relation ″ → ⋯ ″ (the semantic similarity threshold k).The FRCPN based on semantic similarity for Web service compositions is shown in Figure 5.

Figure 5 .Figure 5 .
Figure 5.The FRCPN expression of the fifth production rule., , ⋯ , are the semantic similarity between the outputs of and the inputs of ″ , , ⋯ , ,″ respectively.The above rule needs to satisfy some conditions, including , , ⋯, , ⋁ ⋁ ⋯ , and all of the conditions in , .Therefore, Figure 5.The FRCPN expression of the fifth production rule.
T, Transition, represents a transition in FRCPN.(2) PRWSS, PRepositional Web Service Set.For a current transition t, if there exists a Web service WS satisfying ∈ , we call WS the prepositional Web service of t.All of the prepositional Web services of t are called the prepositional Web service set of t, denoted as PRWSS.(3) POWSS, POstpositional Web Service Set.For a current transition t, if there exists a Web service WS satisfying ∈ , we call WS s the postpositional Web Service of t.All of the postpositional Web Services of t are called the postpositional Web Service set of t, denoted as POWSS.

Figure 6 .
Figure 6.The procedure of the reliability calculation method.

Figure 6 .
Figure 6.The procedure of the reliability calculation method.

Algorithm 1
TSet fillTransitionValue(FRCPN frcpn) Algorithm's name: The reliability calculation algorithm for all the transitions in FRCPN Input parameter: FRCPN graph frcpn Output parameter: TSet, The transition set filled with reliability values in FRCPN //Get the transition set of FRCPN graph frcpn 1 TSet tSet = frcpn.getTransitionSet()//Set successively the reliability values of all the transitions in frcpn using a loop 2 for int k = 0 to |tSet| − 1 step 1 3 Transition t = tSet.get(k)//Get the type of the transition 4 int type = t.getType()//Set the reliability value of the transition according to the type of the transition //If the type of the transition is the first type, the third type or the fifth type 5 if type = 1 or type = 3 or type = 5 then //The PRWSS

Algorithm 3
was used to calculate the reliability values of Web Services according to SLLFRV linkT in sequence.According to the content of the algorithm, the time complexity of the algorithm is O(n 2 ).

Figure 8 .Figure 8 .
Figure 8.The results of the simulated experiment.According to Figure8, we can know the relationships among the reliability values of Web service compositions, the number of Web services, and the reliability ranges of transitions.The following relationships can be obtained:(1) Under the same reliability range of transitions, if the number of Web services is greater, then the length of SLLFRV is longer and the reliability values of the Web service compositions are smaller.(2) Under different reliability ranges of transitions, if the minimum range is smaller, then as the number of Web services increases, the reliability values of the service compositions decrease more rapidly.(3) We should proper control the scale of Web services in FRCPN.For example, if we set the reliability threshold of Web service compositions as 0.6, then in the reliability range (0.95, 1.0] of transitions, the number of Web services should be controlled below 30 and the length of SLLFRV is below 6.

Figure 9 .
Figure 9.The interface for submitting a job in the SCP (Supercomputing Cloud Platform) prototype.

Figure 10 .
Figure 10.An example Activiti workflow for a computing job in the SCP prototype.

Figure 9 .
Figure 9.The interface for submitting a job in the SCP (Supercomputing Cloud Platform) prototype.

Figure 9 .
Figure 9.The interface for submitting a job in the SCP (Supercomputing Cloud Platform) prototype.

Figure 10 .
Figure 10.An example Activiti workflow for a computing job in the SCP prototype.

Figure 10 .
Figure 10.An example Activiti workflow for a computing job in the SCP prototype.
WS i → WS j1 and WS j2 • • • and WS jn (The semantic similarity threshold k) • • • and WS jn " (the semantic similarity threshold k).The FRCPN based on semantic similarity for Web service compositions is shown in Figure4.

Definition 8 .
Formal definition of Web service in FRCPN.All of the immediate reachability Web services of WS are called an immediate reachability set of WS, denoted as IRS.(3) PRTS, PRepositional Transition Set.For a current Web service WS, if there exists a transition t satisfying WS ∈ O(t), we call t the prepositional transition of WS.All of the prepositional transitions of WS are called a prepositional transition set of WS, denoted as PRTS.(4) POTS, POstpositional Transition Set.For a current Web service WS, if there exists a transition t satisfying WS ∈ I(t), we call t the postpositional transition of WS.All of the postpositional transitions of WS are called a postpositional transition set of WS, denoted as POTS.(5) PIRS, Prepositional Immediate Reachability Set.For a current Web service WS, if there exists a transition t satisfying some conditions, including WS ∈ O(t) and WS i ∈ I(t), we call WS i the prepositional immediate reachability Web service of WS.All of the prepositional immediate reachability Web services of WS are called a prepositional immediate reachability Web service set, denoted as PIRS.(6) ReliabilityValue, the reliability value of the current Web service.Before calculating the reliability value of all Web services in the graph, we set the initial Web service's reliability to 1, and the reliability value of other Web services to 0.
WS(IRS, PRTS, POTS, PIRS, ReliabilityValue) (1) WS, Web Service represents a Web service in FRCPN.(2) IRS, Immediate Reachability Set.For a current Web service WS, if there exists a transition t satisfying some conditions, including WS ∈ I(t) and WS i ∈ O(t), then we call WS i the immediate reachability Web service of WS.Definition 9. Formal definition of transition in FRCPN.T(PRWSS, POWSS, Type, Reliability Value) (1) T, Transition, represents a transition in FRCPN.(2) PRWSS, PRepositional Web Service Set.For a current transition t, if there exists a Web service WS satisfying WS ∈ I(t), we call WS the prepositional Web service of t.All of the prepositional Web services of t are called the prepositional Web service set of t, denoted as PRWSS.(3) POWSS, POstpositional Web Service Set.For a current transition t, if there exists a Web service WS satisfying WS ∈ O(t), we call WS s the postpositional Web Service of t.All of the postpositional Web Services of t are called the postpositional Web Service set of t, denoted as POWSS.(4) POTS, POstpositional Transition Set.For a current Web service WS, if there exists a transition t satisfying ∈ , we call t the postpositional transition of WS.All of the postpositional transitions of WS are called a postpositional transition set of WS, denoted as POTS.(5) PIRS, Prepositional Immediate Reachability Set.For a current Web service WS, if there exists a transition t satisfying some conditions, including ∈ and ∈ , we call the prepositional immediate reachability Web service of WS.All of the prepositional immediate reachability Web services of WS are called a prepositional immediate reachability Web service set, denoted as PIRS.

Table 1 .
The parameters of Web services in FRCPN (Fuzzy Reasoning Colored Petri Net).

Table 2 .
The parameters of the transitions in the FRCPN.O WS12 ∪ O WS13 ∪ O WS14 , I 15 ) = 0.92 {WS 8 ,WS 12 ,WS 13 ,WS 14 } {WS 15 } second According to the sequence {t 4 ,t 7 ,t 5 ,t 6 ,t 8 ,t 11 ,t 9 ,t 10 ,t 3 ,t 2 ,t 1 } and Algorithm 1, we calculate the reliability values of the transitions.Let us start with a look at the calculation of t 4 's reliability value.We know from Table 2 that t 4 is of the fifth type.According to Algorithm 1, wsi and wsj are WS 6 and WS 8 , respectively, and we can calculate the reliability value of t 4 as follows: