Business environments in which Web services (WS) must function are seldom static. Key characteristics of service providers such as the reliability rate of their services and other quality-of-service parameters, which may affect WS compositions tend to be volatile. As a concrete example, consider a supply chain in which two suppliers compete for orders from a large manufacturer. The sequence in which the manufacturer uses the services of the two suppliers depends on the probability with which the suppliers usually satisfy the orders and the cost of using them. If the preferred supplier's rate of order satisfaction drops suddenly (due to unforeseen circumstances), a cost-conscious manufacturer should replace it with the other supplier to remain optimal.
The key components for maintaining an adaptive Web process - a
  business process with WSs as its components - are then:
  
 up-to-date knowledge of the
  current parameters of the service providers, and 
 a measure of the suboptimality of the current
  Web process. Both these aspects come with their own attendant
  challenges spanning from how to obtain the new service parameters
  and from which providers to finding approaches that associate a
  measure of optimality to the Web process. In addition, if there
  is a cost to obtaining the new information, not all changes to
  the Web process composition effected by the revised information
  may be worth the cost.
Prevalent approaches to automatically composing Web processes use methods within classical planning [13] and decision-theoretic planning [4]. These rely on pre-specified models of the process environment to generate the WS compositions. In [5], Harney and Doshi introduced a mechanism called the value of changed information (VOC) by which the expected impact of the revised information on the Web process could be calculated. The approach involved selectively querying the service providers for their revised parameters. If the change brought about by the revised information was worth the cost of obtaining it, the Web process was reformulated.1 Thus, the VOC mechanism avoids ``unnecessary'' queries in comparison to the naive approach of, say, periodically querying all the service providers. While this approach results in adaptive Web processes that incur lesser costs in simulated volatile environments [5], computationally the approach turns out to be inefficient.
In this paper, we improve on the previous VOC based approach
  to adaptation by using the insight that service providers are
  often able to guarantee that the parameters of their services
  will persist for some amount of time. Thus, we need not consider
  querying those service providers for revised information whose
  previously obtained information has not expired. We incorporate
  this insight into the VOC formulation, and call the new approach,
  the value of changed information with expiraton times
  (VOC
  
). Because VOC
  
  
 focuses the
  computations on only those services whose parameters could have
  changed, it is computationally more efficient than the
  traditional VOC, while resulting in Web processes that are as
  cost-efficient in volatile environments as those in the previous
  approach.
We theoretically show that the adaptation of the Web processes
  using VOC
  
 is as good as the
  one using VOC and empirically demonstrate that, on average, the
  approach based on VOC
  
 is computationally
  less intensive. In the worst case, the two approaches exhibit
  identical asymptotic complexities. For the purpose of empirical
  evaluation, we utilize two realistic Web process scenarios - a
  supply chain and a clinical administrative pathway. Within our
  service-oriented architecture (SOA), we represent the
  manufacturer's and hospital's Web processes using WS-BPEL
  [6], and the provider services as
  well as a service for computing the VOC
  
 using WSDL
  [12].
