E-service/process composition through multi-agent ... - CiteSeerX

5 downloads 1140 Views 410KB Size Report
service scheduling, i.e. dealing with the assignment of services to ..... tion paid to this field in terms of constraint driven web service composition (e.g. [4] and [2]) ...
International Conference on Business Process Management (BPM), LNCS 4102, Vienna, Austria, 2006: 274-289 (C) Springer 2006

E-Service/Process Composition through Multi-Agent Constraint Management Minhong Wang1, William K. Cheung1, Jiming Liu2, Xiao-Feng Xie1, Zongwei Luo3 1

Department of Computer Science, Hong Kong Baptist University, Hong Kong {mhwang, william, xfxie}@comp.hkbu.edu.hk 2 School of Computer Science, University of Windsor, Canada [email protected] 3 E-Business Technology Institute, The University of Hong Kong, Hong Kong [email protected]

Topics: Service-Oriented Architecture and Process Management, Processes and Service Composition

Abstract. E-service/process composition requires allocating suitable resources to a set of services that constitute a composite service/process. The problem is complicated due to undetermined constraints of each component service and unpredictable solutions by service providers. It needs the ability to rapidly identify the suitable solutions or resources as well as effectively to coordinate them under various constraints. Thus, an agent-mediated coordination framework for e-service/process composition is proposed. Each agent works as a broker for each service type, posting service request, searching suitable solutions and refining service constraints for achieving coherence among solutions to each service. Based on the framework, a prototype of multi-agent supported e-supply chain composition is implemented. The experimental results indicate the significant effectiveness of this approach.

1 Introduction A composite service is a set of services together with the control and data flow among the services, which is similar to a workflow/process [1, 8]. Service composition is a complex task that contains two major stages, planning and scheduling. In the planning stage, a plan of a composite service is generated or a process of the service is determined to achieve the goal; in the scheduling stage, real services are searched, selected and bound to fulfill the plan [16]. Although the tasks of planning and scheduling seem similar, they are different. Planning tackles the problem of finding plans to achieve goals; scheduling deals with the exact allocation of resources to activities over time precedence, duration, capacity, and incompatibility. To date, the methods of automated service composition have been studied with growing interests, particularly focusing on the planning stage about plan generation in AI approaches or about process modeling in workflow approaches [26, 30]. While e-service/process composition

is similar to traditional workflow/process composition, it is more complex as a result of a huge web service repository to be searched, scheduled and coordinated, especially in a real-time fashion [3]. Therefore, consideration of the complexity, such as dynamic availability of web services and large number of alternative combination of service choices is essential to e-service/process composition [5]. In relation to two stages of service composition -- planning and scheduling, this work will particularly focus on service scheduling, i.e. dealing with the assignment of services to appropriate service providers where a set of constraints has to be regarded. After a composite service is decomposed into a set of component services with a plan generated, real-time selection, coordination and aggregation of partial solutions to component services is crucial for building a global solution to the composite service. Partial solutions to sub-problems may not have a complete view of the global solution, and very often generate incoherent and contradictory hypotheses and actions [24]. If a service is scheduled to start before its preceding service is completed, it may fail for lack of prerequisite resources generated from the preceding service. The complexity of e-service composition is mainly from the uncertainty in determining the schedules or constraints (referring to start time, execution duration, cost, destination, etc.) of component services, and the unpredictability (referring to availability, capacity, price, location, etc.) of partial solutions to component services by service providers. As a result, the complexity increases in respect that: 1) there maybe no feasible global solution achieved based on tentative schedules; 2) the achievement of a global solution may need a series of adjustments on schedules or constraints of component services. Given this observation, a crucial problem of e-service/process composition is to find a way to achieve coordination and coherence among decisions of component services in a real-time and adaptive fashion [24]. To this end, this paper considers an agent mediated approach to e-service/process composition, specifically to service scheduling. Automated coordination by software agents is a key enabling technology for e-commerce [11]. Considering the large-scale and dynamic settings in web-based environments, business services can be delegated to a number of autonomous problem solving agents, which are enabled to manage complex activities based on continuous awareness of situations and real-time decisions on activities [23]. Agents can be viewed as entities that act flexibly in modern computing environment by coping with various constraints [12]. It offers a new perspective of autonomous activity, interactivity, reactivity and proactivity as a result of the attempt to handle local and global constraints [25]. To deal with the uncertainties and dynamics in e-service/process composition, we introduce a dynamic constraint-based and agent mediated coordination framework for e-service/process composition. In this framework, coordination among services is modeled as a distributed constraint optimization problem (DisCOP) in which solutions and constraints are distributed into a number of component services and to be solved by a group of agents. Each agent works as a broker of each service type, posting tentative service request or constraints and identifying suitable solutions from service providers. Based on updated local information and information inferred from communication with others, each agent may refine its constraints for achieving compatibility with other service solutions. The remainder of the paper is organized as follows. We first outline the constraint problem to be solved in e-service/process composition in Section 2. Section 3 presents

