A Methodology for Search Space Reduction in QoS Aware Semantic Web Service Composition : 3

service corresponding to the equivalence class S′ ⊆ S . Below, we discuss the method of choosing the representative service. Step 1: For each service Si in an equivalence class, we first normalize the values of the QoS parameters between 0 and 1. To normalize, at first, the maximum (PMax l ) and minimum (P Min l ) values of each QoS parameter Pl across the equivalence class are computed. The normalized value of the parameter is computed as: NV (Pi l ) =  Pi l −P Min l PMax l −P Min l , if Pl is a positive QoS PMax l −P i l PMax l −P Min l , if Pl is a negative QoS Step 2: Once the QoS parameters are normalized, we compute the weighted sum of the normalized QoS parameters: WS(Si ) = m ∑ l=1 (NV (Pi l ) ∗wl ); wl ∈ [0, 1] We assume that the weights of the QoS parameters can be provided externally by the user. If no weights are specified, all QoS parameters are provided equal weights, i.e., ∀l ∈ {1, 2. ,m},wl = 1 m . Step 3: The service with maximum weighted sum is chosen as the representative service for each equivalence class. 3.2 Composition with First Level Abstract Services Any service composition algorithm can be applied over the abstract service space to get a solution to a query. The major advantage of this abstraction method is that for a single QoS parameter, it preserves the solution quality. In other words, if an optimal algorithm is used to find a solution, it is guaranteed to find an optimal solution from the abstract service space as well. Similarly, if a heuristic algorithm is used to find a solution from the abstract space, it is guaranteed that the solution quality does not degrade in comparison to the solution that can be generated from the original / un-abstracted service space by the same algorithm. However, for multiple QoS parameters, , Vol. 1, No. 1, Article . Publication date: September 2018. A Methodology for Search Space Reduction in QoS Aware Semantic Web Service Composition :9 we cannot ensure this guarantee. In some scenarios, it may not be possible to generate any solution from the abstract service space that satisfies all the QoS constraints, though one exists in the original service space. In such scenarios, refinement is required. In the next subsection, we discuss the refinement techniques in detail. 3.3 First Level Refinement In this paper, we consider two refinement techniques: partial refinement and complete refinement. Partial Refinement. If the composition algorithm returns a solution in terms of the abstract services which does not satisfy all the QoS constraints, we first apply the partial refinement on the solution. It may be noted, one solution in terms of abstract services consists of multiple solutions in terms of original services. The main idea of the partial refinement technique is to change the representative service corresponding to each abstract service belonging to the solution and thus to change the QoS values of the solution. As discussed earlier, the representative service is chosen on the basis of the weighted sum method. Here, we change the weights of the QoS parameters on the basis of the constraint values to choose a different service. We first consider a solution s consisting of the set of abstract services S1s . We now discuss how we modify the weights of the QoS parameters. Step 1: For each abstract service S1i ∈ S1s , we find the maximumMax(S1i ,Pl ) and the minimum Min(S1i ,Pl ) values for each QoS parameter Pl from its corresponding equivalence class. Step 2: For the solution s , we first compute the maximum aggregated value Aддrmax (s,Pl ) for each QoS parameter Pl , considering Max(S1i ,Pl ) as the value of Pl of S1i , for all S1i ∈ S1s . Similarly, we compute the minimum aggregated value Aддrmin(s,Pl ), for each QoS parameter Pl , consideringMin(S1i ,Pl ) as the value of Pl of S1i , for all S1i ∈ S1s . Step 3: Among Aддrmax (s,Pl ) and Aддrmin(s,Pl ), we consider one as the best value and the other as the worst value of Pl for the solution. If Pl is a positive (negative) QoS parameter,Aддrmax (s,Pl ) is considered to be the best (worst) value and Aддrmin(s,Pl ) is considered to be the worst (best) value of Pl . Step 4: If the best value of anyQoS parameterPl of the solution does not satisfy the constraint, we do not apply the partial refinement, since, no modification of the representative service corresponding to any abstract service can make the constraint satisfiable. Step 5: If the worst value of any QoS parameter Pl of the solution is better than the constraint value, we ignore the QoS parameter Pl from the weight computation. This is mainly because, no matter what representative service is chosen for an abstract service belonging to the solution, the constraint value is always satisfied. Step 6: If the constraint value of Pl (say δ (Pl )) lies between the best and the worst aggregated value, we compute the normalized value of the constraint as: NV (Pl ) =  0 if Step 5 is satisfied δ (Pl )−Aддrmin (s,Pl ) Aддrmax (s,Pl )−Aддrmin (s,Pl ) if Pl is a positive QoS Aддrmax (s,Pl )−δ (Pl ) Aддrmax (s,Pl )−Aддrmin (s,Pl ) if Pl is a negative QoS It may be noted, when we assign the QoS values to an abstract service during the preprocessing phase, we do not have any information regarding the QoS requirements of a query, which can only be known when a query comes to the system during the execution phase. Moreover, the QoS constraints vary across queries. Therefore, in the partial refinement phase, our intuition is to set the weights of the QoS parameters according to the QoS requirements by the query. Since the QoS parameters are disparate in nature, in order to compare them, we first normalize a QoS constraint , Vol. 1, No. 1, Article . Publication date: September 2018. :10 S. Chattopadhyay et al. value with respect to the maximum and minimum aggregated values of the parameter that can be provided by the solution. It may be noted, a solution can provide maximum normalized QoS value as 1 for any QoS parameter. However, a QoS parameter Pl requires the normalized value as NV (Pl ) to satisfy its corresponding constraint. Therefore, we set the weight of the QoS parameters proportionate to their normalized constraint values. Step 7: The weight for each QoS parameter is finally computed as, WT (Pl ) = NV (Pl ) m ∑