Advertisement

Sessions and Pipelines for Structured Service Programming

  • Michele Boreale
  • Roberto Bruni
  • Rocco De Nicola
  • Michele Loreti
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5051)

Abstract

Service-oriented computing is calling for novel computational models and languages with primitives for client-server interaction, orchestration and unexpected events handling. We present CaSPiS, a process calculus where the notions of session and pipelining play a central role. Sessions are two-sided and can be equipped with protocols executed by each side. Pipelining permits orchestrating the flow of data produced by different sessions. The calculus is also equipped with operators for handling (unexpected) termination of the partner’s side of a session. Several examples are presented to provide evidence for the flexibility of the chosen set of primitives. Our main result shows that in CaSPiS it is possible to program a “graceful termination” of nested sessions, which guarantees that no session is forced to hang forever after the loss of its partner.

Keywords

Operational Semantic Service Invocation Process Calculus Session Termination Multiparty Session 
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.

References

  1. 1.
    Acciai, L., Boreale, M.: A type system for client progress in a service-oriented calculus. In: Festschrift in Honour of Ugo Montanari, on the Occasion of His 65th Birthday. Lect. Notes in Comput. Sci., vol. 5065. Springer, Heidelberg (to appear, 2008)Google Scholar
  2. 2.
    Bettini, L., De Nicola, R., Loreti, M.: Implementing session-centered calculi with IMC. In: Lea, D., Zavattaro, G. (eds.) COORDINATION 2008. LNCS, vol. 5052, pp. 17–32. Springer, Heidelberg (2008)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.T., Zavattaro, G.: SCC: a service centered calculus. In: Bravetti, M., Núñez, M., Zavattaro, G. (eds.) WS-FM 2006. LNCS, vol. 4184, pp. 38–57. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  4. 4.
    Bravetti, M., Zavattaro, G.: A theory for strong service compliance. In: Murphy, A.L., Vitek, J. (eds.) COORDINATION 2007. LNCS, vol. 4467, pp. 96–112. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  5. 5.
    Bruni, R., Butler, M., Ferreira, C., Hoare, T., Melgratti, H., Montanari, U.: Comparing two approaches to compensable flow composition. In: Abadi, M., de Alfaro, L. (eds.) CONCUR 2005. LNCS, vol. 3653, pp. 383–397. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  6. 6.
    Bruni, R., Lanese, I., Melgratti, H., Tuosto, E.: Multiparty sessions in SOC. In: Lea, D., Zavattaro, G. (eds.) COORDINATION 2008. LNCS, vol. 5052, pp. 67–82. Springer, Heidelberg (2008)Google Scholar
  7. 7.
    Bruni, R., Melgratti, H., Montanari, U.: Nested commits for mobile calculi: extending join. In: IFIP TCS 2004, pp. 367–379. Kluwer Academics, Dordrecht (2004)Google Scholar
  8. 8.
    Bruni, R., Mezzina, L.G.: Types and deadlock freedom in a calculus of services, sessions and pipelines (submitted, 2008)Google Scholar
  9. 9.
    Busi, N., Gorrieri, R., Guidi, C., Lucchi, R., 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)Google Scholar
  10. 10.
    Caires, L., Viera, H.T., Seco, J.C.: The conversation calculus: a model of service oriented computation. Technical Report TR DIFCTUNL 6/07, Univ. Lisbon (2007)Google Scholar
  11. 11.
    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
  12. 12.
    Carpineti, S., Castagna, G., Laneve, C., Padovani, L.: A formal account of contracts for web services. In: Bravetti, M., Núñez, M., Zavattaro, G. (eds.) WS-FM 2006. LNCS, vol. 4184, pp. 148–162. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  13. 13.
    Castagna, G., Gesbert, N., Padovani, L.: A theory of contracts for web services. In: Proc. of POPL 2008, pp. 261–272. ACM Press, New York (2008)CrossRefGoogle Scholar
  14. 14.
    Gay, S.J., Hole, M.J.: Types and subtypes for client-server interactions. In: Swierstra, S.D. (ed.) ESOP 1999. LNCS, vol. 1576, pp. 74–90. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  15. 15.
    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
  16. 16.
    Lanese, I., Martins, F., Ravara, A., Vasconcelos, V.T.: Disciplining orchestration and conversation in service-oriented computing. In: SEFM 2007, pp. 305–314. IEEE Computer Society Press, Los Alamitos (2007)Google Scholar
  17. 17.
    Laneve, C., Padovani, L.: Smooth orchestrators. In: Aceto, L., Ingólfsdóttir, A. (eds.) FOSSACS 2006. LNCS, vol. 3921, pp. 32–46. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  18. 18.
    Laneve, C., Zavattaro, G.: Foundations of web transactions. In: Sassone, V. (ed.) FOSSACS 2005. LNCS, vol. 3441, pp. 282–298. Springer, Heidelberg (2005)Google Scholar
  19. 19.
    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
  20. 20.
    Mezzina, L.G.: How to infer finite session types in a calculus of services and sessions. In: Lea, D., Zavattaro, G. (eds.) COORDINATION 2008. LNCS, vol. 5052, pp. 216–231. Springer, Heidelberg (2008)Google Scholar
  21. 21.
    Milner, R., Parrow, J., Walker, J.: A Calculus of Mobile Processes, I and II. Information and Computation 100(1), 1–40, 41–77 (1992)zbMATHCrossRefMathSciNetGoogle Scholar
  22. 22.
    Misra, J., Cook, W.R.: Computation orchestration: A basis for wide-area computing. Journal of Software and Systems Modeling 6(1), 83–110 (2007)CrossRefGoogle Scholar
  23. 23.
    Sensoria Project. Public web site, http://sensoria.fast.de/
  24. 24.
    van der Aalst, W.M.P., ter Hofstede, A.H.M., Kiepuszewski, B., Barros, A.P.: Workflow patterns. Distributed and Parallel Databases 14(1), 5–51 (2003)CrossRefGoogle Scholar
  25. 25.
    World Wide Web Consortium. Web Services Choreography Description Language Version 1.0. http://www.w3.org/TR/2005/CR-ws-cdl-10/

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Michele Boreale
    • 1
  • Roberto Bruni
    • 2
  • Rocco De Nicola
    • 1
  • Michele Loreti
    • 1
  1. 1.Dipartimento di Sistemi e InformaticaUniversità di Firenze 
  2. 2.Dipartimento di InformaticaUniversità di Pisa 

Personalised recommendations