@article{eprints114, publisher = {Elsevier}, note = {Copyright {\copyright} 2010 Elsevier Inc. All rights reserved. The 2nd Workshop on Formal Languages and Analysis of Contract-Oriented Software (FLACOS?08) }, journal = {Journal of Logic and Algebraic Programming}, author = {Maria Grazia Buscemi and Ugo Montanari}, title = {QoS Negotiation in Service Composition}, year = {2011}, volume = {80}, number = {1}, pages = {13--24}, keywords = {Process calculi; Service oriented computing; Constraint-based models}, url = {http://eprints.imtlucca.it/114/}, abstract = {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 non-deterministically have a dynamic priority. Basically, a guard cj:{\ensuremath{\pi}}j in a choice is enabled if the constraint cj is entailed by the store of constraints and the prefix {\ensuremath{\pi}}j can be consumed. Moreover, the j-th branch can be selected not only if the corresponding guard cj:{\ensuremath{\pi}}j is enabled but also if cj is weaker than the constraints ci of the other enabled alternatives. We prove that our choice operator is more general than a choice operator with static priority. Finally, we exploit some examples to show that our prioritised calculus allows arbitrarily complex QoS negotiations and that a static form of priority is strictly less expressive than ours.} }