Recently, researchers are increasingly turning their attention to managing processes in volatile environments. Au et al. [2] obtain current parameters about the Web process by querying Web service providers when the parameters expire. While this is similar in concept to our approach, plan recomputation is assumed to take place irrespective of whether the revised parameter values are expected to bring about a change in the composition. This may lead to frequent unnecessary computations. In [3], several alternate plans are pre-specified at the logical level, physical level, and the runtime level. Depending on the type of changes in the environment, alternative plans from these three stages are selected. While capable of adapting to several different events, many of the alternative pre-specified plans may not be used making the approach inefficient, and there is no guarantee of optimality of the resulting Web processes. In a somewhat different vein, Verma et al. [11] explore adaptation in Web processes in the presence of coordination constraints between different WSs. We do not consider such constraints here.
In [10], graph based techniques were used to evaluate the feasibility and correctness of changes at the process instance level. Muller et al. [8] propose a workflow adaptation strategy based on pre-defined event-condition-action rules that are triggered when a change in the evironment occurs. While the rules provide a good basis for performing contingency actions, they are limited in the fact that they cannot account for all possible actions and scenarios that may arise in complex workflows. Additionally, the above work does not address long term optimality of process adaptation. Doshi et al. [4] offers such a solution using a technique that manages the dynamism of Web process environments through Bayesian learning. The process model parameters are updated based on previous interactions with the individual Web services and the composition plan is regenerated using these updates. This method suffers from being slow in updating the parameters, and the approach may result in plan recomputations that do not bring about any change in the Web process.
Several characteristics of the service providers who participate in a Web process may change during the life-cycle of a process. For example, in a supply chain, the cost of using the preferred supplier's services may increase, and/or the probability with which the preferred supplier meets the orders may reduce. Not all updates of the parameters cause changes in the process composition. Furthermore, the change effected by the revised information may not be worth the cost of obtaining it. In light of these arguments, the VOC-based approach [5] provides a method that will suggest a query, only when the queried information is expected to be sufficiently valuable to obtain.
While the approach is applicable to any model based process
  composition technique, for the purpose of illustration, a
  decision-theoretic planning technique is utilized for composing
  Web processes [4].
  Decision-theoretic planners such as MDPs [9] model the process environment,
  
, using a sextuplet: 
The VOC formulation adopts a myopic approach to information revision, in which a single provider is queried at a time for new information. For example, this would translate to asking, say, only the preferred supplier for its current rates of order satisfaction, as opposed to both the preferred supplier and the other supplier, simultaneously. The revised information may change the probability with which the preferred supplier is known to satisfy the order, contained in the transition function.
Let 
  
 denote the
  expected cost of following the optimal policy, 
, from the state 
  when the revised transition function, 
  is used. Since the actual revised transition probability is not
  known unless we query the service provider, computing the VOC
  involves averaging over all possible values of the revised
  transition probability, using the current belief distributions
  over their values. These distributions may be provided by the
  service providers through pre-defined service-level agreements or
  they could be learned from previous interactions with the service
  providers. Let 
  
 be the
  expected cost of following the original policy, 
 from the state 
 in the
  context of the revised model parameter, 
. Note that the policy, 
, is optimal in the absence of any revised
  information. The expected value of change due to the revised
  transition probabilities is formulated as:
The probability 
 represents
  a revised probability of transition on performing a particular
  action, and 
  
  represents the belief over the transition probabilities. Notice
  that in order to calculate the VOC, we must compute the revised
  values, 
  
 and 
  
, for all
  possible 
 and average over
  their difference based on our distribution over 
. Computing 
  
, which
  represents the expected cost of following the policy 
 from state 
 is straightforward since it does not involve the
  optimization operation over all actions. However, the revised
  value function 
  
 is computed
  by solving the MDP which may become computationally expensive
  with large problems.
Analogous to the value of perfect information, VOC is guaranteed to be non-negative at each state of the Web process. For the proof see [5].
Since querying the model parameters and obtaining the revised information may be expensive, we must undertake the querying only if we expect it to pay off. In other words, we query for new information from a state of the Web process only if the VOC due to the revised information in that state is greater than the query cost. More formally, we query if:
In order to formulate and execute the Web process, we simply look up the current state of the Web process in the policy and execute the WS prescribed by the policy for that state. The response of the WS invocation determines the next state of the Web process. The composition of the Web process is adapted to fluctuations in the model parameters by interleaving the formulation with VOC computations. The algorithm for the adaptive Web process composition is shown in Fig. 1.
          
  | 
      
For each state encountered during the execution of the Web
  process, a service provider is queried for new information if the
  query is expected to bring about a change in the Web process that
  exceeds the query cost. For example, in the supply chain process,
  we select and query a supplier for its current rate of order
  satisfactions. Of all the suppliers, we select the one whose
  possible new rate of order satisfaction is expected to bring
  about the most change in the Web process, and this change exceeds
  the cost of querying that provider. In other words, we select the
  service provider associated with the WS invocation, 
, to possibly query for whom
  the VOC is maximum:
