Mixed sessions (Q2055956): Difference between revisions
From MaRDI portal
Added link to MaRDI item. |
Removed claim: author (P16): Item:Q1352124 |
||
Property / author | |||
Property / author: Vasco Thudichum Vasconcelos / rank | |||
Revision as of 16:26, 27 February 2024
scientific article
Language | Label | Description | Also known as |
---|---|---|---|
English | Mixed sessions |
scientific article |
Statements
Mixed sessions (English)
0 references
1 December 2021
0 references
In the theory of concurrent systems, a choice between alternative actions is internal if the process, and external if its environment determines the choice. The most familiar example of this is input and output. A process sending an integer value to another process can be modelled by an interaction where the former process makes an internal choice between different integers, and the latter makes an external choice. In process algebras, also more general interactions are possible. For instance, each process may be happy with a set of values, in which case the choice is made nondeterministically from the intersection of these sets. If the intersection is empty, and if the processes are committed to the interaction (have no other choice), then deadlock results. Session types specify some aspects of the types of data in interactions and the order in which the interactions occur. Typically, they aim at guaranteeing at compile time that communication through a channel is correct in some sense. They have often been restricted to input-output type of communication. This study makes it possible to use internal and external choice in session types more liberally. This is promised to make programming more flexible and unify synchronisation/communication primitives. Programming is not restricted to the traditional distinction between servers and clients. The study presents how earlier session types can be interpreted or embedded in the new session types, and vice versa. It also proves that correct typing guarantees freedom of certain errors. However, freedom of deadlocks is not guaranteed. An implementation in typical message-passing architectures is sketched, with a brief discussion of its drawbacks. It is based on placing the decision of the choice into a broker process that may, but need not, be integrated into one of the original processes.
0 references
communication channels
0 references
session types
0 references
internal and external choice
0 references
mixed choice
0 references