QoS negotiation in service composition
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 c(j) : pi(j) in a choice is enabled if the constraint c(j) is entailed by the store of constraints and the prefix pi(j) can be consumed. Moreover, the jth branch can be selected not only if the corresponding guard c(j) : pi(j) is enabled but also if c(j) is weaker than the constraints c(i) 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. (C) 2010 Elsevier Inc. All rights reserved.
service oriented computing constraint-based models process calculi