SHF:Small: Enriching Session Types for Practical Concurrent Programming
SHF:Small:丰富实用并发编程的会话类型
基本信息
- 批准号:1718267
- 负责人:
- 金额:$ 45万
- 依托单位:
- 依托单位国家:美国
- 项目类别:Standard Grant
- 财政年份:2017
- 资助国家:美国
- 起止时间:2017-07-15 至 2020-06-30
- 项目状态:已结题
- 来源:
- 关键词:
项目摘要
Concurrent programming is becoming increasingly prevalent because of the distributed nature of many applications and the prospect of performance gains. However, concurrent programming is also notoriously error-prone because of the presence of data races and deadlocks. A promising approach to concurrent programing is message-passing concurrency, due to its higher-level of abstraction. Message-passing concurrency has been adopted by various practical programming languages, such as Erlang, Go, and Rust. Servo, for example, is an experimental browser engine developed in Rust that exploits message-passing concurrency for tasks, such as DOM traversal, layout painting, and JavaScript execution. This research project studies the application of session types to practical message-passing concurrency, while addressing the pitfalls of data races and deadlocks. Session types allow the expression and compile-time checking of the protocols of message exchange. The project's intellectual merits are to lift the expressiveness of session types to accommodate today's concurrent communication patterns, while remaining truthful to their logical foundation. The project's broader significance and importance are its provision of both a foundational and practical view on concurrent programming, the development of curricular material at the sophomore-level, and a session type extension for Rust.The logical foundation of this research project is the recently discovered Curry-Howard isomorphism between intuitionistic linear logic and session types, which relates linear propositions to session types, sequent calculus proofs to concurrent processes, and cut reduction to message-passing communication. Existing work building on this foundation provides strong guarantees, but also narrows the applicability of session types. The aim of this research is two-fold: (i) to increase the applicability of session types, while keeping their logical foundation intact, and (ii) to demonstrate practicality of the resulting techniques to real-world software development. For (ii), the project explores the application of the techniques resulting from (i) to the Servo code base. For (i), the project first explores the introduction of shared channels to support programs that demand sharing by the nature of circumstances or for performance considerations. Key concerns in this exploration are the prevention of data races along shared channels to guarantee session fidelity and the assurance of a form of global progress. In its simplest form, global progress will lack deadlock freedom, a property holding in the purely linear setting. In a second phase, a logical interpretation of deadlock prevention is derived. In a third phase, the project explores the enrichment of session types with dependent typing for the expression and verification of properties that are not primarily protocol-related. In all cases, proofs of soundness as well as a prototype of a session-typed concurrent programming language accommodating the developed techniques are given.
由于许多应用程序的分布式特性和性能提高的前景,并发编程正变得越来越流行。 然而,并发编程也是出了名的容易出错,因为存在数据竞争和死锁。 一种很有前途的并发编程方法是消息传递并发,因为它具有更高的抽象级别。 消息传递并发性已经被各种实用的编程语言所采用,如Erlang,Go和Rust。 例如,Servo是一个在Rust中开发的实验性浏览器引擎,它利用了DOM遍历、布局绘制和JavaScript执行等任务的消息传递并发性。 这个研究项目研究会话类型在实际消息传递并发中的应用,同时解决数据竞争和死锁的陷阱。 会话类型允许消息交换协议的表达式和编译时检查。 该项目的智力价值是提升会话类型的表达能力,以适应当今的并发通信模式,同时保持其逻辑基础的真实性。 该项目的更广泛的意义和重要性在于它提供了并发编程的基础和实用观点,在走廊级别开发课程材料,以及Rust的会话类型扩展。该研究项目的逻辑基础是最近发现的直觉线性逻辑和会话类型之间的Curry-Howard同构,它将线性命题与会话类型联系起来,并发进程的并行演算证明,消息传递通信的裁减。 在此基础上建立的现有工作提供了强有力的保证,但也缩小了会话类型的适用性。 本研究的目的是双重的:(i)增加会话类型的适用性,同时保持其逻辑基础不变,以及(ii)展示所得到的技术在现实世界的软件开发中的实用性。 对于(ii),该项目探讨了从(i)到伺服代码库的技术的应用。 对于(i),该项目首先探讨了引入共享渠道,以支持因环境性质或绩效考虑而需要共享的计划。 这种探索的关键问题是防止沿着共享通道的数据竞争,以保证会话保真度和保证某种形式的全球进展。 在其最简单的形式中,全局进程将缺乏死锁自由,这是一个在纯线性设置中保持的属性。 在第二阶段,死锁预防的逻辑解释。 在第三阶段,该项目探索了丰富的会话类型与依赖类型的表达和验证的属性,主要是不相关的协议。 在所有的情况下,证明的合理性,以及一个原型的会话类型的并发编程语言,容纳开发的技术。
项目成果
期刊论文数量(9)
专著数量(0)
科研奖励数量(0)
会议论文数量(0)
专利数量(0)
A Universal Session Type for Untyped Asynchronous Communication
用于无类型异步通信的通用会话类型
- DOI:
- 发表时间:2018
- 期刊:
- 影响因子:0
- 作者:Balzer, Stephanie;Pfenning, Frank;Toninho, Bernardo
- 通讯作者:Toninho, Bernardo
Domain-Aware Session Types
域感知会话类型
- DOI:10.4230/lipics.concur.2019.39
- 发表时间:2019
- 期刊:
- 影响因子:0
- 作者:Caires, Luis;Perez, Jorge A.;Pfenning, Frank;Toninho, Bernardo
- 通讯作者:Toninho, Bernardo
A Message-Passing Interpretation of Adjoint Logic
伴随逻辑的消息传递解释
- DOI:10.4204/eptcs.291.6
- 发表时间:2019
- 期刊:
- 影响因子:0
- 作者:Pruiksma, Klaas;Pfenning, Frank
- 通讯作者:Pfenning, Frank
Manifest Sharing with Session Types
- DOI:10.1145/3110281
- 发表时间:2017-09-01
- 期刊:
- 影响因子:1.8
- 作者:Balzer, Stephanie;Pfenning, Frank
- 通讯作者:Pfenning, Frank
Semi-Axiomatic Sequent Calculus
半公理序贯微积分
- DOI:10.4230/lipics.fscd.2020.29
- 发表时间:2020
- 期刊:
- 影响因子:0
- 作者:DeYoung, Henry;Pfenning, Frank;Pruiksma, Klaas
- 通讯作者:Pruiksma, Klaas
{{
item.title }}
{{ item.translation_title }}
- DOI:
{{ item.doi }} - 发表时间:
{{ item.publish_year }} - 期刊:
- 影响因子:{{ item.factor }}
- 作者:
{{ item.authors }} - 通讯作者:
{{ item.author }}
数据更新时间:{{ journalArticles.updateTime }}
{{ item.title }}
- 作者:
{{ item.author }}
数据更新时间:{{ monograph.updateTime }}
{{ item.title }}
- 作者:
{{ item.author }}
数据更新时间:{{ sciAawards.updateTime }}
{{ item.title }}
- 作者:
{{ item.author }}
数据更新时间:{{ conferencePapers.updateTime }}
{{ item.title }}
- 作者:
{{ item.author }}
数据更新时间:{{ patent.updateTime }}
Frank Pfenning其他文献
A Logical Characterization of Forward and Backward Chaining in the Inverse Method
- DOI:
10.1007/s10817-007-9091-0 - 发表时间:
2008-01-24 - 期刊:
- 影响因子:0.800
- 作者:
Kaustuv Chaudhuri;Frank Pfenning;Greg Price - 通讯作者:
Greg Price
Editorial: Strategies in Automated Deduction
- DOI:
10.1023/a:1016668707781 - 发表时间:
2000-02-01 - 期刊:
- 影响因子:1.000
- 作者:
Bernhard Gramlich;Hélène Kirchner;Frank Pfenning - 通讯作者:
Frank Pfenning
Frank Pfenning的其他文献
{{
item.title }}
{{ item.translation_title }}
- DOI:
{{ item.doi }} - 发表时间:
{{ item.publish_year }} - 期刊:
- 影响因子:{{ item.factor }}
- 作者:
{{ item.authors }} - 通讯作者:
{{ item.author }}
{{ truncateString('Frank Pfenning', 18)}}的其他基金
CPS: Frontier: Collaborative Research: Compositional, Approximate, and Quantitative Reasoning for Medical Cyber-Physical Systems
CPS:前沿:协作研究:医疗网络物理系统的组合、近似和定量推理
- 批准号:
1446725 - 财政年份:2015
- 资助金额:
$ 45万 - 项目类别:
Continuing Grant
CPS: Breakthrough: Rigorous Integration of Decision Procedures and Numerical Algorithms for the Formal Verification of Cyber-Physical Systems
CPS:突破:决策程序和数值算法的严格集成,用于网络物理系统的形式验证
- 批准号:
1330014 - 财政年份:2013
- 资助金额:
$ 45万 - 项目类别:
Standard Grant
CT-T: Collaborative Research: Manifest Security
CT-T:协作研究:明显的安全性
- 批准号:
0716469 - 财政年份:2007
- 资助金额:
$ 45万 - 项目类别:
Standard Grant
U.S.- Germany Cooperative Research: Proof Search in Logical Frameworks
美德合作研究:逻辑框架中的证据搜索
- 批准号:
9909952 - 财政年份:2000
- 资助金额:
$ 45万 - 项目类别:
Standard Grant
Design, Implementation and Application of a Framework for the Formalization of Deductive Systems
演绎系统形式化框架的设计、实现和应用
- 批准号:
9619584 - 财政年份:1997
- 资助金额:
$ 45万 - 项目类别:
Standard Grant
Design, Implementation, & Application of a Framework for the Formalization of Deductive Systems
设计、实施、
- 批准号:
9303383 - 财政年份:1993
- 资助金额:
$ 45万 - 项目类别:
Continuing Grant
相似国自然基金
昼夜节律性small RNA在血斑形成时间推断中的法医学应用研究
- 批准号:
- 批准年份:2024
- 资助金额:0.0 万元
- 项目类别:省市级项目
tRNA-derived small RNA上调YBX1/CCL5通路参与硼替佐米诱导慢性疼痛的机制研究
- 批准号:n/a
- 批准年份:2022
- 资助金额:10.0 万元
- 项目类别:省市级项目
Small RNA调控I-F型CRISPR-Cas适应性免疫性的应答及分子机制
- 批准号:32000033
- 批准年份:2020
- 资助金额:24.0 万元
- 项目类别:青年科学基金项目
Small RNAs调控解淀粉芽胞杆菌FZB42生防功能的机制研究
- 批准号:31972324
- 批准年份:2019
- 资助金额:58.0 万元
- 项目类别:面上项目
变异链球菌small RNAs连接LuxS密度感应与生物膜形成的机制研究
- 批准号:81900988
- 批准年份:2019
- 资助金额:21.0 万元
- 项目类别:青年科学基金项目
基于small RNA 测序技术解析鸽分泌鸽乳的分子机制
- 批准号:31802058
- 批准年份:2018
- 资助金额:26.0 万元
- 项目类别:青年科学基金项目
肠道细菌关键small RNAs在克罗恩病发生发展中的功能和作用机制
- 批准号:31870821
- 批准年份:2018
- 资助金额:56.0 万元
- 项目类别:面上项目
Small RNA介导的DNA甲基化调控的水稻草矮病毒致病机制
- 批准号:31772128
- 批准年份:2017
- 资助金额:60.0 万元
- 项目类别:面上项目
基于small RNA-seq的针灸治疗桥本甲状腺炎的免疫调控机制研究
- 批准号:81704176
- 批准年份:2017
- 资助金额:20.0 万元
- 项目类别:青年科学基金项目
水稻OsSGS3与OsHEN1调控small RNAs合成及其对抗病性的调节
- 批准号:91640114
- 批准年份:2016
- 资助金额:85.0 万元
- 项目类别:重大研究计划
相似海外基金
CSR: Small: Leveraging Physical Side-Channels for Good
CSR:小:利用物理侧通道做好事
- 批准号:
2312089 - 财政年份:2024
- 资助金额:
$ 45万 - 项目类别:
Standard Grant
NeTS: Small: NSF-DST: Modernizing Underground Mining Operations with Millimeter-Wave Imaging and Networking
NeTS:小型:NSF-DST:利用毫米波成像和网络实现地下采矿作业现代化
- 批准号:
2342833 - 财政年份:2024
- 资助金额:
$ 45万 - 项目类别:
Standard Grant
CPS: Small: NSF-DST: Autonomous Operations of Multi-UAV Uncrewed Aerial Systems using Onboard Sensing to Monitor and Track Natural Disaster Events
CPS:小型:NSF-DST:使用机载传感监测和跟踪自然灾害事件的多无人机无人航空系统自主操作
- 批准号:
2343062 - 财政年份:2024
- 资助金额:
$ 45万 - 项目类别:
Standard Grant
Collaborative Research: FET: Small: Reservoir Computing with Ion-Channel-Based Memristors
合作研究:FET:小型:基于离子通道忆阻器的储层计算
- 批准号:
2403559 - 财政年份:2024
- 资助金额:
$ 45万 - 项目类别:
Standard Grant
オミックス解析を用いたブドウ球菌 small colony variants の包括的特徴づけ
使用组学分析全面表征葡萄球菌小菌落变体
- 批准号:
24K13443 - 财政年份:2024
- 资助金额:
$ 45万 - 项目类别:
Grant-in-Aid for Scientific Research (C)
AF: Small: Problems in Algorithmic Game Theory for Online Markets
AF:小:在线市场的算法博弈论问题
- 批准号:
2332922 - 财政年份:2024
- 资助金额:
$ 45万 - 项目类别:
Standard Grant
Collaborative Research: FET: Small: Algorithmic Self-Assembly with Crisscross Slats
合作研究:FET:小型:十字交叉板条的算法自组装
- 批准号:
2329908 - 财政年份:2024
- 资助金额:
$ 45万 - 项目类别:
Standard Grant
NeTS: Small: ML-Driven Online Traffic Analysis at Multi-Terabit Line Rates
NeTS:小型:ML 驱动的多太比特线路速率在线流量分析
- 批准号:
2331111 - 财政年份:2024
- 资助金额:
$ 45万 - 项目类别:
Standard Grant
Collaborative Research: SHF: Small: LEGAS: Learning Evolving Graphs At Scale
协作研究:SHF:小型:LEGAS:大规模学习演化图
- 批准号:
2331302 - 财政年份:2024
- 资助金额:
$ 45万 - 项目类别:
Standard Grant
Collaborative Research: SHF: Small: LEGAS: Learning Evolving Graphs At Scale
协作研究:SHF:小型:LEGAS:大规模学习演化图
- 批准号:
2331301 - 财政年份:2024
- 资助金额:
$ 45万 - 项目类别:
Standard Grant