Calculating the VOC
 as shown in Eq.
  2 is computationally
  intensive. It involves iterating over all the service providers
  and computing the VOC for each. Because there could be many
  service providers participating in the Web process, a more
  selective approach is needed to obtain computational efficiency.
  We present one such method next.
In order to illustrate our approach we present two example scenarios:
MS XBox 360 Supply Chain Our first scenario is a simplified version of the supply chain employed by Microsoft (MS) for the production of its XBox 360 gaming console [7]. MS engages a variety of suppliers and contract manufacturers to deliver the components that are crucial to the production of the gaming console. Because MS outsources key manufacturing operations, it needs to retain tight control over those external processes to ensure that the suppliers and contract manufacturers meet service level agreements.
           
           | 
      
In Fig. 2, we focus on a simplified supply chain scenario in which MS chooses a contracted console manufacturer, resonsible for assembling the console, and a contracted graphics processing unit (GPU) manufacturer who is responsible for building the advanced GPU chips. We assume that the invocations will be carried out in a sequential manner, beginning with the GPU followed by the console. 2 We assume that each of the manufacturers has the option to order their components from three different suppliers. They may order from a preferred supplier with which they usually interact. The manufacturers may also order the parts from other suppliers or resort to the spot market. A costing analysis reveals that the least cost will be incurred if the order is satisfied by the preferred supplier. They will incur increasing costs as they try to fulfill the orders by procuring the console and GPU chips from another supplier and the spot market.
Clearly, MS and its manufacturers must choose from several candidate processes. For example, they may initially attempt to satisfy the order of GPU chips from the preferred supplier. If the preferred supplier is unable to satisfy the order, MS may resort to ordering parts from some other supplier. Another potential process may involve bypassing the preferred supplier, since MS strongly believes that the preferred supplier will not satisfy the order. It may then initiate a status check on some other supplier. These example processes reveal two important factors for selecting the optimal one. First, MS must accurately know the certainty with which the console and GPU chip orders will be satisfied by each of its supplier choices. Second, at each stage, rather than greedily selecting an action with the least cost, MS must select the action which is expected to be optimal over the long term.
Patient Transfer A hospital receives a patient who has complained of a particular ailment. The patient is first checked into the hospital and then seen by one of the hospital's physicians. He may, upon examination, decide to transfer the patient to a secondary care provider for specialist treatment. For this example, we assume that the hospital has a choice of four secondary care givers to select from with differing vacancy rates and costs of treatment, with the preferred one having the best vacancy rate and least cost (see Fig. 3).
Similar to our previous example, several candidate Web processes present themselves. For example, the physician may decide not to transfer the patient, instead opting for in-house treatment. However, if the physician concludes that specialist treatment is required, several factors weigh in toward selecting the secondary care giver. These include, the typical vacancy rates of the care givers, costs of treatment, and geographic proximity.
           
           | 
      
The process flows in both the supply chain and the patient transfer scenarios hinge on the rates of order satisfaction and vacancy rates, respectively. If the order satisfaction rate of the preferred supplier or the vacancy rate of the preferred secondary caregiver drops, the processes need to be adapted to remain cost-effective.
As we mentioned previously, in order to select a service provider for querying for revised information, the previous approach [5] required iterating over all the WSs and selecting the one which results in the largest VOC. For large Web processes, there could be several participating WSs, making the process of selection computationally intensive.
To address this challenge, we use the insight that service
  providers are often able to guarantee that their reliability
  rates and other quality-of-service parameters will remain fixed
  for some time, 
, after which they
  may vary. WS providers may define 
 in a WS-Agreement document [1] as we show later.
Given a way to keep track of guarantees of which WSs have expired, we may compute the VOC for only those service providers whose guarantees have expired and select among them. This is because a possible query to the others will return back parameter values that are unchanged from those used in formulating the current Web process. Thus such queries will cause no adaptation in the Web process, and may be safely ignored.
In a departure from [5], we assume that, in
  addition to providing their current reliability rates, the
  service providers also give the duration of time for which the
  current reliability rates are guaranteed to remain unchanged. We
  call this duration as the expiration time of the revised
  information. Let 
 represent the
  action of invoking the WS, 