the multi-agent framework for e-service/process composition, and elaborates the mechanism of agent-mediated constraint management. The effectiveness of the approach is discussed by simulated experiments in Section 4. The related work in terms of web service composition, constraint programming, and workflow & supply chain scheduling is introduced in Section 5. Finally, we conclude and point to future work in Section 6.

2 Constrain Management in E-Service/Process Composition To enable e-service/process composition, research efforts have been put on improving workflow technologies for supporting cross-enterprise workflows. While most work has focused on the workflow modeling, constraint management is crucial in designing and managing processes for allocating and scheduling activities/services to appropriate resources. Time/temporal constraints were addressed as a critical component early in workflow systems in [6, 13, 29, 31], and resource constraints (e.g. people, machine, software) were investigated lately in [9, 20]. Most of the work has concentrated on scheduling and run-time checking of workflows, especially in the context where the requirements of each activity/service are determined and all available resources are known in advance. As mentioned, e-service/process composition is more complex than traditional process composition by virtue of undetermined constraints of component services and unpredictable solutions provided by service providers. Furthermore, in addition to time and resource constraints, other type of constraints including cost, location, etc. should be taken into account as well. To this end, e-service composition is mapped as an agent-based DisCOP as follows. A DisCOP consists of a set of variables, each assigned to an agent, where the values of the variables are taken from finite and discrete domains. Finding a solution to a DisCOP requires that all agents find the values for their variables that satisfy not only their own constraints but also interagent constraints [27, 10]. In this work, component services are mapped to variables and solutions to component services are mapped to values. In web service composition, a composite service consists of: (1) A finite set of component services involved in the composite service S, S = {S1, S2, …, Sn }. (2) A domain set, containing a finite domain of solutions to each component service: D = {D1, D2, …, Dn }, ∀i ∈ [1, n], Si ∈ Di. (3) A constraint set, C = {C(RC1), …, C(RCi), …, C(RCI)}, where each RCi is an ordered subset of the services, and each constraint C(RCi) is a set of tuples indicating the mutually consistent solutions to the component services in RCi. (4) An objective set, F = {F(RF1), …, F(RFj), …, F(RFJ)}, where each RFj is an ordered subset of the services, and each objective function F(RFj) indicates the objective value to be minimized for the mutually consistent solutions to the component services in RFj. The feasible solution, L, for the composite service is an assignment to all services such that the assignment satisfies all given constraints. Specially,

L = < V1, V2, …, Vn > L ∈ D1×D2×…×Dn where Vi ∈ Di is a specified domain member of Di, so called as a partial solution. If there is no objective function, the constrained optimization problem is degenerated into the constrained satisfaction problem, where any feasible solution is a solution to problem. If there is only one objective function, the feasible solution with minimized objective value is considered as the solution. If there are multiple objective functions, all the solutions in the Pareto set are recognized. For each component service, its domain is contributed by corresponding service providers. Unlike traditional situation, e-service is more complex in that the domain members in each domain Di are unpredictable in advance and varied throughout the composition process. It is mainly due to two reasons: a) a service provider may be reluctant to report its all solutions for commercial privacy; and b) to list all possible partial solutions in advance may make the solving intractable. Hence, each component service may have to maintain certain service request in order to collect required partial solutions from service providers. With regard to service request, the issues of time, cost and location are concerned as important attributes of quality of service [16]. Normally, a composite service should be completed before the due date and delivered to the location required by the customer; the feasible solution with the lowest cost will be accepted. For each component service, it should be scheduled to start after its preceding service is completed, and to end before its succeeding service starts. Moreover, when the customer and component service providers are distributed in different locations, one or more delivery services can be embedded in the composite service. Furthermore, the cost issue in the service composition is dealt with as a constraint optimization problem to identify the best composite solution of the lowest cost. To manage these constraints, we take the local time local location as the issues to be constrained, and the global cost as the issue to be optimized. Hence each domain member has multiply feature values to answer for different issues, with each constraint or objective applied on certain feature value. Given these observations, the main problem discussed in this work is to find an appropriate solution from each domain that can be integrated to form a composite service satisfying the above constraints. The difficulty is that the available solutions to each service type are unknown in advance. To find them, we need send service requests to appropriate service providers. However, we only have the constraints of the composite service instead of the constraints of the component services. To solve the problem, we may first estimate the constraints of each component service, and then refine them based on real-time responses from service providers and send out again for achieving more compatible solutions. Given this, the main work of this study is to develop an agent mediated coordination framework for web service composition to achieve coordination and coherence among decisions of component services, through a series of adjustments on constraints that are individually made but interact with each other.

