The main objective

A vision of independently developed parts of software communicating by well-defined network protocols is a conceptual base of the Service Oriented Architecture (SOA [Bell08]). While technical problems with communication between SOA components are easy to solve, designing methods for an automatic aggregation of service functionalities seems to be a greater challenge.
Automating the composition of Web services (WS) has been a very important subject of research over the last decade. Several standards describe how services can be invoked (WSDL [Wsdl01]), how they exchange information (SOAP [Soap07]), how they synchronize the executions in complex flows (BPEL [Wsbp07]), and how they can be discovered (UDDI [Uddi05]). However, there is still a lack of satisfactory automatic methods for arranging and executing WS. One of the main problems to deal with is the size of the environment. Another problem follows from incompatibilities in inputs/outputs of services, and difficulties in comparing their capabilities.