Abstract. Since the Internet has become a commodity in both wired and wireless environments, new applications and paradigms have emerged to explore this highly distributed and widespread system. One such paradigm is service-orientation, which enables the provision of software functionality as services, allowing in this way the construction of distributed systems with loosely coupled parts. The Service-Oriented Architecture (SOA) provides a set of principles to create serviceoriented systems, by defining how services can be created, composed, published, discovered and invoked. In accordance with these principles, in this paper we address the challenge of performing dynamic service composition. The composition process and its associated tasks have to be precisely defined so that the different problems of dynamic service composition can be identified and tackled. To achieve this, this paper defines a life-cycle for dynamic service composition, which defines the required phases and stakeho...