3 Agent-Based E-Service/Process Composition In this section, we outline the framework of e-service/process composition through multi-agent constraint management by taking e-Supply Chain Management (e-SCM) as an example. A supply chain is a network of suppliers, manufactories, distribution centers, and retailers, etc. Currently, supply chains are based on tight and long-term integration of partners. However, such kind of close and static relationship among partners makes the integration cost high and makes it impractical to dynamically integrate partners in an on-demand manner [22]. The advent of web-based technologies will allow low cost and real-time integration of supply chain partners. Compared with traditional supply chains, supply chains established via e-service/process composition are characterized by large number of service resources to be selected and aggregated. The ability to rapidly identify suitable resources and effectively to coordinate them across the chain is a key to e-supply chain success [18].

3.1 Multi-Agent Framework

Fig. 1. An agent-mediated service composition framework

As shown in Figure 1, a society of software agents, including Service Dispatcher, Service Broker, and Service Provider is proposed. It is corresponding to a composite service depicted in Figure 2, where a product request is fulfilled through a set of services including procuring components, preprocessing components, assembling com-

ponents into products, postprocessing products1, and delivering components or products when and the customer and service providers are distributed in different places. Once receiving a request (e.g. 1000 products to XYZ Plaza before 25-02-2006) from a customer, the Service Dispatcher will generate a service plan/process with tentative constraints for each component service. Accordingly, a set of Service Brokers are deployed, each for a specific component service. To decrease the complexity of a composite process caused by adding deliver services on demand, we treated delivery as a type of standard service that could be provided by a predetermined global delivery company, e.g. DHL. Therefore, we will not assign a Service Broker for this service type. Instead, it can be bound with other component services when necessary (refer to more details in Section 3.2.2).

Supply Service

End

OR

Preprocess Service

Postprocess Service

Delivery Service

OR

OR

Assembly Service

Delivery Service

Preprocess Service

Delivery Service

Delivery Service

Supply Service Start

OR

Assembly Service

Postprocess Service

Fig.2. A composite service process

After receiving service requests from the Service Dispatcher, Service Brokers will send them to Service Providers for collecting suitable solutions to each service. However, the available solutions may be not compatible with each other to form a global solution. A Service Broker need coordinate with its neighbouring brokers to refining the constraints for achieving new bids that could be involved in a global solution. For easy understanding, we ignore the situations that there are more than one preceding service or succeeding service of a component service (i.e. a process with branches), which will be discussed in a forthcoming paper.

3.2 Agent-Mediated Constraint Management E-service/process composition requires a set of agents to allocate suitable resources/web services to a set of services. We define the ith service to be performed in a composite service, as follows: Si = [Su, Sv, Rqi] where Su denotes the preceding service of Si; Sv denotes the succeeding service of Si; Rqi denotes the request of Si. Rqi is defined as follows: Rqi = [sti, eti, locai, desti] It consists of four parts: sti denotes the start time scheduled for Si; eti denotes the end time expected for Si; locai denotes the location of Si to be performed; desti denotes the destination of Si.

1 This work focuses on the discussion of service scheduling in service composition, therefore how to generate or predefine a plan or flow for a composite service is beyond the scope of this work.

