The service-oriented paradigm promises a novel degree of interoperability between business processes, and is leading to a major shift in way distributed applications are designed and realized. While novel and more powerful services can be obtained, in such setting, by suitably orchestrating existing ones, manually developing such orchestrations is highly demanding, time-consuming and error-prone. Providing automated service composition tools is therefore essential to reduce the time to market of services, and ultimately to successfully enact the service-oriented approach. In this paper, we show that such tools can be realized based on the adoption and extension of powerful AI planning techniques, taking the “planning via model-checking” approach as a stepping stone. In this respect, this paper summarizes and substantially extends a research line that started early in this decade and has continued till now. Specifically, this work provides three key contributions. First, we describe a novel planning framework for the automated composition of Web services, which can handle services specified and implemented using industrial standard languages for business processes modeling and execution, like ws-bpel. Since these languages describe stateful Web services that rely on asynchronous communication primitives, a distinctive aspect of the presented framework is its ability to model and solve planning problems for asynchronous domains. Second, we formally spell out the theory underlying the framework, and provide algorithms to solve service composition in such framework, proving their correctness and completeness. The presented algorithms significantly extend state-of-the-art techniques for planning under uncertainty, by allowing the combination of asynchronous domains according to behavioral requirements. Third, we provide and discuss an implementation of the approach, and report extensive experimental results which demonstrate its ability to scale up to significant cases for which the manual development of ws-bpel composed services is far from trivial and time consuming.
Read full abstract