Академический Документы
Профессиональный Документы
Культура Документы
fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/TSC.2015.2398442, IEEE Transactions on Services Computing
1
AbstractThe number of Web services has grown drastically.
Then how to manage them efficiently in a service repository is an
important issue to address. Given a special field, there often exists
an efficient data structure for a class of objects, e.g., the Google'
Bigtable is very suitable for Web pages' storage and management.
Based on the theory of the equivalence relations and quotient sets,
this work proposes a multilevel index model for large-scale service
repositories, which can be used to reduce the execution time of
service discovery and composition. Its novel use of keys as
inspired by the key in relational database can effectively remove
the redundancy of the commonly-used inverted index. Its four
function-based operations are for the first time proposed to
manage and maintain services in a repository. The experiments
validate that the proposed model is more efficient than the
existing structures, i.e., sequential and inverted index ones.
Index TermsWeb service, service composition, service
discovery, service management, and big data.
I. INTRODUCTION
1939-1374 (c) 2015 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/TSC.2015.2398442, IEEE Transactions on Services Computing
2
very large. In order to reduce the composition time, they
propose a method to select the candidate clauses for the
inference when a new query comes. Its weakness is that it must
be executed after receiving user requirements, and cannot be
executed beforehand. Wu and Khoury [21] propose a
tree-based search algorithm for Web service composition in a
cloud computing platform. They first create a tree that
represents all possible composition solutions according to user
requirements, and then prune the illegal branches aiming to
reduce response time and improve performance, and finally use
a heuristic algorithm to search an optimal solution. This method
has the disadvantage similar to that in [7], namely, its
optimization process cannot be executed before receiving user
requirements.
Constantinescu et al. [24] propose a type-compatible service
composition method. They use a forward composition
algorithm to obtain a solution. Its drawback is that it often
contains many useless services in its solution. Kwon et al. [22]
propose a two phase composition method to overcome such a
drawback. Its first phase is to generate a composition solution
via a forward composition algorithm. Its second phase is to
eliminate useless services backward. In the forward phase, they
use a service net to reduce the time of composition. Let si
denote a service, and si and si denote the input and output
parameters of si, respectively. Services are nodes of the net. If
sisj, there exists a directed edge from si to sj. Assume that
si have been selected in a solution. In the next step, only these
services that link to si need to be retrieved and determined
whether they should be selected. The service net narrows the
search space for every step of service composition (except the
first one), and is effective to improve the composition
efficiency. Lee et al. [4] propose a scalable and efficient Web
service composition method based on a relational database.
They also use the service net as a basic data structure. The
service net has two shortcomings. First, it does not consider the
issue to facilitate service discovery. Second, it is
time-consuming for service addition and deletion. For example,
when a service si is added, for every existing service sj, it needs
to be determined whether sjsi and sisj
An inverted index is a highly efficient index that is widely
used in many fields. For example, Google uses it to reduce
response time for users' queries [25, 26]. It is also adopted in
Web service storage.
Aversano et al. [27] propose a backward composition
method that composes services from a terminal state to the
initial one. It contains two steps, called horizontal and vertical
ones. The former is to find a minimal set of services that can
converge to a target state. The latter is to repeat the former till a
stop condition is met. Clearly, according to the Binomial
theorem [28], the time complexity of the horizontal step is 2n in
the worst case where n is the number of services. In order to
reduce its composition time, Li et al. [23] propose an inverted
index to manage services. They store services and their
parameters. If a parameter is an output one of a service, then an
index link is created from the parameter to the service. Their
method is efficient and effective for any backward service
composition method, and convenient for service addition and
1939-1374 (c) 2015 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/TSC.2015.2398442, IEEE Transactions on Services Computing
3
service composition or discovery methods using it can work on
a smaller service set instead of the whole one to find the most
suitable services, thereby reducing their time. Service addition,
deletion and replacement are three maintenance operations that
can be used by administrators or service providers to maintain
services in a service repository. The proposed model needs an
ontology to ensure each service parameter to have a unique
identifier. For example, a parameter name "city" may refer to a
departure or destination city in two services. Since they are two
different concepts, they will be resolved into different
identifiers by the ontology. The functions of the ontology are to
solve semantic questions before the construction of the
proposed model. Note that not all semantic questions can be
resolved by an ontology at present, which is beyond the scope
of this paper.
Different services are generally composed together by their
inputs and outputs. The following example in Fig. 2 is a
simplified one used in [4]. There are two services, 1) a
tourinfo-lookup service that accepts city and date, and outputs
tour cost, hotel and address, and 2) a car-rent service that
accepts date, address and car size, and outputs rent and car.
Users hope to have a tour and rent a car. They can provide city,
date, car size and would like to reserve a hotel room and a car.
Suppose that no single existing service satisfy their request but
can be fulfilled by the composition of the above mentioned
ones. Clearly, service inputs and outputs are indispensable for
service composition.
This example is simple and used to illustrate what service
composition is and inputs and outputs of services are in service
composition. In Section IV, some other examples will be given
to help understand how the proposed model improves service
composition and discovery efficiencies.
Definition 1. A service s=(s, s, O), where s is the set of
input parameters, and s is the set of output parameters. O is a
set of service attributes, e.g., QoS or description.
1939-1374 (c) 2015 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/TSC.2015.2398442, IEEE Transactions on Services Computing
4
service, the search space can be reduced. This method is simple
but effective for these service sets that cantain many similar
services. After the clustering, a new service can be composed in
the level of virtul services. When the composed workflow is
completed, a real service need to be binded. How to select a
desirable serivce from many similar ones is another research
field called service selection [30]. It is beyond the scope of this
paper.
All similar services with the same input and output
parameters are clustered into a class, which constructs the first
level index. Equivalence relation is used to describe the whole
index.
Definition 5. Relation R1 is defined on S: si, sjS, si R1 sj
(si=sj)(si=sj).
Theorem 1. R1 is an equivalence relation on S.
Proof: (1) sS, s=ss=s s R1 s R1 on S is reflexive
[31]; (2) si, sjS, si R1 sj si=sjsi=sj sj=sisj=si sj
R1 si R1 on S is symmetric [31]; (3) si, sj, skS, (si R1 sj)(sj
R1 sk) (si=sjsi=sj)(sj=sksj=sk) si=sksi=sk si R1
sk R1 on S is transitive [31]. From (1)-(3), R1 is an
equivalence relation on S.
An equivalence relation E on a set W divides W into a family
of disjoint subsets called the quotient set [31] of W induced by
E. Each subset is called an equivalence class [31].
Procedure 1: Partition S according to R1.
According to Theorem 1, R1 as an equivalence relation on S
can divide S to result in a quotient set, i.e., a family of disjoint
service subsets.
Definition 6. The quotient set induced by R1 is denoted as 1.
An equivalence class contained in 1 is called a similar class,
denoted as Cs.
According to R1, a service set S is divided into many subsets,
and each subset is called a similar class that contains one or
more services with the same input and output parameters.
Therefore, each similar class Cs has a unique pair of parameter
sets, denoted as Cs and Cs where Cs=s and Cs=s, sCs.
The First Level Index (L1I): There is an index between a
service s and a similar class Cs if sCs.
Relation R1 and Procedure 1 help one construct L1I as shown
in Fig. 3 and the right side of Fig. 13. The definition of quotient
set Q induced by an equivalence relation E on a set W ensures
every element contained in W is classified into a unique
equivalence class and any two different equivalence classes are
disjointed. Therefore, L1I ensures that all services are indexed
only once, implying neither service being omitted nor service
being indexed twice. In other words, L1I has the integrity and
contains no redundancy.
Without L1I, all services need to be retrieved for computing
Re(Qp, S). With L1I, only all similar classes need to be retrieved
instead of all services. Since the similar class count is smaller
than the service one generally, the retrieval time is reduced. An
example is shown in Fig. 3.
1939-1374 (c) 2015 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/TSC.2015.2398442, IEEE Transactions on Services Computing
weather1:
time, location
weather, temperature
weather2:
time, location
weather, temperature
movie search3:
time, cinema
movie name, price
is1 : ab
is 2 : ad
Fig. 5. An example of L2I-L1I.
B. Redundancy-removal Indexes
1) Redundancy contained in the inverted index
After L1I and L2I, when computing Re(Qp, S), all
input-similar classes need to be retrieved and checked whether
Qpis. In a large scale service repository, it is clear that most
input-similar classes are irrelevant to a user's request Q.
Therefore, another index is desired to narrow the search space
of input similar classes.
The above question can be abstracted into: given a set Qp,
how to efficiently find out all its subsets from many sets. B-tree
and hashtable are efficient index structures for element search.
But it cannot be used to narrow the search space for set
1939-1374 (c) 2015 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/TSC.2015.2398442, IEEE Transactions on Services Computing
Fig. 7. Sets are stored in B-tree, which cannot narrow the search space.
Fig. 8. Sets are stored in the inverted index, which can narrow the search space.
6
index, this work proposes two new level indexes.
Keys are used in tables of relational databases to reduce
some redundancies, which is similar to the redundancy residing
in the inverted index. Inspired by this, a new concept of a key
for the input parameters is proposed. A parameter in is is
designated as a key of is, denoted as (is). Each is is forced to
pick only one key if |is|1. Different input-similar classes may
have the same or different keys. According to keys, a new
relation and thus a new index can be established.
Definition 9. Relation R3 is defined on R2: is1, is2R2, is1
R3 is2 (is1)=(is2).
Theorem 3. R3 is an equivalence relation on R2.
This theorem can be proved by the similar method used in
proving Theorem 1.
Procedure 3: Partition R2 according to R3.
According to Theorem 3, R3 as an equivalence relation on R2
can divide R2 to result in a quotient set, i.e., a family of disjoint
input-similar class subsets.
Definition 10. The quotient set induced by R3 is denoted as
3. An equivalence class contained in 3 is called a key class,
denoted as Ck.
The Third Level Index (L3I): There is an index between an
input-similar class is and a key class Ck if isCk.
Relation R3 and Procedure 3 help one construct L3I as shown
in Fig. 11 and Fig. 13 and ensure that L3I has the integrity and
contains no redundancy.
According to R3, R2 is divided into many subsets, and each
subset is called a key class that contains one or more
input-similar classes with the same key, namely, every
input-similar class is contained in the same key class Ck has the
same key. Therefore, each key class Ck contained in 3 has a
unique key, denoted as (Ck). Thus (Ck)=(is), isCk.
The function f: AB is a bijection iff 1) x, yA,
f(x)=f(y)x=y, and 2) zB, xA such that f(x)=z. From
above analysis, we know that a key class has a unique key, and
a key identifies a unique key class. denotes the set of keys of
all key classes. Thus 3 and form a bijection fk:3. Given
Ck3 and k, fk(Ck)=k if (Ck)=k.
The Fourth Level Index (L4I): There is an index between a
key class Ck and a key k if fk(Ck)=k.
The definition of bijection ensures that L4I has the integrity
and contains no redundancy.
After L3I and L4I are built, the information redundancy
presented in the prior example can be eliminated. An example
is shown in Fig. 11.
is 3 : location, hotel
Fig. 10. A specific example of inverted index between parameters and
input-similar classes.
C k1 : a
C k2 : d
is1 : ab
is 2 : ad
is 3 : cd
1939-1374 (c) 2015 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/TSC.2015.2398442, IEEE Transactions on Services Computing
Fig. 9 is eliminated.
C k1 : time
C k 2 : location
is 2 : time, cinema
is 3 : location, hotel
R 2 : all
3 : all
similar
S : all
: all keys
key classes
classes
classes
services
k1
C k1
Ck2
is1
is 2
Cs1
s1
k2
Cs 2
s2
input-similar
dt 1
n
dt
m n
. Since
, solving
0
2
dm 2 2m
dm
2 2m
d 2t
n
1
0.
dm 2 m3
n
3 : all
: all keys
key classes
input-similar
classes
k1
C k1
Ck2
is1
is 2
k2
1 : all
similar
classes
S : all
services
Cs1
s1
Cs 2
s2
1939-1374 (c) 2015 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/TSC.2015.2398442, IEEE Transactions on Services Computing
8
Kclose={k|kKincluded|(|fk-1(k)|- | 2 | )||(|fk-1(k')|- | 2 | )|, k'Kincluded};
if(Kclose){randomly select a kKclose as a key of s;}
K=A;
={Ck|Ckfk-p(K)};
C={is|isf3-p()isA};
=f2-p(C);
Re(A, S)=f1-p();
else
{if((s-K)){randomly select a k(s-K) as a key of s;}
else
{Kexcluded=K-Kincluded;
Kclose={k|kKexcluded|(|fk-1(k)|- | 2 | )||(|fk-1(k')|- | 2 | )|,k'Kexcluded};
randomly select a kKclose as a key of s;}}}}
if(k){add k into ; create Ck:Ck3(Ck)=k;}
find is:is=sisf3-p({fk-1(k)});
if(is does not exist){create is:isR2is=s;}
find Cs:Cs=sCsf2-p({is});
if(Cs does not exist){create Cs:Cs1Cs=sCs=s;}
Cs=Cs{s};
C. Addition
Theorem 4 gives a basic principle for one to select keys, i.e.,
|Ck| should be as close to | 2 | as possible. Based on this
principle, a best-fit method is given to insert a service into the
multilevel index. When a service s is inserted into the
multilevel index, the first step is to find out which input
parameters are keys, and then select a key k such that |fk-1(k)| is
close to | 2 | . If there are more than one choice of keys with
the same cardinality, then select one from them randomly. If
there is no key contained in s, then select a parameter randomly
from s as a new key. Unfortunately, this method may make
some key classes such that their cardinalities are much bigger
than | 2 | when some parameters are used as input
parameters by most services. To avoid this, a threshold is set to
control the cardinality of a key class. When inserting a service s,
all keys in s should be found out. For each such key k, if
|fk-1(k)| | 2 | , it cannot be selected as the key of s. The
addition algorithm is shown next.
Algorithm 2. Addition.
Input a service s;
K=s;
if(K==){randomly select a ks as a key of s;}
else
{={Ck|Ckfk-p(K)};
find is:isf3-p()is==s;
if(is exists){select k=(f3(is) as a key of s;}
else
{Kinclude={k|kK|fk-1(k)|< | 2 | };
if(|Ck|==0)
{k=fk(Ck);3=3-{Ck};=-{k};}}}}}
1939-1374 (c) 2015 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/TSC.2015.2398442, IEEE Transactions on Services Computing
Sequential
4,647,168
4000000
3000000
2000000
Inverted
283,830
1000000
Multilevel
89,553
Fig. 15. Search space size for 936 retrievals under three structures.
.
t
2
When n=|S|=104, =50. When n=|S|=106, =500. This means
B. Experiments
10000
8000
Sequential
10,957.43
Inverted
7,683.82
6000
4000
Multilevel
2,883.35
2000
0
Fig. 16. Retrieval time for 936 retrievals under three structures.
1939-1374 (c) 2015 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/TSC.2015.2398442, IEEE Transactions on Services Computing
0.6
Inverted
27.52%
0.4
Sequencial
1.68%
For the 936 retrieval requests, there are 78108 services that
can meet them. Under the sequential structure, the retrieval
needs check 4647168 services to judge whether they can be
invoked. Then the ratio of the number of services that can be
invoked to the search space size can be used to measure the
efficiency of an index. Therefore, the efficiency of the
sequential structure is 78108/4647168, about 1.68%. The
efficiencies of the inverted and multilevel indexes are 27.52%
and 87.22% as shown in Fig. 17. The proposed index
significantly outperforms the other two.
2) Service composition
The purpose of the proposed model is to improve the
efficiency of service discovery and composition. In Section
V.B, the retrieval efficiency under the proposed multilevel
index is analyzed. However, the speeding up effect is unclear
when the retrieval is applied to service composition and
discovery under the proposed model. This section clarifies it
via experiments. Service discovery is a special case of service
composition with one step only. Therefore, service composition
is selected in our experiments.
Service composition methods can be generally classified into
two classes, the forward and backward ones. For a user's
request Q=(Qp, Qr), the forward methods are to compose a
composition results from Qp to Qr. Since the forward methods
are more efficient than the backward ones, which has been
analyzed in section II, they are widely used [4, 7, 22, 34, 35].
The backward ones are composing services from Qr to Qp. The
condition of the forward composition is sQp, and thus a key
can be used to narrow the search space; while the condition of
the backward composition is Qps. Therefore, the
proposed index is difficult to be directly utilized by the
backward one, which requires future work.
A breadth-first composition method that is one of forward
composition methods is selected for our experiments, which is
used by Kwon et al [22]. Its advantage is that it can find parallel
services to the largest degree with the same time complexity of
depth-first one. Another important reason is that the
breadth-first composition method can obtain the same
composition result for a composition request regardless of the
service storage structure. Therefore, it cannot be interfered with
randomness and is fair for different storage structures to
Name
Service Count
No.
Name
Service Count
1-20-4
2156
10
1-100-16
4156
1-20-16
2156
11
1-100-32
4156
1-20-32
2156
12
2-50-4
5356
1-50-4
2656
13
2-50-16
5356
1-50-16
2656
14
2-50-32
5356
1-50-32
2656
15
2-20-16
6712
2-20-4
3356
16
2-100-4
8356
2-20-32
3356
17
2-100-16
8356
1-100-4
4156
18
2-100-32
8356
Fig. 18 shows the total composition time. Its results are very
close to the retrieval time. The proposed index has significant
advantage over the other two methods.
12000
Index efficiency
0.8
0.2
10
10000
8000
Sequential
10,988.45
Inverted
7,688.54
6000
4000
Multilevel
2,888.04
2000
0
1939-1374 (c) 2015 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/TSC.2015.2398442, IEEE Transactions on Services Computing
M1-M3
M2-M3
11
parameter count
Service count
12
10
10
512.2ms
287.3ms
6
4
2
0
1
8 9 10 11 12 13 14 15 16 17 18
Eighteen test sets
3) Influence factors
Many factors may affect the performance of the proposed
multilevel index. Service count and service parameter count are
two of them. In our experiments, their impacts are evaluated.
service count
retrieval count
composition time
8356
9452116.4ms
53566448 77.9ms
3356 4411 52.6ms
2-20-4
2-50-4
2-100-4
(a) Three subsets have different service count. Each service of them has about 5
input and output parameters respectively.
service count
retrieval count
composition time
8356
9456512.2ms
2-20-32
2-50-32
2-100-32
(b) Three subsets have different service count. Each service of them has about
34 input and output parameters respectively.
Fig. 21. Influence of service count on retrieval count and composition time.
retrieval count
composition time
34
343.7ms
17
191.4ms
5 6448 77.9ms
6455
composition time
34
17
6
4
retrieval count
5 9452 116.4ms
9456
9456
2-100-4
2-100-16
2-100-32
(b) Three subsets have 8356 services respectively. Services in different subsets
have different numbers of input and output parameters.
Fig. 22. Influence of service parameter count on service retrieval count and
composition time.
Fig. 23. Addition time of eighteen test sets in an increasing order of service
counts
The addition time curve is not smooth, and there are many
fluctuations in it. We think that it may be related to how many
input parameters each service has and how many services
contain the same parameter as an input one. How to improve
the proposed addition algorithm in different cases is an open
question.
6453
2-50-4
2-50-16
2-50-32
(a) Three subsets have 3356 services respectively. Services in different subsets
have different numbers of input and output parameters.
VII. CONCLUSION
This work proposes a multilevel index model to store and
manage services for large-scale service repositories. Based on
1939-1374 (c) 2015 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/TSC.2015.2398442, IEEE Transactions on Services Computing
REFERENCES
[1] M. P. Papazoglou, P. Traverso, S. Dustdar, and F. Leymann,
"Service-oriented computing: State of the art and research challenges,"
Computer, vol. 40, pp. 38-45, Nov. 2007.
[2] M. P. Papazoglou and D. Georgakopoulos, "Service-oriented computing,"
Communications of the ACM, vol. 46, pp. 25-28, 2003.
[3] S. C. Oh, D. Lee, and S. R. Kumara, "Effective Web Service Composition
in Diverse and Large-Scale Service Networks," IEEE Transactions on
Services Computing, vol. 1, pp. 15-32, 2008.
[4] D. Lee, J. Kwon, S. Lee, S. Park, and B. Hong, "Scalable and efficient web
services composition based on a relational database," Journal of Systems
and Software, vol. 84, pp. 2139-2155, Dec. 2011.
[5] F. Chang, J. Dean, S. Ghemawat, W. C. Hsieh, D. A. Wallach, M.
Burrows, et al., "Bigtable: A Distributed Storage System for Structured
Data," ACM Trans. Comput. Syst., vol. 26, pp. 1-26, 2008.
[6] J. Fan and S. Kambhampati, "A snapshot of public web services,"
SIGMOD Rec., vol. 34, pp. 24-32, 2005.
[7] X. Tang, C. Jiang, and M. Zhou, "Automatic Web service composition
based on Horn clauses and Petri nets," Expert Systems with Applications,
vol. 38, pp. 13024-13031, 2011.
[8] W. Tan and M. C. Zhou, Business and Scientific Workflows: A Web
Service-Oriented Approach, 1 ed.: Wiley-IEEE Press, 2013.
[9] W. Tan, Y. Fan, and M. Zhou, "A Petri Net-Based Method for
Compatibility Analysis and Composition of Web Services in Business
Process Execution Language," IEEE Transactions on Automation Science
and Engineering, vol. 6, pp. 94-106, 2009.
[10] W. Tan, Y. Fan, M. Zhou, and Z. Tian, "Data-Driven Service
Composition in Enterprise SOA Solutions: A Petri Net Approach," IEEE
Transactions on Automation Science and Engineering, vol. 7, pp. 686-694,
2010.
[11] P. Sun, C. J. Jiang, and M. C. Zhou, "Interactive Web service composition
based on Petri net," Transactions of the Institute of Measurement and
Control, vol. 33, pp. 116-132, 2011.
[12] P. Xiong, Y. Fan, and M. Zhou, "A Petri Net Approach to Analysis and
Composition of Web Services," IEEE Transactions on Systems, Man and
Cybernetics, Part A: Systems and Humans, vol. 40, pp. 376-387, 2010.
[13] X. PengCheng, F. YuShun, and Z. MengChu, "QoS-Aware Web Service
Configuration," IEEE Transactions on Systems, Man and Cybernetics,
Part A: Systems and Humans, vol. 38, pp. 888-895, 2008.
[14] P. W. Wang, Z. J. Ding, C. J. Jiang, and M. C. Zhou, "Design and
Implementation of a Web-Service-Based Public-Oriented Personalized
Health Care Platform," IEEE Transactions on Systems, Man, and
Cybernetics: Systems, pp. 1-17, 2013.
12
[15] J. Puttonen, A. Lobov, and J. L. Martinez Lastra, "Semantics-Based
Composition of Factory Automation Processes Encapsulated by Web
Services," Industrial Informatics, IEEE Transactions on, vol. 9, pp.
2349-2359, 2013.
[16] A. Girbea, C. Suciu, S. Nechifor, and F. Sisak, "Design and
Implementation of a Service-Oriented Architecture for the Optimization
of Industrial Applications," Industrial Informatics, IEEE Transactions on,
vol. 10, pp. 185-196, 2014.
[17] S. N. Han, G. M. Lee, and N. Crespi, "Semantic Context-Aware Service
Composition for Building Automation System," Industrial Informatics,
IEEE Transactions on, vol. 10, pp. 752-761, 2014.
[18] S. Narayanan and S. A. McIlraith, "Simulation, verification and
automated composition of web services," in Proc. the 11th international
conference on World Wide Web, Honolulu, Hawaii, USA, 2002, pp.
77-88.
[19] W. Nam, H. Kil, and D. Lee, "On the computational complexity of
behavioral description-based web service composition," Theoretical
Computer Science, vol. 412, pp. 6736-6749, 2011.
[20] G. Liu, C. Jiang, M. Zhou, and P. Xiong, "Interactive Petri Nets," IEEE
Transactions on Systems, Man and Cybernetics, Part A: Systems and
Humans, pp. 1-12, 2012.
[21] C.-S. Wu and I. Khoury, "Tree-based Search Algorithm for Web Service
Composition in SaaS," in Proc. the Ninth International Conference on
Information Technology: New Generations (ITNG), 2012, pp. 132-138.
[22] J. Kwon, H. Kim, D. Lee, and S. Lee, "Redundant-Free Web Services
Composition Based on a Two-Phase Algorithm," in Proc. the 2008 IEEE
International Conference on Web Services, 2008, pp. 361-368.
[23] K. Li, L. Ying, D. Shuiguang, and W. Zhaohui, "Inverted Indexing for
Composition-Oriented Service Discovery," in Proc. the 2007 IEEE
International Conference on Web Services, 2007, pp. 257-264.
[24] I. Constantinescu, B. Faltings, and W. Binder, "Large scale,
type-compatible service composition," in Proc. the 2004 IEEE
International Conference on Web Services, 2004, pp. 506-513.
[25] S. Brin and L. Page, "The anatomy of a large-scale hypertextual Web
search engine," Computer Networks and ISDN Systems, vol. 30, pp.
107-117, 1998.
[26] L. A. Barroso, J. Dean, and U. Holzle, "Web search for a planet: The
Google cluster architecture," IEEE Micro, vol. 23, pp. 22-28, 2003.
[27] L. Aversano, G. Canfora, and A. Ciampi, "An algorithm for Web service
discovery through their composition," in Proc. the 2004 IEEE
International Conference on Web Services, 2004, pp. 332-339.
[28] E.
W.
Weisstein.
Binomial
theorem.
Available:
http://mathworld.wolfram.com/BinomialTheorem.html
[29] Y. Wu, C. Yan, Z. Ding, P. Wang, C. Jiang, and M. Zhou, "A Relational
Taxonomy of Services for Large Scale Service Repositories," in Proc. the
19th IEEE International Conference on Web Services (ICWS), 2012, pp.
644-645.
[30] Y. Wu, C. Yan, Z. Ding, G. Liu, P. Wang, C. Jiang, et al., "A Novel
Method for Calculating Service Reputation," IEEE Transactions on
Automation Science and Engineering, vol. 10, pp. 634-642, 2013.
[31] B. Kolman, R. C. Busby, and S. C. Ross, Discrete Mathematical
Structures, 5th ed. Upper Saddle River, NJ: Pearson Prentice Hall, 2004.
[32] ICEBE05. (2005). Web Services Challenge 2005. Available:
http://www.comp.hkbu.edu.hk/~ctr/wschallenge/
[33] S. C. Oh, D. Lee, and S. R. T. Kumara, "Web service planner (WSPR): An
effective and scalable web service composition algorithm," International
Journal of Web Services Research, vol. 4, pp. 1-22, Jan-Mar 2007.
[34] R. Hewett, P. Kijsanayothin, and B. Nguyen, "Scalable Optimized
Composition of Web Services with Complexity Analysis," in Proc. the
2009 IEEE International Conference on Web Services, 2009, pp. 389-396.
[35] H. Mili, G. Tremblay, A. E. Caillot, R. B. Tamrout, and A. Obaid, "Web
service composition as a function cover problem," in Proc. The 2005
Montreal Conference on eTechnologies, Montreal, Canada, 2005, pp.
61-71.
1939-1374 (c) 2015 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.