In this work, each Service Broker is designed as a dynamic constraint-based agent; they coordinate with each other in a constraint-triggered way. The detail how they interact with each other to achieve coherence among decisions of component services is discussed as follows. 3.2.1 Initialize Service Requests The value of Rq is initially estimated by the Service Dispatcher, and can be refined later by Service Brokers. While the time constraints of each component service are undetermined, they are initially estimated by the Service Dispatcher based on the customer’s request as well as the history information of the component services, and then tuned by Service Brokers throughout the composition process. The estimation is based on the average percentage of time spent on the services. For example, a composite service is assumed to start on July 1, and to be completed by July 20. It is composed of three services, S1, S2 and S3, respectively taking 25%, 50% and 25% of the time on average. Accordingly, S2 can be scheduled to start on July 6 and to end by July 15. Moreover, the start time of the first service and the end time of the last service are fixed, as required by the customer. Similarly, the locations and destinations of component services are also initially specified by the Service Dispatcher, and refined later by Service Brokers, with the destination of the final service to be fixed. 3.2.2 Collect Solutions from Service Providers Each Service Broker then forwards service request to Service Providers for collecting bids for each service, where a bid is defined as follows. Bidij = [b_idij, s_tij, e_tij, cij, locij, desij] Bidij, the jth bid sent to Service Broker i for service i contains five parts: b_idij denotes the ID number of the bid, which is associated with the private details of a bid; s_tij denotes the start time scheduled for the service; e_tij denotes the end time of the service; cij denotes the cost claimed by the provider; locij denotes the location of the service; desij denotes the destination of the service. Each provider may generate a bid satisfying the request at the lowest cost. In case of no bid generated due to the time constraints, the provider may relax the constraints as less as possible until a bid generates. If the provider cannot provide the service reaching the destination required, a standard delivery service, e.g. DHL could be bound to the service with delivery cost and delivery time added. Besides, for different service type, the request constitution may be different. For example, while the end time is used for specifying the available time of a material supply service, the start time of such type of service is not much meaningful and will not be used in the specification. 3.2.3 Filter out Dominated Solutions For all bids received from service providers, the Service Broker will filter out dominated bids before posting them as candidate solutions. A newly received bid, Bidiβ, i.e. bid β for service i, is identified as a dominated bid if it is worse than an existing candidate solution Bidij by satisfying the following condition. ciβ ≥ cij AND s_tiβ ≤ s_tij AND e_tiβ ≥ e_tij AND lociβ = locij AND desiβ = desij

On the other hand, any existing candidate solution Bidij will be filtered out if it is dominated by a new bid Bidiβ by satisfying the following condition. ciβ < cij AND s_tiβ ≥ s_tij AND e_tiβ ≤ e_tij AND lociβ = locij AND desiβ = desij After a bid is removed as a dominated bid, its connections with other bids are also removed. By filtering out dominated solutions, the number of partial solutions, i.e. domain members can be controlled in rather reasonable scale. 3.2.4 Identify Compatible Solutions Each Service Broker will report its newly posted bids to its preceding and succeeding Service Broker, so that each broker may identify its solutions that are compatible with its neighbours. We denote the preceding and succeeding service of service i as service u and service v respectively, and the bid for service i, service u, service v as Bidiβ, Biduα, Bidvγ respectively. After posting Bidiβ, the Service Broker i will connect it with Biduα, an existing bid of its preceding broker if the two bids are compatible with each other by satisfying the following condition. s_tiβ > e_tuα AND lociβ = desuα The Service Broker will also link Bidiβ with Bidvγ, an existing bid of its preceding broker if the two bids are compatible by satisfying the following condition. e_tiβ < s_tvγ AND desiβ = locvγ 3.2.5 Identify Promising Solutions

Fig. 3. Solutions to component services and their connectivity

In service composition, each Service Broker may utilize its own information and limited information from its neighbours for achieving coherence among services. To achieve this, a Service Broker need identify the promising solutions of its preceding and succeeding service, based on which it can refine the constraints of its own service to seek new bids that are compatible with the promising solutions of the neighbours. A solution to a component service is more promising to be involved in a global solution if it connects with more existing solutions to its preceding or succeeding service, as

