A Calculus for Orchestration of Web Services

  • Alessandro Lapadula
  • Rosario Pugliese
  • Francesco Tiezzi
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4421)

Abstract

We introduce COWS (Calculus for Orchestration of Web Services), a new foundational language for SOC whose design has been influenced by WS-BPEL, the de facto standard language for orchestration of web services. COWS combines in an original way a number of ingredients borrowed from well-known process calculi, e.g. asynchronous communication, polyadic synchronization, pattern matching, protection, delimited receiving and killing activities, while resulting different from any of them. Several examples illustrates COWS peculiarities and show its expressiveness both for modelling imperative and orchestration constructs, e.g. web services, flow graphs, fault and compensation handlers, and for encoding other process and orchestration languages.

References

  1. 1.
    Alves, A., et al.: Web Services Business Process Execution Language Version 2.0. Technical report, WS-BPEL TC OASIS, August (2006), http://www.oasis-open.org/
  2. 2.
    Bocchi, L., Laneve, C., Zavattaro, G.: A calculus for long-running transactions. In: Najm, E., Nestmann, U., Stevens, P. (eds.) FMOODS 2003. LNCS, vol. 2884, pp. 124–138. Springer, Heidelberg (2003)Google Scholar
  3. 3.
    Boreale, M., et al.: 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.
    Bruni, R., et al.: 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
  5. 5.
    Bruni, R., Melgratti, H.C., Montanari, U.: Theoretical foundations for compensations in flow composition languages. In: POPL, pp. 209–220. ACM Press, New York (2005)CrossRefGoogle Scholar
  6. 6.
    Busi, N., et al.: Choreography and orchestration: A synergic approach for system design. In: Benatallah, B., Casati, F., Traverso, P. (eds.) ICSOC 2005. LNCS, vol. 3826, pp. 228–240. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  7. 7.
    Busi, N., et al.: Choreography and orchestration conformance for system design. In: Ciancarini, P., Wiklicky, H. (eds.) COORDINATION 2006. LNCS, vol. 4038, pp. 63–81. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  8. 8.
    Butler, M.J., Ferreira, C.: An operational semantics for StAC, a language for modelling long-running business transactions. In: De Nicola, R., Ferrari, G.L., Meredith, G. (eds.) COORDINATION 2004. LNCS, vol. 2949, pp. 87–104. Springer, Heidelberg (2004)Google Scholar
  9. 9.
    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
  10. 10.
    Carbone, M., Maffeis, S.: On the expressive power of polyadic synchronisation in π- calculus. Nordic J. of Computing 10(2), 70–98 (2003)MATHMathSciNetGoogle Scholar
  11. 11.
    Carpineti, S., Laneve, C.: A basic contract language for web services. In: Sestoft, P. (ed.) ESOP 2006 and ETAPS 2006. LNCS, vol. 3924, pp. 197–213. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  12. 12.
    Chaki, S., Rajamani, S.K., Rehof, J.: Types as models: model checking message-passing programs. In: POPL, pp. 45–57 (2002)Google Scholar
  13. 13.
    Garcia-Molina, H., Salem, K.: Sagas. In: SIGMOD, pp. 249–259. ACM Press, New York (1987)Google Scholar
  14. 14.
    Guidi, C., et al.: 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
  15. 15.
    Schmidt, K., Stahl, C., Hinz, S.: Transforming BPEL to Petri Nets. In: van der Aalst, W.M.P., et al. (eds.) BPM 2005. LNCS, vol. 3649, pp. 220–235. Springer, Heidelberg (2005)Google Scholar
  16. 16.
    Igarashi, A., Kobayashi, N.: A generic type system for the pi-calculus. Theor. Comput. Sci. 311(1-3), 121–163 (2004)MATHCrossRefMathSciNetGoogle Scholar
  17. 17.
    Kobayashi, N., Suenaga, K., Wischik, L.: Resource usage analysis for the π-calculus. In: Emerson, E.A., Namjoshi, K.S. (eds.) VMCAI 2006. LNCS, vol. 3855, pp. 298–312. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  18. 18.
    Laneve, C., Padovani, L.: Smooth orchestrators. In: Aceto, L., Ingólfsdóttir, A. (eds.) FOSSACS 2006 and ETAPS 2006. LNCS, vol. 3921, pp. 32–46. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  19. 19.
    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
  20. 20.
    Zavattaro, G., Laneve, C.: <Literal>web</Literal>π at Work. In: De Nicola, R., Sangiorgi, D. (eds.) TGC 2005. LNCS, vol. 3705, pp. 182–194. Springer, Heidelberg (2005)Google Scholar
  21. 21.
    Lapadula, A., Pugliese, R., Tiezzi, F.: A calculus for orchestration of web services (full version). Technical report, Dipartimento di Sistemi e Informatica, Univ. Firenze (2006), http://rap.dsi.unifi.it/cows
  22. 22.
    Pugliese, R., Lapadula, A., Tiezzi, F.: A WSDL-Based Type System for WS-BPEL. In: Ciancarini, P., Wiklicky, H. (eds.) COORDINATION 2006. LNCS, vol. 4038, pp. 145–163. Springer, Heidelberg (2006)Google Scholar
  23. 23.
    Mazzara, M., Lanese, I.: Towards a unifying theory for web services composition. In: Bravetti, M., Núñez, M., Zavattaro, G. (eds.) WS-FM 2006. LNCS, vol. 4184, pp. 257–272. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  24. 24.
    Mazzara, M., Lucchi, R.: A pi-calculus based semantics for WS-BPEL. Journal of Logic and Algebraic Programming 70(1), 96–118 (2006)MathSciNetGoogle Scholar
  25. 25.
    Merro, M., Sangiorgi, D.: On asynchrony in name-passing calculi. Mathematical Structures in Computer Science 14(5), 715–767 (2004)MATHCrossRefMathSciNetGoogle Scholar
  26. 26.
    Milner, R.: Communication and concurrency. Prentice-Hall, Englewood Cliffs (1989)MATHGoogle Scholar
  27. 27.
    Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes, I and II. Inf. Comput. 100(1), 1–40, 41–77 (1992)MATHCrossRefMathSciNetGoogle Scholar
  28. 28.
    Misra, J., Cook, W.R.: Computation orchestration: A basis for wide-area computing. Journal of Software and Systems Modeling (May 2006)Google Scholar
  29. 29.
    Parrow, J., Victor, B.: The update calculus. In: Johnson, M. (ed.) AMAST 1997. LNCS, vol. 1349, pp. 409–423. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  30. 30.
    Parrow, J., Victor, B.: The fusion calculus: Expressiveness and symmetry in mobile processes. In: Logic in Computer Science, pp. 176–185 (1998)Google Scholar
  31. 31.
    van der Aalst, W.M.P., et al.: Workflow patterns. Distributed and Parallel Databases 14(1), 5–51 (2003)CrossRefGoogle Scholar
  32. 32.
    Viroli, M.: Towards a formal foundational to orchestration languages. ENTCS 105, 51–71 (2004)Google Scholar

Copyright information

© Springer Berlin Heidelberg 2007

Authors and Affiliations

  • Alessandro Lapadula
    • 1
  • Rosario Pugliese
    • 1
  • Francesco Tiezzi
    • 1
  1. 1.Dipartimento di Sistemi e Informatica Università degli Studi di Firenze 

Personalised recommendations