Constraints for Service Contracts
This paper focuses on client-service interactions distinguishing between three phases: negotiate, commit and execute. The participants negotiate their behaviours, and if an agreement is reached they commit and start an execution which is guaranteed to respect the interaction scheme agreed upon. These ideas are materialised through a calculus of contracts enriched with semiring-based constraints, which allow clients to choose services and to interact with them in a safe way. A concrete representation of these constraints with logic programs is straightforward, thus reducing constraint solution (and consequently the establishment of a contract) to the execution of a logic program.
KeywordsLogic Program Logic Programming Service Process Service Contract Recursive Process
Unable to display preview. Download preview PDF.
- 2.Bistarelli, S., Gadducci, F.: Enhancing constraints manipulation in semiring-based formalisms. In: Brewka, G., Coradeschi, S., Perini, A., Traverso, P. (eds.) ECAI 2006. FAIA, vol. 141, pp. 63–67. IOS Press (2006)Google Scholar
- 5.Bistarelli, S., Santini, F.: A nonmonotonic soft concurrent constraint language for SLA negotiation. In: Aldini, A., ter Beek, M., Gadducci, F. (eds.) CILC 2008. ENTCS, vol. 236, pp. 147–162. Elsevier (2009)Google Scholar
- 18.Milner, R.: Communicating and Mobile Systems: the Pi-Calculus. CUP (1999)Google Scholar
- 21.Saraswat, V.A., Rinard, M.C.: Concurrent constraint programming. In: Allen, F.E. (ed.) POPL 1990, pp. 232–245. ACM (1990)Google Scholar
- 23.Vasconcelos, V.T.: Sessions, from types to programming languages. EATCS Bulletin 103, 53–73 (2011)Google Scholar