{"title":"Mixed choice in session types","authors":"Kirstin Peters , Nobuko Yoshida","doi":"10.1016/j.ic.2024.105164","DOIUrl":null,"url":null,"abstract":"<div><p>Session types provide a flexible programming style for structuring interaction, and are used to guarantee a safe and consistent composition of distributed processes. Traditional session types include only one-directional input (external) and output (internal) guarded choices. This prevents the session-processes to explore the full expressive power of the <em>π</em>-calculus where mixed choice was proved more expressive. Recently Casal, Mordido, and Vasconcelos proposed binary session types with mixed choices (<span><math><msup><mrow><mi>CMV</mi></mrow><mrow><mo>+</mo></mrow></msup></math></span>). Surprisingly, in spite of an inclusion of unrestricted channels with mixed choice, <span><math><msup><mrow><mi>CMV</mi></mrow><mrow><mo>+</mo></mrow></msup></math></span>'s mixed choice is rather separate and not mixed. We prove this negative result using two methodologies (using either the leader election problem or a synchronisation pattern as distinguishing feature), showing that there exists no good encoding from the <em>π</em>-calculus into <span><math><msup><mrow><mi>CMV</mi></mrow><mrow><mo>+</mo></mrow></msup></math></span>, preserving distribution. We then close their open problem on the encoding from <span><math><msup><mrow><mi>CMV</mi></mrow><mrow><mo>+</mo></mrow></msup></math></span> into <span><math><mi>CMV</mi></math></span> (without mixed choice), proving its soundness.</p></div>","PeriodicalId":54985,"journal":{"name":"Information and Computation","volume":"298 ","pages":"Article 105164"},"PeriodicalIF":0.8000,"publicationDate":"2024-03-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S0890540124000294/pdfft?md5=9b67e36d131b28461aba20580ca397f6&pid=1-s2.0-S0890540124000294-main.pdf","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Information and Computation","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0890540124000294","RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"COMPUTER SCIENCE, THEORY & METHODS","Score":null,"Total":0}
引用次数: 0
Abstract
Session types provide a flexible programming style for structuring interaction, and are used to guarantee a safe and consistent composition of distributed processes. Traditional session types include only one-directional input (external) and output (internal) guarded choices. This prevents the session-processes to explore the full expressive power of the π-calculus where mixed choice was proved more expressive. Recently Casal, Mordido, and Vasconcelos proposed binary session types with mixed choices (). Surprisingly, in spite of an inclusion of unrestricted channels with mixed choice, 's mixed choice is rather separate and not mixed. We prove this negative result using two methodologies (using either the leader election problem or a synchronisation pattern as distinguishing feature), showing that there exists no good encoding from the π-calculus into , preserving distribution. We then close their open problem on the encoding from into (without mixed choice), proving its soundness.
期刊介绍:
Information and Computation welcomes original papers in all areas of theoretical computer science and computational applications of information theory. Survey articles of exceptional quality will also be considered. Particularly welcome are papers contributing new results in active theoretical areas such as
-Biological computation and computational biology-
Computational complexity-
Computer theorem-proving-
Concurrency and distributed process theory-
Cryptographic theory-
Data base theory-
Decision problems in logic-
Design and analysis of algorithms-
Discrete optimization and mathematical programming-
Inductive inference and learning theory-
Logic & constraint programming-
Program verification & model checking-
Probabilistic & Quantum computation-
Semantics of programming languages-
Symbolic computation, lambda calculus, and rewriting systems-
Types and typechecking