Session types are types for specifying the protocols that communicating processes must follow in a concurrent system. When composing two or more well-typed processes, a session typing system must check whether such processes are multiparty compatible, a property that guarantees that all sent messages are eventually received and no deadlock ever occurs. Previous work has shown that duality and the more general notion of coherence are sufficient syntactic conditions for guaranteeing the multiparty compatibility property. In this paper, following a propositions-as-types fashion which relates session types to linear logic, we generalise coherence to forwarders. Forwarders are processes that act as middleware by forwarding messages according to a given protocol. Our main result shows that forwarders not only generalise coherence, but fully capture all well-typed multiparty compatible processes.
翻译:暂无翻译