elektronická verzia publikácie - FIIT STU - Slovenská technická ...
elektronická verzia publikácie - FIIT STU - Slovenská technická ...
elektronická verzia publikácie - FIIT STU - Slovenská technická ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
184 Selected Studies on Software and Information Systems<br />
The aim of web service composition is to solve problems like the creation of the meteorological<br />
forecast maps described above. We have no service to achieve our goal, but we can<br />
compose it from sub-services. There are two ways in web service composition. In first, the<br />
composition is created manually, i.e. somebody creates it. The second way is the automatic<br />
composition of services. Here, the composition method automatically creates a composed<br />
service based on a defined goal. These approaches use AI (Artificial Intelligence) planning<br />
techniques [68].<br />
The approaches based on AI planning convert the web service composition problem to<br />
AI planning problem [67]. Then several existing approaches can be used to solve it. Using<br />
these approaches we can create a plan which determines the action sequence leading from<br />
the initial state to the goal state. The creation of the plan does not solve the whole problem.<br />
The found sequence does not need to bring the desired results. We are successful only if we<br />
get the required output data by execution of this sequence. This means that also the data flow<br />
between the actions must be correct, i.e. the successive services are compatible on I/O data<br />
level and input data for each service has defined source. To summarize, we are looking for<br />
a composite service which execution in the initial state leads to the goal state and desired data.<br />
The composers work with different formalisms to encode and solve the planning problem<br />
[58]. Here belong the pure backward chaining, any of the search space algorithms or the<br />
most trivial shortest path search. Real semantic web service composers usually combine and<br />
enhance these algorithms. Their aim is to reduce the search space to find a plan in acceptable<br />
time. In the following we take a brief overview of the approaches formalizing the web service<br />
composition problem or are used to find its solution.<br />
State-Space Based Planning<br />
The web service composition problem based on state-space planning is described by a fivetuple<br />
〈S, s 0 ,G,A,Γ〉, where S is a set of the possible states of the world, s 0 is the initial state,<br />
G denotes the goal state which we want to reach, A is the set of actions the planner can use<br />
to change one state to other, and Γ is the set of translation relations Γ ⊆ S × A × S defining<br />
the preconditions and effects for the execution of each action, it maps one state into another.<br />
The goal of the planning is to find such a sequence of actions which when are applied<br />
to the initial state, will lead to the goal state. Formally, we look for a sequence a 0 ,...,a n ,<br />
where a i ∈ A, ∀i =0,...,nwhich generates a state trajectory s 0 ,...,s n+1 , where s i ∈ S, ∀i =<br />
0,...,n+1and s n+1 = G. In each step, there must exist γ i ∈ Γ,γ i =(s i ,a i ,s i+1 ), ∀i =<br />
0,...,n.<br />
The transition relations can by related to a cost function c(a, s) > 0. This function<br />
measures the cost of execution the action a in state s. The aim is to find the plan with the<br />
lowest cumulative cost computed from the costs of each state transition of the plan.<br />
State-space based search can use any of the space search algorithms. The aim of these<br />
algorithms is to reduce the search space which has 2 p states, where p is the number of<br />
propositions. To find a state transition path a simple shortest path algorithm can by used<br />
solving the problem in O(m log m) time, where m =2 p [21]. Considering a problem where we<br />
have 20 propositions, the search space consists from 2 20 = 1 048 576 states. In reality, we often<br />
have more hundreds of propositions. This seriously increases the number of states. Hence,<br />
the simple algorithms are not usable. A lot of known algorithms try to reduce the search