well as leaves more free time to its preceding or succeeding service. As an example in Fig. 3, each bid is posted with its start time, end time, and mutual connections. Bidb5 is identified as the most promising preceding solution from the viewpoint of Sc. It is because Bidb5 has higher succeeding connectivity with Sa as well as leaves more time to Sc than other bids of Sb. On the other hand, Bidb5 is also identified as the most promising succeeding solution from the viewpoint of Sa, since Bidb5 has higher succeeding connectivity with Sc as well as leaves more free time for Sa that other bids of Sb. In this way, each Service Broker may identify a promising preceding solution among all the solutions of its preceding service, and a promising succeeding solution from all the solutions of its succeeding neighbour. The details of how to identify a promising solution are defined as follows. The preceding promising value (Pre_prom) of Bidij can be measured by the following function. Pre_prom (Bidij) = wp_conn * Pre_conn (Bidij) + wp_tf * Pre_tf (Bidij) where Pre_conn (Bidij) denotes the function to get the connectivity value of Bidij to the preceding service Su; Pre_tf (Bidij) denotes the function to get the value of time freedom left for the succeeding service Sv by Bidij; wp_conn denotes the weight of Pre_conn; wp_tf denotes the weight of Pre_tf. Pre_conn (Bidij) = (preij – MINPREi) / (MAXPREi – MINPREi) where preij denotes the number of bids of Su that connect with Bidij; MAXPREi denotes the maximum value of preij for ∀ j; MINPREi denotes the minimum value of preij for ∀ j. Pre_tf (Bidij) = (MAXETi – e_tij) / (MAXETi – MINETi) where e_tij denotes the end time of Bidij; MAXETi denotes the maximum value of e_tij for ∀ j; MINETi denotes the minimum value of e_tij for ∀ j. Similarly, the succeeding promising value (Suc_prom) of Bidij can be measured by the following function. Suc_prom (Bidij) = ws_conn * Suc_conn (Bidij) + ws_tf * Suc_tf (Bidij) where Suc_conn (Bidij) denotes the function to get the connectivity value of Bidij to the succeeding service Sv; Suc_tf (Bidij) denotes the function to get the value of time freedom left for the preceding service Su by Bidij; ws_conn denotes the weight of Suc_conn; ws_tf denotes the weight of Suc_tf. Suc_conn (Bidij) = (sucij – MINSUCi) / (MAXSUCi – MINSUCi) where sucij denotes the number of bids of Sv that connect with Bidij; MAXSUCi denotes the maximum value of sucij for ∀ j; MINSUCi denotes the minimum value of sucij for ∀ j. Suc_tf (Bidij) = (MAXSTi – s_tij ) / (MAXSTi – MINSTi ) where s_tij denotes the start time of Bidij; MAXSTi denotes the maximum value of s_tij for ∀ j; MINSTi denotes the minimum value of s_tij for ∀ j. Based on the promising value, a promising bid can be selected using different strategies, such as random selection strategy, elitist strategy, tournament selection strategy, etc. The random selection strategy chooses a bid at random. The elitist strategy selects the best bid, i.e. the bid with the largest promising value. Tournament selection is one of many methods of selection in genetic algorithms which runs a "tournament" among a few individuals chosen at random from the

population and selects the winner (the one with the best fitness) for crossover. Selection pressure can be easily adjusted by changing the tournament size. If the tournament size is higher, weak individuals have a smaller chance to be selected. Tournament selection is equivalent to random selection when the tournament size is 1, and equivalent to elitist strategy when the tournament size is the population size. As shown in Fig. 3, based on the information from Sb and Sd, the Service Broker of Sc using an elitist strategy may choose Bidb5 as the most promising preceding solution, and Bidd2 as the most promising succeeding solution. Accordingly, a new coming bid of Sc would be more probably involved in a global solution if it could connect with Bidb5 and Bidd2. 3.2.6 Refine Constraints towards a Global Solution Based on its promising preceding solution Biduα and promising succeeding solution Bidvγ, the Service Broker of Si may adjust its service constraints as follows. Rqi = [sti, eti, locai, desti] where sti = e_tuα + 1; eti = s_tvγ – 1; locai = desuα; desti = locavγ In this way, Service Brokers may achieve coordination and coherence among decisions of component services through a series of adjustments on constraints that are individually made but interact with each other.

Fig. 4. A flow chart of agent-mediated e-service composition

Furthermore, Service Brokers may communicate for figuring out a global solution at regular intervals. One or more feasible global solution could be generated, and the one of the lowest cost will be reported to the Service Dispatcher as a bid for the customer. In sum, the main activities involved in agent-mediated e-service composition are depicted as a flow chart in Fig. 4.

