Analysis of Service Oriented Software Systems with the Conversation Calculus

  • Luís Caires
  • Hugo Torres Vieira
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6921)


We overview some perspectives on the concept of service-based computing, and discuss the motivation of a small set of modeling abstractions for expressing and analyzing service based systems, which have led to the design of the Conversation Calculus. Distinguishing aspects of the Conversation Calculus are the adoption of a very simple, context sensitive, local message-passing communication mechanism, natural support for modeling multi-party conversations, and a novel mechanism for handling exceptional behavior. In this paper, written in a tutorial style, we review some Conversation Calculus based analysis techniques for reasoning about properties of service-based systems, mainly by going through a sequence of illustrating examples.


Label Transition System Service Instance Loose Coupling Exception Handling Conversation Context 
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.
    Acciai, L., Bodei, C., Boreale, M., Bruni, R., Vieira, H.: Static analysis techniques for session-oriented calculi. In: Hölzl, M. (ed.) SENSORIA Project. LNCS, vol. 6582, pp. 214–231. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  2. 2.
    Alves, A., et al.: Web Services Business Process Execution Language Version 2.0. Technical report, OASIS (2006)Google Scholar
  3. 3.
    Bartoletti, M., Caires, L., Lanese, I., Mazzanti, F., Sangiorgi, D., Vieira, H., Zunino, R.: Tools and verification. In: Hölzl, M. (ed.) SENSORIA Project. LNCS, vol. 6582, pp. 408–427. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  4. 4.
    Beisiegel, M., et al.: Service Component Architecture: Building Systems using a Service-Oriented Architecture, version 0.9. Technical report, BEA, IBM, Interface21, IONA, Oracle, SAP, Siebel, Sybase Joint Whitepaper (2005)Google Scholar
  5. 5.
    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
  6. 6.
    Bonelli, E., Compagnoni, A.: Multipoint Session Types for a Distributed Calculus. In: Barthe, G., Fournet, C. (eds.) TGC 2007. LNCS, vol. 4912, pp. 240–256. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  7. 7.
    Boreale, M., Bruni, R., Caires, L., Nicola, R.D., Lanese, I., Loreti, M., Martins, F., Montanari, U., Ravara, A., Sangiorgi, D., Vasconcelos, V., Zavattaro, G.: SCC: a Service Centered Calculus. In: Bravetti, M., Núñez, M., Tennenholtz, M. (eds.) WS-FM 2006. LNCS, vol. 4184, pp. 38–57. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  8. 8.
    Boreale, M., Bruni, R., De Nicola, R., Loreti, M.: Sessions and Pipelines for Structured Service Programming. In: Barthe, G., de Boer, F.S. (eds.) FMOODS 2008. LNCS, vol. 5051, pp. 19–38. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  9. 9.
    Bravetti, M., Zavattaro, G.: On the Expressive Power of Process Interruption and Compensation. Mathematical Structures in Computer Science 19(3), 565–599 (2009)CrossRefzbMATHMathSciNetGoogle Scholar
  10. 10.
    Butler, M., Ferreira, C.: A Process Compensation Language. In: Grieskamp, W., Santen, T., Stoddart, B. (eds.) IFM 2000. LNCS, vol. 1945, pp. 61–76. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  11. 11.
    Caires, L., De Nicola, R., Pugliese, R., Vasconcelos, V., Zavattaro, G.: Core Calculi for Service-Oriented Computing. In: Hölzl, M. (ed.) SENSORIA Project. LNCS, vol. 6582, pp. 153–188. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  12. 12.
    Caires, L., Ferreira, C., Vieira, H.: A Process Calculus Analysis of Compensations. In: Kaklamanis, C., Nielson, F. (eds.) TGC 2008. LNCS, vol. 5474, pp. 87–103. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  13. 13.
    Caires, L., Vieira, H.: Conversation Types. In: Castagna, G. (ed.) ESOP 2009. LNCS, vol. 5502, pp. 285–300. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  14. 14.
    Caires, L., Vieira, H.: Conversation Types. Theoretical Computer Science 411(51-52), 4399–4440 (2010)CrossRefzbMATHMathSciNetGoogle Scholar
  15. 15.
    CMU-PT INTERFACES Project. Website,
  16. 16.
    Deniélou, P.-M., Yoshida, N.: Dynamic Multirole Session Types. In: Ball, T., Sagiv, M. (eds.) Proceedings of the 38th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2011, pp. 435–446. ACM, New York (2011)Google Scholar
  17. 17.
    Ferreira, C., Lanese, I., Ravara, A., Vieira, H., Zavattaro, G.: Advanced Mechanisms for Service Combination and Transactions. In: Hölzl, M. (ed.) SENSORIA Project. LNCS, vol. 6582, pp. 302–325. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  18. 18.
    Fiadeiro, J.L., Lopes, A., Bocchi, L.: A Formal Approach to Service Component Architecture. In: Bravetti, M., Núñez, M., Tennenholtz, M. (eds.) WS-FM 2006. LNCS, vol. 4184, pp. 193–213. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  19. 19.
    Honda, K., Vasconcelos, V.T., Kubo, M.: Language Primitives and Type Discipline for Structured Communication-Based Programming. In: Hankin, C. (ed.) ESOP 1998. LNCS, vol. 1381, pp. 122–138. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  20. 20.
    Honda, K., Yoshida, N., Carbone, M.: Multiparty Asynchronous Session Types. In: Necula, G., Wadler, P. (eds.) Proceedings of the, 35th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2008, pp. 273–284. ACM Press, New York (2008)Google Scholar
  21. 21.
    IP Sensoria Project Website:
  22. 22.
    Lanese, I., Ravara, A., Vieira, H.: Behavioral Theory for Session-Oriented Calculi. In: Hölzl, M. (ed.) SENSORIA Project. LNCS, vol. 6582, pp. 189–213. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  23. 23.
    Lanese, I., Vasconcelos, V.T., Martins, F., Ravara, A.: Disciplining Orchestration and Conversation in Service-Oriented Computing. In: 5th International Conference on Software Engineering and Formal Methods, pp. 305–314. IEEE Computer Society Press, Los Alamitos (2007)Google Scholar
  24. 24.
    Milner, R., Parrow, J., Walker, D.: A Calculus of Mobile Processes, Part I + II. Information and Computation 100(1), 1–77 (1992)CrossRefzbMATHMathSciNetGoogle Scholar
  25. 25.
    Sangiorgi, D., Walker, D.: The π-calculus: A Theory of Mobile Processes. Cambridge University Press, Cambridge (2001)zbMATHGoogle Scholar
  26. 26.
    Vieira, H., Caires, L., Seco, J.: The Conversation Calculus: A Model of Service-Oriented Computation. In: Drossopoulou, S. (ed.) ESOP 2008. LNCS, vol. 4960, pp. 269–283. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  27. 27.
    Vieira, H.T.: A Calculus for Modeling and Analyzing Conversations in Service-Oriented Computing. PhD thesis, Universidade Nova de Lisboa (2010)Google Scholar
  28. 28.
    Yoshida, N., Deniélou, P.-M., Bejleri, A., Hu, R.: Parameterised Multiparty Session Types. In: Ong, C.-H.L. (ed.) FOSSACS 2010. LNCS, vol. 6014, pp. 128–145. Springer, Heidelberg (2010)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Luís Caires
    • 1
  • Hugo Torres Vieira
    • 1
  1. 1.CITI and Departamento de Informática, Faculdade de Ciências e TecnologiaUniversidade Nova de LisboaPortugal

Personalised recommendations