Service composition in Service Oriented Computing concerns not only integration of heterogeneous distributed applications but also dynamic selection of services. Quality of Service (QoS) plays a key role in service composition as services providing the same functionalities can be differentiated according to their QoS guarantees. At subscription time, a service requester and a provider may sign a contract recording the QoS of the supplied service. The cc-pi calculus has been introduced as a constraint-based model of QoS contracts. In this work we propose a variant of the cc-pi calculus in which the alternatives in a choice rather than being selected nondeterministically have a dynamic priority. Basically, a guard cj : πj in a choice is enabled if the constraint cj is entailed by the store of constraints and the prefix πj can be consumed. Moreover, the j-th branch can be selected not only if the corresponding guard cj : πj is enabled but also if cj is weaker than the constraints ci...