Language Primitives and Type Discipline for Structured Communication-Based Programming
ESOP '98 Proceedings of the 7th European Symposium on Programming: Programming Languages and Systems
An Interaction-based Language and its Typing System
PARLE '94 Proceedings of the 6th International PARLE Conference on Parallel Architectures and Languages Europe
Subtyping for session types in the pi calculus
Acta Informatica
Secure Implementations for Typed Session Abstractions
CSF '07 Proceedings of the 20th IEEE Computer Security Foundations Symposium
Electronic Notes in Theoretical Computer Science (ENTCS)
Structured communication-centred programming for web services
ESOP'07 Proceedings of the 16th European conference on Programming
COORDINATION'08 Proceedings of the 10th international conference on Coordination models and languages
The conversation calculus: a model of service-oriented computation
ESOP'08/ETAPS'08 Proceedings of the Theory and practice of software, 17th European conference on Programming languages and systems
Multipoint session types for a distributed calculus
TGC'07 Proceedings of the 3rd conference on Trustworthy global computing
Inference of Session Types From Control Flow
Electronic Notes in Theoretical Computer Science (ENTCS)
Efficient session type guided distributed interaction
COORDINATION'10 Proceedings of the 12th international conference on Coordination Models and Languages
Hi-index | 0.00 |
Synchronous communication is useful to model multiparty sessions where control for timing events and strong sequentially order of messages are essential to the problem specification. This paper continues the work on multiparty session types initiated by Honda et al. [Honda, K., N. Yoshida and M. Carbone, Multiparty asynchronous session types, in: G. C. Necula and P. Wadler, editors, POPL (2008), pp. 273-284] for synchronous communications. It provides a more relaxed syntax of the calculus, multicasting, higher-order communication via multipolarity labels and a clear definition of delegation in global types. The linearity property defines when a channel can be used in two different communications without creating a race condition and the type system checks if all the processes of a session implement the communication behavior specified in the global type. The type system of the calculus is proved to be sound with respect to the operational semantics and coherent with respect to the global types.