: Due to the deregulation of the telecom network and the Internet, users will have access to an increasing number of heterogeneous communication services and will need to adapt their services or learn new services in order to interact with other users and systems. We propose a dynamic composition method that enables services to be constructed dynamically or "on-the-fly" from existing functional elements (service roles). Roles and actors that play roles are key concepts in our approach. A service role is defined as the part an object takes in a service. Service execution requires that roles are assigned to actors in a coordinated way. Our approach enables the systematic and structured specification of services, and provides mechanisms for service composition and an execution environment.