4 Experiments A number of experiments have been run to evaluate the performance of the proposed approach. A service network is randomly initialized by varying the distribution of price, stock, deliverable time, and location of the supply service providers, as well as varying the distribution of price, overall load, available time periods, and location of the providers for production services such as preprocess, assembly and postprocess. Furthermore, each supply service provider may have more than one service option associated with different price, stock and deliverable time, i.e. the earlier deliverable time the higher price. For a supply request, a supplier may generate a bid based on a pack of options to satisfy the time request and at the lowest cost. The experiments simulate the agent-mediated coordination in supply chain composition by associating 24 providers for each service type, and going through 50 cycles of constraint refinement for each problem. Each problem is tested 500 times to calculate the success rate, average cost, and average time used for a global solution. Results are reported for two suites of problems to see the impact of number of services involved in a composite service: 1) problems with four component services involved, where the composite supply chain is relatively short; 2) problems with seven component services involved, where the composite supply chain is relatively long. Each suite is made of five sets of problems obtained by changing the due time of the composite service as very tight, tight, average, loose, and very loose. A key to this approach is to identify promising solutions of component services, based on which to refine the constraints of component services towards a global solution. Accordingly, the method of evaluating the promising value of a solution and the strategy for choosing a promising solution based on its promising value are regarded as the major factors in the success of the approach. The results are further detailed below.

1) Weights of Connectivity and Time Freedom in Evaluating a Promising Solution From the viewpoint of generating a global solution, a partial solution to a component service is more promising to be involved in a global solution if it is more connective with as well as leave more free time to its neighbour service solutions. Accordingly, we test how the weighs of connectivity and time freedom used for measuring the promising value may impact the performance of the approach. As shown in Fig. 5, either time freedom only (0/1) or connectivity only (1/0) cannot perform better than their mixed form in certain weight. Especially, the performance is better when the

weight is about 0.35 for connectivity and 0.65 for time freedom respectively, when the due time is tight. This weight structure also yields better results in other situations of due time, and we choose it for further experiments.

Fig. 5. Weights of connectivity and time freedom in measuring the promising value

2) Impact of three strategies on selecting a promising solution As a key step in agent-mediated constraint management, promising solutions to component services are identified for constraint refinement. Fig. 6 summarizes the performance of three strategies used for selecting a promising solution, i.e. random selection strategy, elitist strategy, tournament selection strategy. It is seen that the tournament selection strategy performs better than the other two strategies by a higher success rate in most situations of due time. The results also show a faster speed and similar cost caused by this strategy. By way of contrast, the elitist strategy yields poor results, mainly due to the premature convergence caused by the greedy nature.

Fig. 6. Success rate of three selection strategies

3) Tournament size of the tournament selection strategy For selecting an appropriate tournament selection strategy, different tournament sizes are tested. In doing so, we compare the tournament selection strategy with the random

selection strategy by calculating their relative performance in success rate, cost and speed with the change of tournament size. As shown in Fig. 7, the success rate of the tournament selection strategy is about 10% higher than the random selection strategy when tournament size is 4, in the situation of average due time. Furthermore, the experiment indicates that the tournament selection strategy yields an overall better performance when the tournament size is 4 in all situations of due time.

Fig. 7. Tournament selection strategy with tournament size

4) Tournament selection versus random selection After selecting the tournament size as 4, the comparison of the tournament selection strategy with the random selection strategy by calculating their relative performance in success rate, cost and speed is summarized in Fig. 8. It is shown that the success rate of the tournament selection strategy is 58% higher than the random selection strategy in very tight due time situation. The speed of the tournament selection strategy is 11% faster than the random selection strategy in average due time situation. These results indicate that the tournament selection strategy yields an overall better performance in more successfully generating a global solution with less time in most situations of due time, however with less difference in cost.

Fig. 8. Tournament selection versus random selection: relative performance

