×

CaSPiS: a calculus of sessions, pipelines and services. (English) Zbl 1361.68161

Summary: 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.

MSC:

68Q85 Models and methods for concurrent and distributed computing (process algebras, bisimulation, transition nets, etc.)
68N30 Mathematical aspects of software engineering (specification, verification, metrics, requirements, etc.)
PDFBibTeX XMLCite
Full Text: DOI

References:

[1] DOI: 10.1007/11817949_32 · Zbl 1151.68360 · doi:10.1007/11817949_32
[2] Springer Lecture Notes in Computer Science 5387 pp 176– (2009)
[3] DOI: 10.1007/978-3-540-68863-1_3 · Zbl 05288307 · doi:10.1007/978-3-540-68863-1_3
[4] DOI: 10.1007/BFb0053567 · doi:10.1007/BFb0053567
[5] DOI: 10.1007/11841197_3 · doi:10.1007/11841197_3
[6] Springer Lecture Notes in Computer Science 4421 pp 509– (1993)
[7] DOI: 10.1007/978-3-540-78663-4_17 · Zbl 05256623 · doi:10.1007/978-3-540-78663-4_17
[8] DOI: 10.1007/978-3-642-03459-6_5 · Zbl 1252.68106 · doi:10.1007/978-3-642-03459-6_5
[9] DOI: 10.1007/3-540-49099-X_6 · doi:10.1007/3-540-49099-X_6
[10] DOI: 10.1007/978-3-540-68265-3_2 · Zbl 05286153 · doi:10.1007/978-3-540-68265-3_2
[11] DOI: 10.1007/978-3-540-73196-2_5 · Zbl 1215.68148 · doi:10.1007/978-3-540-73196-2_5
[12] DOI: 10.1007/978-3-540-71389-0_4 · Zbl 1195.68027 · doi:10.1007/978-3-540-71389-0_4
[13] DOI: 10.1007/11888116_4 · Zbl 05527864 · doi:10.1007/11888116_4
[14] DOI: 10.1016/j.scico.2008.02.001 · Zbl 1146.68050 · doi:10.1016/j.scico.2008.02.001
[15] Springer Lecture Notes in Computer Science 3705 pp 299– (2007)
[16] DOI: 10.1007/978-3-540-68679-8_40 · Zbl 1143.68469 · doi:10.1007/978-3-540-68679-8_40
[17] DOI: 10.1016/j.entcs.2009.07.071 · Zbl 1339.68157 · doi:10.1016/j.entcs.2009.07.071
[18] DOI: 10.1016/j.tcs.2008.08.017 · Zbl 1157.68050 · doi:10.1016/j.tcs.2008.08.017
[19] DOI: 10.1007/11767954_6 · Zbl 05570410 · doi:10.1007/11767954_6
[20] Proceedings of POPL’08 pp 261– (2008)
[21] DOI: 10.1007/11841197_10 · doi:10.1007/11841197_10
[22] DOI: 10.1007/978-3-642-01918-0_5 · Zbl 05558939 · doi:10.1007/978-3-642-01918-0_5
[23] DOI: 10.1007/978-3-540-85361-9_32 · Zbl 1160.68459 · doi:10.1007/978-3-540-85361-9_32
[24] DOI: 10.1007/978-3-540-71316-6_2 · Zbl 1187.68064 · doi:10.1007/978-3-540-71316-6_2
[25] Leibniz International Proceedings in Informatics 8 pp 338– (2010)
[26] DOI: 10.1007/978-3-540-78739-6_21 · Zbl 1133.68388 · doi:10.1007/978-3-540-78739-6_21
[27] DOI: 10.1007/11767954_5 · Zbl 05570409 · doi:10.1007/11767954_5
[28] Springer Lecture Notes in Computer Science 6582 (2011)
[29] DOI: 10.1007/978-3-540-71316-6_3 · Zbl 1187.68063 · doi:10.1007/978-3-540-71316-6_3
[30] DOI: 10.1016/j.tcs.2008.04.037 · Zbl 1147.68436 · doi:10.1016/j.tcs.2008.04.037
[31] DOI: 10.1007/978-3-540-79980-1_8 · Zbl 1170.68428 · doi:10.1007/978-3-540-79980-1_8
[32] DOI: 10.1023/A:1022883727209 · Zbl 01904961 · doi:10.1023/A:1022883727209
[33] Proceedings of IFIP-TCS’04 pp 569– (2004)
[34] Springer Lecture Notes in Computer Science 6921 pp 259– (2010)
[35] DOI: 10.1007/978-3-540-68265-3_5 · Zbl 05286156 · doi:10.1007/978-3-540-68265-3_5
[36] DOI: 10.1007/s10270-006-0012-1 · Zbl 05149645 · doi:10.1007/s10270-006-0012-1
[37] Scientific Annals of Computer Science 20 pp 53– (2010)
[38] DOI: 10.1016/0890-5401(92)90008-4 · Zbl 0752.68036 · doi:10.1016/0890-5401(92)90008-4
[39] DOI: 10.1007/978-3-642-00945-7_5 · Zbl 05540682 · doi:10.1007/978-3-642-00945-7_5
[40] DOI: 10.1007/11539452_30 · doi:10.1007/11539452_30
[41] DOI: 10.1007/978-3-540-68265-3_14 · Zbl 05286165 · doi:10.1007/978-3-540-68265-3_14
[42] DOI: 10.1007/978-3-642-01918-0_1 · Zbl 05558935 · doi:10.1007/978-3-642-01918-0_1
[43] DOI: 10.1007/978-3-540-71316-6_4 · Zbl 1187.68070 · doi:10.1007/978-3-540-71316-6_4
[44] Fundamenta Informaticae 89 pp 451– (2008)
[45] DOI: 10.1007/978-3-540-31982-5_18 · doi:10.1007/978-3-540-31982-5_18
[46] DOI: 10.1007/978-3-540-72794-1_6 · Zbl 05570442 · doi:10.1007/978-3-540-72794-1_6
[47] DOI: 10.1007/978-3-540-68679-8_42 · Zbl 1143.68330 · doi:10.1007/978-3-540-68679-8_42
[48] DOI: 10.1007/s002360050124 · Zbl 0908.68103 · doi:10.1007/s002360050124
[49] Proceedings of SEFM’07 pp 305– (2007)
[50] Proceedings of POPL’08 pp 273– (2008)
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. In some cases that data have been complemented/enhanced by data from zbMATH Open. This attempts to reflect the references listed in the original paper as accurately as possible without claiming completeness or a perfect matching.