, 
  
  
 be the current set of
  actions representing the invocations of WSs whose guarantees have
  expired, then we define the maximum VOC, VOC
  
, as:
The challenge then is to correctly maintain the set, 
  
, during the lifetime
  of the Web process; we show one such way of doing this next.
In Fig. 4, we
  show the algorithm for generating, executing, and adapting the
  Web process to a volatile environment using VOC
  
. The algorithm
  takes as input the initial state of the process, and a policy,
  
, obtained by solving the
  process model (Section 3), which prescribes which WS
  to invoke from each state of the process.
As we mentioned before, we associate with each WS
 participating in the process,
  an expiration time, 
  
, during
  which the parameters of the WS such as its reliability are
  guaranteed to be fixed. We begin by checking which of the WSs
  have expired guarantees (lines 5-10) and updating the set, 
  
  
, with those that have
  expired. The next step is to compute VOC
  
 (Eq. 3), which will suggest a service
  provider among the expired set, 
  
, to query for revised
  information that is expected to bring about most change in the
  Web process.
Notice that a WS might expire while computing VOC
  
. We must anticipate
  this and add those services in advance to the set, 
  
, so that they are
  taken under consideration while computing VOC
  
. In line 8, the
  algorithm invokes the procedure in Fig. 5, which finds out which WSs among
  the unexpired ones (denoted by 
  
) may expire
  while computing VOC
  
 and adds these to
  the set 
  
. We note that if a WS
  is added to 
  
, the time taken to
  compute VOC
  
 may increase,
  during which other WSs may expire. We consider this by
  recursively invoking the procedure until no more WSs are added to
  the set, 
  
. The time taken to
  compute VOC
  
, 
  
, needs to
  be anticipated; if 
  
 is the time taken to
  compute the VOC (Eq. 1), then 
  
  
.
  Notice that 
  
 is fixed and may be
  obtained a'priori.
If VOC
  
 exceeds the cost of
  querying the service provider, then we query the provider for the
  new reliability rates, which form the new 
 in the process model. We also add the time taken to
  perform the VOC
  
 calculations to the
  cumulative time counter associated with each WS (lines 11-15). On
  querying, in addition to obtaining the possibly revised
  information, we also obtain the new expiration times for the
  information. Thus, the counter for the WS that is queried is
  reset.
We observe that querying for information is not a constant
  time step operation, but must take into account the time taken
  for the request to reach the provider, the provider's
  information-providing WS to complete its computations, and for
  the the response to arrive back at the process. We denote the
  total time consumed in querying as 
, which is depicted in Fig. 6.
The revised information is integrated into the process model
  and a new policy is recomputed to maintain optimality of the Web
  process. However, recomputation of the policy is not always
  necessary, and runtime changes could be made to the process.
  Here, the time counters must be updated again to account for the
  time taken to recalculate the policy. Finally, the queried WS is
  removed from 
  
 (lines 21-26). We
  observe that the times, 
  and 
 could be calculated in
  real-time (online) using timestamps before and after the
  calcuations.
Of course, if the query cost exceeds 
  
, then we ignore
  the previously mentioned steps, and simply invoke the WS that the
  original policy recommends. Obtaining a response from the invoked
  WS may not be a constant time operation but may depend on
  external factors, as shown in Fig. 7. Let 
  
 be the time elapsed,
  then this time is added to all the cumulative time counters
  (lines 28-33).
We first show that given an identical input, adaptation using
  VOC
  
 results in the same
  set of Web processes as compared to adaptation using
  VOC
 [5].
    We consider two cases: 
 If
    the WS with the maximum VOC selected for querying has expired, 
    
    
, then
    VOC
 = VOC
    
 for every state,
    and the Web process will be adapted identically to when VOC
    
    
 is used. On the
    other hand, 
 if the WS
    associated with the maximum VOC has not expired, then since the
    revised information is guaranteed to be unchanged,
    VOC
 = 0, and the Web process also
    remains unchanged. Thus, for both the cases, the resulting Web
    process will be identical to the one generated when VOC
    
    
 is used.
    ![]()
