Constraints for Service Contracts

  • Maria Grazia Buscemi
  • Mario Coppo
  • Mariangiola Dezani-Ciancaglini
  • Ugo Montanari
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7173)


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.


Logic Program Logic Programming Service Process Service Contract Recursive Process 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bettini, L., Coppo, M., D’Antoni, L., De Luca, M., Dezani-Ciancaglini, M., Yoshida, N.: Global Progress in Dynamically Interleaved Multiparty Sessions. In: van Breugel, F., Chechik, M. (eds.) CONCUR 2008. LNCS, vol. 5201, pp. 418–433. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  2. 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
  3. 3.
    Bistarelli, S., Montanari, U., Rossi, F.: Semiring-based constraint satisfaction and optimization. Journal of the ACM 44(2), 201–236 (1997)MathSciNetzbMATHCrossRefGoogle Scholar
  4. 4.
    Bistarelli, S., Montanari, U., Rossi, F.: Semiring-based constraint logic programming: syntax and semantics. ACM Transactions on Programming Languages and Systems 23(1), 1–29 (2001)CrossRefGoogle Scholar
  5. 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
  6. 6.
    Bravetti, M., Zavattaro, G.: A theory of contracts for strong service compliance. Mathematical Structures in Computer Science 19, 601–638 (2009)MathSciNetzbMATHCrossRefGoogle Scholar
  7. 7.
    Buscemi, M.G., Montanari, U.: CC-Pi: A Constraint-Based Language for Specifying Service Level Agreements. In: De Nicola, R. (ed.) ESOP 2007. LNCS, vol. 4421, pp. 18–32. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  8. 8.
    Buscemi, M.G., Montanari, U.: Qos negotiation in service composition. Journal of Logic and Algebraic Programming 80(1), 13–24 (2011)MathSciNetzbMATHCrossRefGoogle Scholar
  9. 9.
    Castagna, G., Dezani-Ciancaglini, M., Padovani, L.: On Global Types and Multi-party Sessions. In: Bruni, R., Dingel, J. (eds.) FMOODS/FORTE 2011. LNCS, vol. 6722, pp. 1–28. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  10. 10.
    Castagna, G., Gesbert, N., Padovani, L.: A theory of contracts for web services. ACM Transactions on Programming Languages and Systems 31, article n.19, 51 (2009)CrossRefGoogle Scholar
  11. 11.
    Coppo, M., Dezani-Ciancaglini, M.: Structured Communications with Concurrent Constraints. In: Kaklamanis, C., Nielson, F. (eds.) TGC 2008. LNCS, vol. 5474, pp. 104–125. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  12. 12.
    Dezani-Ciancaglini, M., de’Liguoro, U.: Sessions and Session Types: An Overview. In: Laneve, C., Su, J. (eds.) WS-FM 2009. LNCS, vol. 6194, pp. 1–28. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  13. 13.
    Dezani-Ciancaglini, M., de’Liguoro, U., Yoshida, N.: On Progress for Structured Communications. In: Barthe, G., Fournet, C. (eds.) TGC 2007. LNCS, vol. 4912, pp. 257–275. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  14. 14.
    Kobayashi, N.: Type-Based Information Flow Analysis for the Pi-Calculus. Acta Informatica 42(4-5), 291–347 (2005)MathSciNetzbMATHCrossRefGoogle Scholar
  15. 15.
    Laneve, C., Padovani, L.: The Must Preorder Revisited: An Algebraic Theory for Web Services Contracts. In: Caires, L., Vasconcelos, V.T. (eds.) CONCUR 2007. LNCS, vol. 4703, pp. 212–225. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  16. 16.
    Lloyd, J.W.: Foundations of Logic Programming, 2nd Edition. Springer, Heidelberg (1987)CrossRefGoogle Scholar
  17. 17.
    Milner, R.: A Calculus of Communicating Systems. Springer, Heidelberg (1980)zbMATHCrossRefGoogle Scholar
  18. 18.
    Milner, R.: Communicating and Mobile Systems: the Pi-Calculus. CUP (1999)Google Scholar
  19. 19.
    Padovani, L.: Contract-Directed Synthesis of Simple Orchestrators. In: van Breugel, F., Chechik, M. (eds.) CONCUR 2008. LNCS, vol. 5201, pp. 131–146. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  20. 20.
    Rajamani, S.K., Rehof, J.: Conformance Checking for Models of Asynchronous Message Passing Software. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, pp. 166–179. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  21. 21.
    Saraswat, V.A., Rinard, M.C.: Concurrent constraint programming. In: Allen, F.E. (ed.) POPL 1990, pp. 232–245. ACM (1990)Google Scholar
  22. 22.
    Takeuchi, K., Honda, K., Kubo, M.: An Interaction-Based Language and Its Typing System. In: Halatsis, C., Philokyprou, G., Maritsas, D., Theodoridis, S. (eds.) PARLE 1994. LNCS, vol. 817, pp. 398–413. Springer, Heidelberg (1994)CrossRefGoogle Scholar
  23. 23.
    Vasconcelos, V.T.: Sessions, from types to programming languages. EATCS Bulletin 103, 53–73 (2011)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Maria Grazia Buscemi
    • 1
  • Mario Coppo
    • 2
  • Mariangiola Dezani-Ciancaglini
    • 2
  • Ugo Montanari
    • 3
  1. 1.IMT Institute for Advanced StudiesLuccaItaly
  2. 2.Dipartimento di InformaticaUniversità di TorinoItaly
  3. 3.Dipartimento di InformaticaUniversità di PisaItaly

Personalised recommendations