@techreport{eprints1493, note = {Published in: Mathematical Structures in Computer Science, Volume 25, Issue 03, March 2015, pp 666-709}, author = {Michele Boreale and Roberto Bruni and Rocco De Nicola and Michele Loreti}, type = {CSA Technical Report}, institution = {IMT Institute for Advanced Studies Lucca}, title = {CaSPiS: A Calculus of Sessions, Pipelines and Services}, publisher = {IMT Institute for Advanced Studies Lucca}, year = {2013}, month = {February}, url = {http://eprints.imtlucca.it/1493/}, abstract = {Service-oriented computing is calling for novel computational models and languages with well disciplined primitives for client-server interaction, structured orchestration and unexpected events handling. We present CaSPiS, a process calculus where the conceptual abstractions of sessioning and pipelining play a central role for modelling service-oriented systems. CaSPiS sessions are two-sided, uniquely named and can be nested. CaSPiS pipelines permit 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 of the flexibility of the chosen set of primitives. One key contribution is a fully abstract encoding of Misra et al.?s orchestration language Orc. Another 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.} }