We derive the worst case complexity of the adaptation next.
  While the worst case complexity is similar to the complexity of
  adaptation using VOC
, on average we
  expect significant computational gains from considering
  expiration times. We demonstrate these gains experimentally in
  the next section. A theoretical analysis of the average case
  complexity of this approach is part of our future work.
Within the body of the loop we focus on three operations in
    particular. First, lines 5-10 update the set of expired
    services, 
    
. Here, a loop
    iterates over all WSs (ie,
) effectively having an execution time in
    the order of 
    
.
    However, each pass of the loop calls the AddExpiredServices
    procedure (Fig 5), which
    terminates when no more services are added to 
    
. In the worst case,
    this procedure will add one service to 
    
, and then 
    
 will
    increase such that one more service will expire, in which case
    another service will be added to 
    
; this process is
    repeated until all the services are added. We may then write
    the following recurrence for the runtime of this procedure:
Thus the total runtime complexity is:
    
    We first outline our SOA in which we wrap the VOC
  
 computations in
  WSDL based internal Web services, followed by our experimental
  results on the performance of the adaptive Web process as
  compared to the previous approach.
The algorithm described in Fig. 4 is implemented as a
  WS-BPEL [6] flow while all WSs
  were implemented using WSDL [12].
  To the WS-BPEL flow, we give the optimal policy, 
, and the start state as input. Our experiments
  utilized IBM's BPWS4J engine for executing the BPEL process and
  AXIS 2.0 as the container for the WSs. We show our SOA in Fig.
  8.
Within our SOA, we provide internal WSs for solving the MDP
  model of the Web process and generating the policy, and computing
  the VOC
  
. If the VOC
  
  
 exceeds the cost
  of querying a particular service provider (this cost is also
  provided as an input), the WS-BPEL flow invokes a special WS
  whose function is to query the service provider's
  information-providing WSs for revised information and the new
  expiration times. This information is used to formulate and solve
  a new MDP and the output policy is fed back to the WS-BPEL flow.
  This policy is used by the WS-BPEL flow to invoke the prescribed
  external WS and the response is used to formulate the next state
  of the process. This procedure continues until the goal state is
  reached.
The objective of our experimental evaluation is three-fold:
  
 We show the utility of
  adapting to a (simulated) volatile environment by comparing
  against Web processes that do not adapt and use a fixed policy
  during execution; 
 By being
  intelligent in selecting which service provider to query, we show
  that adaption using VOC
  
 results in Web
  processes that incur less average costs as compared to an
  approach that randomly selects a service provider to query at
  randomly selected states of the process; and 
 the average execution time of the Web process
  adapted using VOC
  
 is less than when
  the process is adapated using VOC
  [5], and varies
  intuitively as the expiration times vary.
        ![]()  | 
      
          
 
  | 
      
We utilized the MS XBox supply chain and the clinical patient
  transfer scenarios (Section 4) for our evaluations. For the
  supply chain example, we queried the suppliers for their current
  percentage of order satisfaction while in the patient transfer
  pathway, we queried the secondary caregivers for their current
  vacancy rates.3 In addition to the revised
  information about their services, the providers also guarantee a
  duration over which the WS parameter values will remain fixed.
  4 These distributions may be provided
  by the service providers using service-level agreements drawn up
  using, say, the WS-Agreement specification [1]. Figure 9 shows a part of the agreement
  between MS and the preferred GPU supplier in the XBox scenario.
  
 is defined within the 
  
  
 subtag of
  the 
 tag. Here, the
  entire agreement will expire on January 27, 2007. Further in the
  document, the 
  
  subtag of the 
 tag
  defines the provider's rate of GPU order satisfaction
  (probability of 0.4). Thus, MS and the contracted GPU manager
  have agreed that any order of GPUs from MS will be satisfied 40
  percent of the time until the agreement is voided on January 27,
  2007.
For the service providers when their information has expired,
  we model the manufacturer and primary caregiver's beliefs over
  their possible parameter values, (
  
)
  in Eq. 1) using beta
  density functions. Other density functions such as Gaussians or
  polynomials may also be used. Fig. 10
 shows
  the beta densities that represent Microsoft's distribution over
  the rate of order satisfaction by the GPU contract manufacturer
  ie. 
(
  
 
  
  
 
 
  
, 
  ![]()
  
  
), and analogously for
  the other suppliers (the Spot Market is assumed to always be
  available at a rate of 100 percent). Means of the densities
  reveal that the preferred suppliers of both the GPUs and consoles
  tend to be less reliable in satisfying orders than other
  suppliers. Fig. 10
 shows the density plots over the probability of a
  vacancy with the preferred and other secondary caregivers. For
  those service providers whose revised information has not
  expired, the manufacturer and caregiver's beliefs could be seen
  as Dirac-delta functions, with the non-zero value fixed at the
  probability, 
, that was
  provided at the time of query. Thus, for this case, the 
  
 at any state of the
  process. We emphasize that these densities are marginalizations
  of the more complex plots that would account for all the factors
  that may influence a supplier's ability to satisfy an order, such
  as the time that an order is placed and quantity of the
  order.
| 
           
            MS XBox Supply Chain 
          
 
 Patient Transfer Clinical Pathway 
 
  | 
      
In order to perform the evaluations, we simulated a
  volatile business environment for each of the two problem
  domains. For the supply chain, the rates of order satisfaction
  for the preferred and other suppliers were assumed to vary
  according to the density plots in Fig. 10. The expiration times were upper
  bound to a large time interval and randomly selected within the
  bound. The rates of order satisfaction remained fixed until the
  corresponding expiration times elapsed, after which, on query,
  new expiration times were randomly selected. Other parameters of
  the environment such as the WS invocation costs, 
, and 
  
, are as given in the
  Table 1. The environment
  for the patient transfer problem was simulated analogously (see
  Table 2).
          
  | 
      
In Figs. 11
 and 
, we compare
  three strategies of adaptation with respect to the average cost
  incurred from the execution of the Web process, as the cost of
  querying the service providers is increased. These strategies
  include no adaptation and keeping the policy fixed, randomly
  selecting a single service provider at randomly selected states
  of the process, and adapting the Web process using VOC
  
. Our methodology
  consisted of running 100 independent instances of each process
  within the simulated volatile environment and plotting the
  average cost of executing the process for different query costs.
  We ensured that the processes using each of the three strategies
  received similar responses from the service providers, and the
  expiration times were kept fixed.
We note that these results are analogous to those reported in
  [5] for
  VOC
 and they show that the Web
  process incurs lower average costs when adapted using VOC
  
  
, thereby
  establishing the utility of sophisticated adaptation in volatile
  environments. In particular, as we increase the cost of querying,
  our VOC
  
 based approach
  performs less queries and adapts the Web process less. For large
  query costs, its performance approaches that of a Web process
  with no adaptation because costly queries for revised information
  are not worth the possible change in the cost of the process due
  to adaptation. For smaller query costs, a VOC based approach will
  query frequently, though not as much as a strategy that always
  queries a random provider.
In Figs. 11
 and 
, we compare the
  runtimes taken in generating and executing the Web process. We
  compare the execution time of a process without any adaptation
  (see [4] for the
  algorithm), with the execution time of a process adapted using
  VOC
 [5], and the execution time
  of a process adapted using VOC
  
 (Fig. 4). As we increase the
  expiration times associated with the revised information obtained
  from the providers, the process execution time when adapted using
  VOC
  
 decreases.
  Notice that it is upper bounded by the execution times of a
  process adapted using VOC
 and
  lower bounded by the runtimes of a process with no adaptation.
  This is intuitive because VOC
 always
  involves considering all participating WSs for querying,
  while no such computations are carried out in a process that does
  not adapt. Both these execution times are invariant with respect
  to the expiration times. Our results demonstrate the inverse
  relationship between expiration times and computational effort
  expended on adaptation.
