I. Introduction
Service composition enables service-based systems to be built using accepted engineering principles, such as (service) reusability and composability. Composite services provide value-added services that achieve functionality otherwise unattainable by atomic services. In order to achieve these goals, composite services should be made available to consumers in the same way as atomic services, abstracting away complex implementation details. This can be accomplished by providing formal specifications which present the min-imum information required to understand the functionality offered, often by describing the inputs, outputs, preconditions and effects (known as IOPEs) of the composite service.