Evolutionary Computation for Multifaceted Web Service Composition
Automated Web service composition is one of the holy grails of service-oriented computing, since it allows users to create an application simply by specifying the inputs the resulting application should require, the outputs it should produce, and any constraints it should observe. The composition problem has been handled using a variety of techniques, from AI planning to optimisation algorithms, however no work so far has focused on handling multiple composition facets simultaneously, producing solutions that: (1) are fully functional (i.e. fully executable, with semantically-matched inputs and outputs), (2) employ a variety of composition constructs (e.g. sequential, parallel, and choice constructs), and (3) are optimised according to non-functional Quality of Service (QoS) measurements. The overall goal of this thesis is to propose hybrid Web service composition approaches that consider elements from all three facets described above when generating solutions. These approaches combine elements of AI planning and of Evolutionary Computation to allow for the creation of compositions that meet all of these requirements. Firstly, this thesis proposes two novel approaches for Web service composition with direct representations. The first one is a tree-based approach where the leaf nodes are the atomic services included in the composition and the inner nodes are the structural constructs that shape the composition workflow. The second one is a graph-based approach where the atomic services are the vertices and the edges connecting them form the composition workflow. The two approaches are compared to determine which is most suitable to the QoS-aware fully automated Web service composition problem. Secondly, this thesis proposes novel sequence-based approaches for Web service composition that use an indirect representation, i.e. they encode solutions as sequences of services. By representing solutions in this way, it is possible to initialise and evolve them without having to enforce their functional correctness. Then, before evaluating the fitness of each solution, a decoding algorithm is used to transform the sequence into the corresponding composition. The decoding algorithm builds the workflow using the ordering in the sequence as closely as possible when selecting the next service to be added, while at the same time generating a functionally correct structure. Thirdly, this thesis treats Web service composition as a multi-objective problem, generating a set of trade-off solutions the user can choose from. More specifically, it proposes multi-objective approaches to fully automated Web service composition, which means that conflicting QoS attributes are independently optimised using a variety of representations that support flexible workflow structures. Additionally, a multi-objective and fully automated memetic approach that uses a local search operator to further improve the quality of solutions is proposed. The following major contributions have been made in this thesis. Firstly, two approaches for Web service composition with direct representations were proposed. When the choice construct is not considered, the graph-based approach produces solutions of higher quality than those of the tree-based approach, but the opposite is true when the choice construct is included. Secondly, indirect representation approaches for Web service composition were proposed. These approaches perform well and can produce solutions with better quality than those found by the graph-based approach. Finally, we propose multi-objective approaches to fully automated service composition, employing different problem representations and a local search operator. The multi-objective approaches using the sequence-based representation were found to produce solutions with better overall quality.