Our experiments provide two conclusions: First, by augmenting
  Web process composition with VOC based calculations, significant
  information changes in volatile environments are considered and
  used to make better decisions about which services to invoke
  next. The comparison of VOC
  
 and static policy
  implementations illustrate that the overall average cost of the
  Web process when adapted is significantly less than utilizing a
  non-changing policy. Second, we demonstrated that if service
  providers are able to provide longer guarantees on their service
  reliability, less computational effort needs to be spent on
  adapting the Web processes. This substantiates the intuition that
  in less volatile environments as formalized by higher expiration
  times, less adaptation is required to keep the Web process
  optimal.
Business environments seldom remain unchanged over the lifetime of a Web process. While the environment may change in several ways, we considered changes in the quality-of-service parameters such as rates of order satisfaction in this paper. Prevalent approaches to WS composition utilize a pre-specified model of the process environment to formulate the Web process. However, in a dynamic process environment the model may change over time. We presented a method that intelligently adapts a Web process to changes in parameters of service providers, thereby incurring less costs. While this approach is cost-effective, it may get computationally intensive. Improving on previous work, we showed how service parameter guarantees in the form of expiration times may be used to reduce the computational burden of adaptation. Using two disparate problem domains, we empirically demonstrated the speedups obtained in executing and adapting a Web process to changes in service parameters when using a method that is cognizant of expiration times in comparison to an adaptation strategy that ignores them.
Our future work involves investigating ways in which the volatility of a process environment may be measured and formalised. A formal model of the volatility of a process environment will enable the development of more efficient approaches for adaptation.
[1] A. Andrieux, K. Czajkowski, A. Dan, K. Keahey, H. Ludwig,
    T. Nakata, J. Pruyne, J. Rofrano, S. Tuecke, and M. Xu.
    WS-Agreement Specification, 2005.
[2] T.-C. Au, U. Kuter, and D. S. Nau.
    Web service composition with volatile information.
    In International Semantic Web Conference, pages 52-66,
    2005. 
[3]G. Chafle, K. Dasgupta, A. Kumar, S. Mittal, and B.
    Srivastava.
    Adaptation in web service composition and execution.
    In International Conference on Web Services (ICWS),
    Industry Track, 2006.
[4]P. Doshi, R. Goodwin, R. Akkiraju, and K. Verma.
    Dynamic workflow composition using markov decision
    processes.
    Journal of Web Services Research (JWSR), 2(1):1-17,
    2005.
[5]J. Harney and P. Doshi.
    Adaptive web processes using value of changed
    information.
    In International Conference on Service-Oriented Computing
    (ICSOC), pages 179-190, 2006.
[6] IBM.
    Business Process Execution Language for Web Services
    version 1.1, 2005.
[7] Enabling an adaptable, aligned, and agile supply chain with
    biztalk server and rosettanet accelerator.
    Technical Report http:// www.microsoft.com / technet /
    itshowcase /content / scmbiztalktcs.mspx, 2005.
[8] R. Muller, U. Greiner, and E. Rahm.
    Agentwork: a workflow system supporting rule-based workflow
    adaptation.
    Journal of Data and Knowledge Engineering.,
    51(2):223-256, 2004.
[9] M. L. Puterman.
    Markov Decision Processes.
    John Wiley & Sons, NY, 1994.
[10] M. Reichert and P. Dadam.
    Adeptflex-supporting dynamic changes of workflows without
    losing control.
    Journal of Intelligent Information Systems,
    10(2):93-17, 1998.
[11] K. Verma, P. Doshi, K. Gomadam, J. Miller, and A.
    Sheth.
    Optimal adaptation in web processes with coordination
    constraints.
    In International Conference on Web Services (ICWS),
    2006.
[12] Web Services Description Language (WSDL) 1.1, 2001.
[13] D. Wu, B. Parsia, E. Sirin, J. Hendler, and D. Nau.
    Automating daml-s web services composition using shop2.
    In International Semantic Web Conference, 2003.