5 Related Work The emergence of web services has received many interests to support the interaction of business partners and their processes by inter-connecting web services. There are abundant literatures of web services, mainly on the description of web services, the syntax of their flows, and how they could be executed [15]. With regard to web service composition, most researches have fallen in the realm of workflow/process composition and AI planning [21, 17]. AI planning and scheduling techniques have been playing an essential role in managing workflows of web services, including their composition, resource allocation, execution and repair [8]. However, many issues remain to be resolved on how to identify the most appropriate ways to formalize service composition as a planning and scheduling problem. Most ongoing studies in this area have made efforts on service planning, i.e. working out a sequence in which services are invoked. With respect to the major difference between web service composition from workflow composition or AI planning, there is a need on how to identify appropriate service candidates from a number of resources, especially by addressing non-functional properties, such as cost, timeliness, security, and dependability [14]. From this point of view, service scheduling, the exact allocation of activities or services to appropriate resources has become critical to ensuring reliable web service composition. There have been growing attention paid to this field in terms of constraint driven web service composition (e.g. [4] and [2]) and QoS aware web service composition (e.g. [14] and [28]), where web service compositions have been translated into a certain type of CSP. However, existing CSP methods require a completely specified problem as input and have not been able to deal with uncertainties and dynamics in the environment. In more detail, they did not solve the problem where only the constraints of the composite service are specified, with the constraints of component services not completely known. Moreover, there have been fewer efforts on managing the dynamics inside a scheduling process, e.g. changes of service offerings and service constraints. Indeed, we face the ambiguity in determining the constraints of specific services involved in a composite service, which may further result in the uncertainties and dynamics throughout the composition process. Furthermore, although there are a number of service providers available for each service type, they may be engaged in various composite services at different time. Therefore, it is not necessary that every service request can be allocated to an appropriate service resource at one time. To this end, our approach aims to handle such over-constrained problem and handling uncertainties and dynamics by using dynamic constraint-based agents that dynamically and interactively tune the constraints of services involved in a composite service. This work is also related to workflow scheduling, resource management and constraints analysis in workflow modeling, as mentioned in Section 2. Other relevant work includes job-shop scheduling in production and supply chains, where constraint logic programming has been used to deal with scheduling problems. In many of these studies such as [19] and [7], agents have been used to represent physical resources for solving resource scheduling problems. However, most approaches rely on complete information of all available resources, such as cost, location, and available time. They suffer from uncertain and dynamic information of resources and tasks. Instead of using

conventional job scheduling approaches, more robust and adaptive strategies should be adopted in dynamic web-based environments [5].

6 Conclusions E-service/process composition is a complex task that coordinates the flow of information among services and links their business processes under various constraints. Existing constraint programming methods require a completely specified problem as input. They can not solve the problem of e-service composition where only the constraints of the composite service are specified, with the constraints of component services not completely known. In this paper, we have described a multi-agent formulation that can be used to deal with service composition especially in web-based environments. The key idea behind the approach lies in a distributed multi-agent system, in which autonomous agents have to make choices of component services to undertake within a composite service. Coordination among agents is modeled as a distributed constraint satisfaction problem in which solutions and constraints are distributed into specific services. This system can self-organize itself, where each individual agent explores its own solution, and gradually evolves towards a global solution state. Although presented in the context of supply chain management, This approach is appropriate to other situations where a set of services are to be composed as a result of a large resource repository to be searched, scheduled and coordinated, especially in a real-time fashion. The next work may extend the framework for building a more general platform for e-service composition, where more complex structure of a composite service and more types of constraints are taken into account within a composition process.

References 1. Aalst, W.M.P., Dumas, M., and Hofstede, A.H.M., Web Service Composition Languages: Old Wine in New Bottles? 29th EUROMICRO Conference, 2003, 298-305 2. Aggarwal, R., Verma, K., Miller, J., and Milnor, W., Constraint Driven Web Service Composition in METEOR-S, 2004 IEEE International Conference on Services Computing (SCC'04), 2004, 23-30 3. Casati, F. and Shan, M., Dynamic and adaptive composition of e-services, Information Systems, 26(3), 2001, 143-163 4. Channa, N., Li, S., Shaikh, A.W., and Fu, X., Constraint Satisfaction in Dynamic Web Service Composition, 16th International Workshop on Database and Expert Systems Applications (DEXA'05), 2005, 658-664 5. Cheung, W.K., and Liu, J., On Knowledge Grid and Grid Intelligence – A Survey, Computational Intelligence - An International Journal, 21(2), 2005, 111-129 6. Eder, J., Panagos, E., and Rabinovich, M., Time Constraints in Workflow Systems, 11th International Conference on Advanced Information Systems Engineering (CAiSE), LNCS 1626, 1999, 286-300 7. Fox, M.S., Barbuceanu, M., and Teigen, R., Agent-Oriented Supply-Chain Management, International Journal of Flexible Manufacturing Systems, 12(2/3), 2000, 165-188

