Session types are a discipline for the static verification of message-passing programs. A session type specifies a channel's protocol as sequences of exchanges. It is most relevant to investigate session-based concurrency by identifying the essential notions that enable program specification and verification. Following that perspective, prior work identified minimal session types (MSTs), a sub-class of session types without the sequentiality construct (;), which specifies the structure of communication actions. This notion led to establish a minimality result: every process typable with standard session types can be compiled down to a process typable using MSTs, which mimics sequentiality in types via additional synchronizations. Such a minimality result is significant because it justifies session types in terms of themselves, without resorting to external notions; it was proven for a higher-order session $\pi$-calculus, where values are abstractions (functions from names to processes). This paper studies MSTs and their associated minimality result but now for the session $\pi$-calculus, the (first-order) language in which values are names and for which session types have been more widely studied. We first show that this new minimality result can be obtained by composing known results. Then, we develop optimizations of this new minimality result and prove that the associated transformation into processes with MSTs satisfies dynamic correctness.


翻译:会话类型是一种用于静态验证消息传递程序的学科。会话类型指定了通道的协议作为交换序列。通过识别启用程序规范和验证的基本概念,研究基于会话的并发性变得更加重要。遵循这个角度,之前的研究确定了最简会话类型(MSTs),它是没有顺序构造(;)的会话类型子类,它指定了通信行为的结构。这个概念提供了一个极简结果:使用标准会话类型可编译成可使用MSTs类型实现的进程,通过增加额外的同步来模拟类型中的顺序性。这种最小化结果是重要的,因为它仅仅使用自己的会话类型就可以证明会话类型的合理性,而不需要诉诸于外部概念。这个结果已被证明适用于高阶会话π演算,其中值是抽象(从名称到进程的函数)。本文研究了MST及其相关的最小化结果,但是现在针对会话π-演算,即名称为值且会话类型已被广泛研究的一阶语言进行研究。我们首先证明了通过组合已知结果可以得到这个新的极简结果。然后,我们优化了这个新的极简结果,并证明了与MSTs相关的转换满足动态正确性。

0
下载
关闭预览

相关内容

【ETH、Stanford】基于博弈论的运动规划,Tutorial ICRA '21
专知会员服务
55+阅读 · 2022年3月7日
Effective.Modern.C++ 中英文版,334页pdf
专知会员服务
67+阅读 · 2020年11月4日
专知会员服务
123+阅读 · 2020年9月8日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
77+阅读 · 2020年7月26日
Flutter 组件: Autocomplete 自动填充 | 开发者说·DTalk
谷歌开发者
0+阅读 · 2022年10月28日
VCIP 2022 Call for Demos
CCF多媒体专委会
1+阅读 · 2022年6月6日
征稿 | International Joint Conference on Knowledge Graphs (IJCKG)
开放知识图谱
2+阅读 · 2022年5月20日
Effective.Modern.C++ 中英文版,334页pdf
专知
26+阅读 · 2020年11月4日
ORB_SLAM3和之前版本有什么不同?
计算机视觉life
11+阅读 · 2020年7月30日
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
27+阅读 · 2019年5月18日
逆强化学习-学习人先验的动机
CreateAMind
15+阅读 · 2019年1月18日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
【推荐】SVM实例教程
机器学习研究会
17+阅读 · 2017年8月26日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
2+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
2+阅读 · 2009年12月31日
VIP会员
相关资讯
Flutter 组件: Autocomplete 自动填充 | 开发者说·DTalk
谷歌开发者
0+阅读 · 2022年10月28日
VCIP 2022 Call for Demos
CCF多媒体专委会
1+阅读 · 2022年6月6日
征稿 | International Joint Conference on Knowledge Graphs (IJCKG)
开放知识图谱
2+阅读 · 2022年5月20日
Effective.Modern.C++ 中英文版,334页pdf
专知
26+阅读 · 2020年11月4日
ORB_SLAM3和之前版本有什么不同?
计算机视觉life
11+阅读 · 2020年7月30日
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
27+阅读 · 2019年5月18日
逆强化学习-学习人先验的动机
CreateAMind
15+阅读 · 2019年1月18日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
【推荐】SVM实例教程
机器学习研究会
17+阅读 · 2017年8月26日
相关基金
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
2+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
2+阅读 · 2009年12月31日
Top
微信扫码咨询专知VIP会员