The Conversation Calculus: A Model of Service-Oriented Computation

  • Hugo T. Vieira
  • Luís Caires
  • João C. Seco
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4960)


We present a process-calculus model for expressing and analyzing service-based systems. Our approach addresses central features of the service-oriented computational model such as distribution, process delegation, communication and context sensitiveness, and loose coupling. Distinguishing aspects of our model are the notion of conversation context, the adoption of a context sensitive, message-passing-based communication, and of a simple yet expressive mechanism for handling exceptional behavior. We instantiate our model by extending a fragment of the π-calculus, illustrate its expressiveness by means of many examples, and study its basic behavioral theory; in particular, we establish that bisimilarity is a congruence.


Label Transition System Loose Coupling Exception Handling Conversation Context Exceptional Behavior 
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.


  1. 1.
    IP Sensoria Project:
  2. 2.
    Alves, A., et al.: Web Services Business Process Execution Language Version 2.0. Technical report, OASIS (2006)Google Scholar
  3. 3.
    Boreale, M., Bruni, R., Caires, L., De Nicola, R., 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., Zavattaro, G. (eds.) WS-FM 2006. LNCS, vol. 4184, Springer, Heidelberg (2006)CrossRefGoogle Scholar
  4. 4.
    Boreale, M., Bruni, R., De Nicola, R., Loreti, M.: A Service Oriented Process Calculus with Sessioning and Pipelining. Technical report, Draft (2007)Google Scholar
  5. 5.
    Bugliesi, M., Castagna, G., Crafa, S.: Access Control for Mobile Agents: The Calculus of Boxed Ambients. ACM Transactions on Programming Languages and Systems 26(1), 57–124 (2004)CrossRefGoogle Scholar
  6. 6.
    Butler, M.J., Hoare, C.A.R., Ferreira, C.: A Trace Semantics for Long-Running Transactions. In: Abdallah, A.E., Jones, C.B., Sanders, J.W. (eds.) Communicating Sequential Processes. LNCS, vol. 3525, pp. 133–150. Springer, Heidelberg (2005)Google Scholar
  7. 7.
    Caires, L.: Spatial-Behavioral Types for Distributed Services and Resources. In: Montanari, U., Sanella, D. (eds.) Proceedings of the Second International Symposium on Trustworthy Global Computing. LNCS, vol. 4661, pp. 98–115. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  8. 8.
    Caires, L., Vieira, H.T., Seco, J.C.: A Model of Service Oriented Computation. TR-DI/FCT/UNL 6/07, Universidade Nova de Lisboa (2007)Google Scholar
  9. 9.
    Carbone, M., Honda, K., Yoshida, N.: Structured Communication-Centred Programming for Web Services. In: De Nicola, R. (ed.) ESOP 2007. LNCS, vol. 4421, pp. 2–17. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  10. 10.
    Castagna, G., Vitek, J., Nardelli, F.Z.: The Seal Calculus. Information and Computation 201(1), 1–54 (2005)zbMATHCrossRefMathSciNetGoogle Scholar
  11. 11.
    Fiadeiro, J.L., Lopes, A., Bocchi, L.: A Formal Approach to Service Component Architecture. In: Bravetti, M., Núñez, M., Zavattaro, G. (eds.) WS-FM 2006. LNCS, vol. 4184, pp. 193–213. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  12. 12.
    Gray, J., Reuter, A.: Transaction Processing: Concepts and Techniques. Morgan Kaufmann, San Francisco (1993)zbMATHGoogle Scholar
  13. 13.
    Guidi, C., Lucchi, R., Gorrieri, R., Busi, N., Zavattaro, G.: SOCK: A Calculus for Service Oriented Computing. In: Dan, A., Lamersdorf, W. (eds.) ICSOC 2006. LNCS, vol. 4294, pp. 327–338. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  14. 14.
    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
  15. 15.
    Juric, M.B.: A Hands-on Introduction to BPEL, Oracle (white paper) (2006)Google Scholar
  16. 16.
    Kitchin, D., Cook, W.R., Misra, J.: A Language for Task Orchestration and Its Semantic Properties. In: Baier, C., Hermanns, H. (eds.) CONCUR 2006. LNCS, vol. 4137, pp. 477–491. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  17. 17.
    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)CrossRefGoogle Scholar
  18. 18.
    Lapadula, A., Pugliese, R., Tiezzi, F.: A Calculus for Orchestration of Web Services. In: De Nicola, R. (ed.) ESOP 2007. LNCS, vol. 4421, pp. 33–47. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  19. 19.
    Milner, R., Parrow, J., Walker, D.: A Calculus of Mobile Processes, Part I + II. Information and Computation 100(1), 1–77 (1992)zbMATHCrossRefMathSciNetGoogle Scholar
  20. 20.
    Sangiorgi, D., Walker, D.: The π-calculus: A Theory of Mobile Processes. Cambridge University Press, Cambridge (2001)Google Scholar
  21. 21.
    Sewell, P., Vitek, J.: Secure Composition of Untrusted Code: Box π, Wrappers, and Causality. Journal of Computer Security 11(2), 135–188 (2003)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Hugo T. Vieira
    • 1
  • Luís Caires
    • 1
  • João C. Seco
    • 1
  1. 1.CITI / Departamento de InformáticaUniversidade Nova de LisboaPortugal

Personalised recommendations