Unlike a traditional software module, which runs within a predictable domain, Web Services are autonomous software agents running in a heterogeneous execution environment. Because of distributed responsibilities, ownership and control, it is often not feasible to acquire all information needed for the service composition. These characteristics of autonomy and heterogeneity are fundamental to service oriented computing but make it inherently difficult to avoid service conflicts. To reason about and adapt to a changing environment, in this work, we will extend current OWL-S by introducing the concept of service assumptions which allow reasoning with incomplete information. Furthermore, together with the proposed service assumptions, a sequence of rules is proposed to describe all permitted behaviors in service composition context.