8. Kumar, A., and Zhao, J.L., Workflow support for electronic commerce applications, Decision Support Systems, 32(3), 2002, 265-278 9. Li, H., Yang, Y., Chen, T.Y., Resource constraints analysis of workflow specifications, Journal of Systems and Software, 73, 2004, 271-285 10. Liu, J., Jing, H., Tang, Y.Y., Multi-agent oriented constraint satisfaction, Artificial Intelligence, 136(1), 2002, 101-144 11. Liu, J., Zhong, N., Yao, Y.Y., and Ras, Z.W., The Wisdom Web: New challenges for Web Intelligence (WI), Journal of Intelligent Information Systems, 20(1), 2003, 5-9 12. Liu, J., Jin, X.L., and Tsui, K.C., Autonomy Oriented Computing (AOC): Formulating computational systems with autonomous components, IEEE Transactions on Systems, Man, and Cybernetics, Part A: Systems and Humans, 35(6), 2005, 879- 902 13. Marjanovic, O., Orlowska, M.E., On modeling and verification of temporal constraints in production workflows, Knowledge Information Systems, 1(2), 1999, 157-192 14. Menasce, D.A., Composing Web Services: A QoS View, IEEE Internet Computing, 8(6), 2004, 88-90 15. Milanovic, N., and Malek, M., Current Solutions for Web Service Composition, IEEE Internet Computing, 8(6), 2004, 51-59 16. Muscettola, N., Integrating Planning and Scheduling, in Zweben, M., and Fox, M.S. (eds), Intelligent Scheduling, Morgan Kaufmann, 1994, 169-212 17. Rao, J., and Su, X., A Survey of Automated Web Service Composition Methods, First International Workshop on Semantic Web Services and Web Process Composition (SWSWPC), 2004, 43-54 18. Sadeh, N.M., Arunachalam, R., Eriksson, J., Finne, N., and Janson, S., TAC-03 - A SupplyChain Trading Competition, AI Magazine, 24(1), 2003, 92-94 19. Sauer, J., and Appelrath, H., Scheduling the Supply Chain by Teams of Agents, 38th Hawaii International Conference on System Sciences (HICSS), 2003. 20. Senkul, S., Ismail Hakki Toroslu, An architecture for workflow scheduling under resource allocation constraints, Information Systems, 30(5), 2005, 399-422 21. Srivastava, B., and Koehler, J., Web Service Composition - Current Solutions and Open Problems, ICAPS 2003 Workshop on Planning for Web Services, 2003. 22. Subramani, M., How Do Suppliers Benefit from Information Technology Use in Supply Chain Relationships? MIS Quarterly, 28(1), 2004, 45-73 23. Wang, M., and Wang, H., From Process Logic to Business Logic -- A Cognitive Approach to Business Process Management, Information & Management, 43(2), 179-193 24. Wang, M., Cheung, W.K., Liu, J., and Luo, Z., Agent-based Web Service Composition for Supply Chain Management, accepted by IEEE Joint Conference on CEC’06 and EEE' 06. 25. Weiß, G., Cognition, Sociability, and Constraints, ECAI 2000 Workshop on Balancing Reactivity and Social Deliberation in Multi-Agent Systems, LNCS 2103, 217-236 26. Weske, M., Aalst, W.M.P., and Verbeek, H.M.W., Advances in Business Process Management, Special Issue of Data and Knowledge Engineering, 50(1), 2004, 1-8 27. Yokoo, M., Distributed Constraint Satisfaction: Foundation of Cooperation in Multi-agent Systems, 2001, Springer, Berlin, New York 28. Zeng, L., Benatallah, B., Ngu, A.H.H., Dumas, M., Kalagnanam, J., and Chang, H., QoSAware Middleware for Web Services Composition, IEEE Transactions on Software Engineering, 30(5), 2004, 311-327 29. Zhao, J., Stohr, E., Temporal workflow management in a claim handling system, Proceedings of Work Activities Coordination and Collaboration (WACC’99), 1999, 187–195. 30. Zhao, J.L. and Cheng, H.K., Web services and process management: a union of convenience or a new area of research? Decision Support Systems, 40(1), 2005, 1-8 31. Zhuge, H., Cheung, T., Pung, H., A timed workflow process model, Journal of Systems and Software, 55(3), 2001, 231-243

Suggest Documents