Skip to main content

Calculi for Service-Oriented Computing

  • Chapter
Formal Methods for Web Services (SFM 2009)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 5569))

Abstract

It is widely recognised that process calculi stay to concurrent computing as lambda-calculus stays to sequential computing; in fact, they lay abstract, rigorous foundations for the analysis of interactive, communicating systems. Nowadays, the increasing popularity of Service-Oriented Computing (SOC) challenges the quest for novel abstractions tailored to the well-disciplined handling of specific issues, like long running interactions, orchestration, and unexpected events. In fact, these features emerge neatly in most SOC applications and need to be studied as first-class aspects, whereas they would be obfuscated if dealt with by sophisticated encoding in traditional process calculi. This paper overviews some of the most recent proposals emerged in the literature, pointing out their main characteristics and presents in more detail one such proposal, called CaSPiS, by providing several examples to give evidence of its flexibility. No prior acquaintance with process calculi is assumed, indeed a gentle introduction to their basics is provided before the more advanced material be presented.

Research supported by the Project FET-GC II IST-2005-16004 Sensoria and by the Italian FIRB Project Tocai.it.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 54.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 69.95
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Acciai, L., Boreale, M.: A type system for client progress in a service-oriented calculus. In: Degano, P., De Nicola, R., Meseguer, J. (eds.) Concurrency, Graphs and Models. LNCS, vol. 5065, pp. 642–658. Springer, Heidelberg (2008)

    Google Scholar 

  2. Aceto, L., Ingólfsdóttir, A., Larsen, K., Srba, J.: Reactive Systems: Modelling, Specification and Verification. Cambridge University Press, Cambridge (2007)

    Book  MATH  Google Scholar 

  3. Bartoletti, M., Degano, P., Ferrari, G., Zunino, R.: Types and effects for Resource Usage Analysis. In: Seidl, H. (ed.) FOSSACS 2007. LNCS, vol. 4423, pp. 32–47. Springer, Heidelberg (2007)

    Google Scholar 

  4. Bettini, L., De Nicola, R., Loreti, M.: Implementing Session Centered Calculi. In: Lea, D., Zavattaro, G. (eds.) COORDINATION 2008. LNCS, vol. 5052, pp. 17–32. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  5. Bodei, C., Brodo, L., Bruni, R.: Static detection of logic flaws in service applications. In: Proceedings of ARSPA-WITS 2009, Joint Workshop on Automated Reasoning for Security Protocol Analysis and Issues in the Theory of Security. LNCS. Springer, Heidelberg (2009) (to appear)

    Google Scholar 

  6. Bonelli, E., Compagnoni, A.: Multisession session types for a distributed calculus. In: Barthe, G., Fournet, C. (eds.) TGC 2007. LNCS, vol. 4912, pp. 240–256. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  7. 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, pp. 38–57. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  9. Bravetti, M., Zavattaro, G.: A Foundational Theory of Contracts for Multi-party Service Composition. Fundam. Inform. 89(4), 451–478 (2008)

    MathSciNet  MATH  Google Scholar 

  10. Bruni, R., De Nicola, R., Loreti, M., Mezzina, L.: Provably correct implementations of services. In: Kaklamanis, C., Nielson, F. (eds.) TGC 2008. LNCS, vol. 5474, pp. 69–86. Springer, Heidelberg (2009)

    Google Scholar 

  11. Bruni, R., Lanese, I.: Parametric synchronizations in mobile nominal calculi. Theoretical Computer Science 402(2-3), 102–119 (2008)

    Article  MathSciNet  MATH  Google Scholar 

  12. 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 

  13. Bruni, R., Melgratti, H., Montanari, U.: Nested commits for mobile calculi: extending Join. In: Lévy, J.-J., Mayr, E., Mitchell, J. (eds.) Proceedings of the 3rd IFIP-TCS 2004, 3rd IFIP Intl. Conference on Theoretical Computer Science, pp. 569–582. Kluwer Academic Publishers, Dordrecht (2004)

    Google Scholar 

  14. Bruni, R., Melgratti, H., Montanari, U.: Theoretical foundations for compensations in flow composition languages. In: POPL 2005: Proceedings of the 32nd ACM SIGPLAN-SIGACT sysposium on Principles of programming languages, pp. 209–220. ACM Press, New York (2005)

    Google Scholar 

  15. Bruni, R., Mezzina, L.: Types and deadlock freedom in a calculus of services, sessions and pipelines. In: Rosu, G., Meseguer, J. (eds.) AMAST 2008. LNCS, vol. 5140, pp. 100–115. Springer, Heidelberg (2008)

    Google Scholar 

  16. Buscemi, M., Montanari, U.: CC-Pi: A Constraint-Based Language for Specifying Service Level Agreements. In: Nicola, R.D. (ed.) ESOP 2007. LNCS, vol. 4421, pp. 18–32. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  17. Busi, N., Gorrieri, R., Guidi, C., Lucchi, R., Zavattaro, G.: Choreography and orchestration conformance for system design. In: Ciancarini, P., Wiklicky, H. (eds.) COORDINATION 2006. LNCS, vol. 4038, pp. 63–81. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  18. Butler, M., Bruni, R., 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)

    Chapter  Google Scholar 

  19. Butler, M., Hoare, T., Ferreira, C.: A trace semantics for long-running transactions. In: Abdallah, A., Sanders, J. (eds.) 25 Years Communicating Sequential Processes. LNCS, vol. 3525, pp. 133–150. Springer, Heidelberg (2005)

    Google Scholar 

  20. Caires, L., Vieira, H.T., Seco, J.C.: The conversation calculus: A model of service oriented computation. In: Drossopoulou, S. (ed.) ESOP 2008. LNCS, vol. 4960, pp. 269–283. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  21. 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)

    Chapter  Google Scholar 

  22. Castagna, G., Gesbert, N., Padovani, L.: A theory of contracts for web services. In: Proceedings of POPL 2008, pp. 261–272. ACM, New York (2008)

    Google Scholar 

  23. Cook, W.R., Patwardhan, S., Misra, J.: Workflow patterns in Orc. In: Ciancarini, P., Wiklicky, H. (eds.) COORDINATION 2006. LNCS, vol. 4038, pp. 82–96. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  24. Curtin, E., Warshauer, M.: The locker puzzle. The Mathematical Intelligencer 28(1), 28–31 (2006)

    Article  MATH  Google Scholar 

  25. De Nicola, R., Latella, D., Loreti, M., Massink, M.: MarCaSPiS: a markovian extension of a calculus for services. In: Proceedings of SOS 2008. Elect. Notes in Th. Comput. Sci. (2008) (to appear)

    Google Scholar 

  26. Dezani-Ciancaglini, M., Yoshida, N., Ahern, A., Drossopoulou, S.: A distributed object-oriented language with session types. In: De Nicola, R., Sangiorgi, D. (eds.) TGC 2005. LNCS, vol. 3705, pp. 299–318. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  27. Ene, C., Muntean, T.: A broadcast-based calculus for communicating systems. In: Proc. of IPDPS 2001. IEEE Computer Society, Los Alamitos (2001)

    Google Scholar 

  28. Ferrari, G., Guanciale, R., Strollo, D.: JSCL: A Middleware for Service Coordination. In: Najm, E., Pradat-Peyre, J.-F., Donzeau-Gouge, V.V. (eds.) FORTE 2006. LNCS, vol. 4229, pp. 46–60. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  29. Ferrari, G., Guanciale, R., Strollo, D., Tuosto, E.: Coordination via types in an event-based framework. In: Derrick, J., Vain, J. (eds.) FORTE 2007. LNCS, vol. 4574, pp. 66–80. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  30. Gay, S., Hole, M.: Types and subtypes for client-server interactions. In: Swierstra, S.D. (ed.) ESOP 1999. LNCS, vol. 1576, pp. 74–90. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  31. van Glabbeek, R.: The linear time – branching time spectrum II; the semantics of sequential systems with silent moves (extended abstract). In: Best, E. (ed.) CONCUR 1993. LNCS, vol. 715, pp. 66–81. Springer, Heidelberg (1993)

    Google Scholar 

  32. van Glabbeek, R.: The linear time – branching time spectrum I; the semantics of concrete, sequential processes. In: Bergstra, J., Ponse, A., Smolka, S. (eds.) Handbook of Process Algebra, ch. 1, pp. 3–99. Elsevier, Amsterdam (2001)

    Chapter  Google Scholar 

  33. Hoare, C.: A model for communicating sequential processes. In: On the Construction of Programs. Cambridge University Press, Cambridge (1980)

    Google Scholar 

  34. Honda, K.: Types for dyadic interaction. In: Best, E. (ed.) CONCUR 1993. LNCS, vol. 715, pp. 509–523. Springer, Heidelberg (1993)

    Google Scholar 

  35. Honda, K., Vasconcelos, V., Kubo, M.: Language primitives and type disciplines for structured communication-based programming. In: Hankin, C. (ed.) ESOP 1998. LNCS, vol. 1381, pp. 122–138. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  36. Honda, K., Yoshida, N., Carbone, M.: Multiparty asynchronous session types. In: POPL 2008, Proceedings of the 35th ACM SIGPLAN-SIGACT Symposium on Priniciples of Programming Languages, pp. 273–284. ACM Press, New York (2008)

    Google Scholar 

  37. 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)

    Chapter  Google Scholar 

  38. Kolundzija, M.: Security types for sessions and pipelines. In: Bruni, R., Wolf, K. (eds.) WS-FM 2008. LNCS, vol. 5387, pp. 176–190. Springer, Heidelberg (2009)

    Google Scholar 

  39. Lanese, I., Vasconcelos, V., Martins, F., Ravara, A.: Disciplining orchestration and conversation in service-oriented computing. In: Proc. of SEFM 2007, Fifth IEEE International Conference on Software Engineering and Formal Methods, pp. 305–314. IEEE Computer Society Press, Los Alamitos (2007)

    Google Scholar 

  40. Laneve, C., Padovani, L.: The pairing of contracts and session types. In: Degano, P., De Nicola, R., Meseguer, J. (eds.) Concurrency, Graphs and Models. LNCS, vol. 5065, pp. 681–700. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  41. Laneve, C., Zavattaro, G.: Foundations of web transactions. In: Sassone, V. (ed.) FOSSACS 2005. LNCS, vol. 3441, pp. 282–298. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  42. 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)

    Chapter  Google Scholar 

  43. Lapadula, A., Pugliese, R., Tiezzi, F.: A formal account of WS-BPEL. In: Lea, D., Zavattaro, G. (eds.) COORDINATION 2008. LNCS, vol. 5052, pp. 199–215. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  44. Mezzina, L.: 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)

    Chapter  Google Scholar 

  45. Mezzina, L.: Typing Services. Ph.D in Computer Science and Engineering, IMT Institute for Advanced Studies, Lucca (2009)

    Google Scholar 

  46. Milner, R. (ed.): A Calculus of Communication Systems. LNCS, vol. 92. Springer, Heidelberg (1980)

    MATH  Google Scholar 

  47. Milner, R.: Functions as processes. Math. Struct. in Comput. Sci. 2(2), 119–141 (1992)

    Article  MathSciNet  MATH  Google Scholar 

  48. Milner, R.: Communicating and Mobile Systems: The pi-calculus. Cambridge University Press, Cambridge (1997)

    MATH  Google Scholar 

  49. Milner, R., Parrow, J., Walker, J.: A calculus of mobile processes, I and II. Inform. and Comput. 100(1), 1–77 (1992)

    Article  MathSciNet  MATH  Google Scholar 

  50. Misra, J., Cook, W.R.: Computation orchestration: A basis for wide-area computing. Journal of Software and Systems Modeling 6(1), 83–110 (2007); A preliminary version of this paper appeared in the Lecture Notes for NATO summer school, held at Marktoberdorf in August 2004

    Article  Google Scholar 

  51. Plotkin, G.: A structural approach to operational semantics. Technical Report DAIMI FN-19, Aarhus University, Computer Science Department (1981)

    Google Scholar 

  52. Plotkin, G.D.: The origins of structural operational semantics. Journal of Logic and Algebraic Programming 60-61, 3–15 (2004)

    Article  MathSciNet  MATH  Google Scholar 

  53. Plotkin, G.D.: A structural approach to operational semantics. Journal of Logic and Algebraic Programming 60-61, 17–139 (2004)

    Article  MathSciNet  MATH  Google Scholar 

  54. Rosaz, L.: Puzzle corner #70: The 50 prisoners. Bulletin of the European Association for Theoretical Computer Science (EATCS) 86, 229 (2005)

    Google Scholar 

  55. Sangiorgi, D.: Expressing Mobility in Process Algebras: First-Order and Higher-Order Paradigms. Ph.D thesis, LFCS, University of Edinburgh, CST-99-93 (also published as ECS-LFCS-93-266) (1993)

    Google Scholar 

  56. Sangiorgi, D., Walker, D.: The pi-calculus: a theory of mobile processes. Cambridge University Press, Cambridge (2001)

    MATH  Google Scholar 

  57. Sensoria Project. Software Engineering for Service-Oriented Overlay Computers. Public Web Site, http://sensoria.fast.de/

  58. Vasconcelos, V.: Fundamentals of session types. In: Bernardo, M., Padovani, L., Zavattaro, G. (eds.) SFM 2009. LNCS, vol. 5569, pp. 158–186. Springer, Heidelberg (2009)

    Google Scholar 

  59. Wehrman, I., Kitchin, D., Cook, W.R., Misra, J.: A timed semantics of Orc. Theoretical Computer Science 402(2-3), 234–248 (2008)

    Article  MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Bruni, R. (2009). Calculi for Service-Oriented Computing. In: Bernardo, M., Padovani, L., Zavattaro, G. (eds) Formal Methods for Web Services. SFM 2009. Lecture Notes in Computer Science, vol 5569. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-01918-0_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-01918-0_1

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-01917-3

  • Online ISBN: 978-3-642-01918-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics