SHF:Small: Enriching Session Types for Practical Concurrent Programming
SHF:Small: Enriching Session Types for Practical Concurrent Programming
批准号:
1718267
负责人:
Frank Pfenning
金额:
$45.0万
依托单位国家:
美国
项目类别:
Standard Grant
财政年份:
2017
资助国家:
美国
项目状态:
已结题
起止时间:
2017-07-15 至 2020-06-30
中文摘要
由于许多应用程序的分布式特性和性能提升的前景,并发编程正变得越来越普遍。然而,由于数据竞争和死锁的存在,并发编程也是出了名的容易出错。并发编程的一种很有前途的方法是消息传递并发,这是因为它具有更高级别的抽象。消息传递并发性已被各种实用编程语言采用,如Erlang、Go和Rust。例如,Serve是在Rust中开发的一个实验性浏览器引擎,它利用任务的消息传递并发性,如DOM遍历、布局绘制和JavaScript执行。该研究项目研究了会话类型在实际消息传递并发中的应用,同时解决了数据竞争和死锁的陷阱。会话类型允许对消息交换协议进行表达式和编译时检查。该项目的智力优势是提升了会话类型的表现力,以适应当今的并发通信模式,同时保持其逻辑基础的真实性。这个研究项目的逻辑基础是最近发现的直觉线性逻辑和会话类型之间的Curry-Howard同构,它将线性命题与会话类型联系起来,将顺序演算证明与并发进程联系起来,并将简约化为消息传递通信。建立在此基础上的现有工作提供了强有力的保证,但也缩小了会话类型的适用性。这项研究的目的有两个:(I)增加会话类型的适用性,同时保持其逻辑基础不变,以及(Ii)展示所产生的技术对现实世界软件开发的实用性。对于(Ii),该项目探索了(I)产生的技术在伺服代码库中的应用。对于(I),该项目首先探索引入共享频道,以支持根据情况性质或出于性能考虑而需要共享的程序。这种探索中的关键问题是防止共享通道上的数据竞争,以保证会话保真度和保证某种形式的全球进展。在最简单的形式下,全球进步将缺乏僵局自由,这是一种纯粹线性环境下的属性。在第二阶段,给出了死锁预防的逻辑解释。在第三阶段,该项目探索了使用依赖类型来丰富会话类型,以表达和验证主要与协议无关的属性。在所有情况下,都给出了可靠性的证明以及适应所开发技术的会话型并发编程语言的原型。
英文摘要
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.
期刊论文(9)
专著(0)
科研奖励(0)
会议论文
登录
查看更多内容
A Universal Session Type for Untyped Asynchronous Communication
用于无类型异步通信的通用会话类型
DOI:
--
发表时间:
2018
期刊:
Leibniz international proceedings in informatics
影响因子:
--
作者:
[Balzer, Stephanie, Pfenning, Frank, Toninho, Bernardo]
通讯作者:
Toninho, Bernardo
Domain-Aware Session Types
域感知会话类型
DOI:
10.4230/lipics.concur.2019.39
发表时间:
2019
期刊:
Leibniz international proceedings in informatics
影响因子:
--
作者:
[Caires, Luis, Perez, Jorge A., Pfenning, Frank, Toninho, Bernardo]
通讯作者:
Toninho, Bernardo
DOI:
10.4204/eptcs.291.6
发表时间:
2019
期刊:
Electronic Proceedings in Theoretical Computer Science
影响因子:
--
作者:
[Pruiksma, Klaas, Pfenning, Frank]
通讯作者:
Pfenning, Frank
DOI:
10.1145/3110281
发表时间:
2017-09-01
期刊:
PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL
影响因子:
1.8
作者:
[Balzer, Stephanie, Pfenning, Frank]
通讯作者:
Pfenning, Frank
Semi-Axiomatic Sequent Calculus
半公理序贯微积分
DOI:
10.4230/lipics.fscd.2020.29
发表时间:
2020
期刊:
Leibniz international proceedings in informatics
影响因子:
--
作者:
[DeYoung, Henry, Pfenning, Frank, Pruiksma, Klaas]
通讯作者:
Pruiksma, Klaas
共 6 条
CPS: Frontier: Collaborative Research: Compositional, Approximate, and Quantitative Reasoning for Medical Cyber-Physical Systems
-
批准号:1446725
-
项目类别:Continuing Grant
-
资助金额:$19.61万
-
财政年份:2015
-
负责人:Frank Pfenning
-
依托单位:
CPS: Breakthrough: Rigorous Integration of Decision Procedures and Numerical Algorithms for the Formal Verification of Cyber-Physical Systems
-
批准号:1330014
-
项目类别:Standard Grant
-
资助金额:$49.97万
-
财政年份:2013
-
负责人:Frank Pfenning
-
依托单位:
CT-T: Collaborative Research: Manifest Security
-
批准号:0716469
-
项目类别:Standard Grant
-
资助金额:$0.0万
-
财政年份:2007
-
负责人:Frank Pfenning
-
依托单位:
Efficient Logical Frameworks
-
批准号:0306313
-
项目类别:Continuing Grant
-
资助金额:$31.87万
-
财政年份:2003
-
负责人:Frank Pfenning
-
依托单位:
Type Refinements
-
批准号:0204248
-
项目类别:Continuing Grant
-
资助金额:$30.0万
-
财政年份:2002
-
负责人:Frank Pfenning
-
依托单位:
Meta-logical Frameworks
-
批准号:9988281
-
项目类别:Standard Grant
-
资助金额:$29.32万
-
财政年份:2000
-
负责人:Frank Pfenning
-
依托单位:
U.S.- Germany Cooperative Research: Proof Search in Logical Frameworks
-
批准号:9909952
-
项目类别:Standard Grant
-
资助金额:$1.2万
-
财政年份:2000
-
负责人:Frank Pfenning
-
依托单位:
Design, Implementation and Application of a Framework for the Formalization of Deductive Systems
-
批准号:9619584
-
项目类别:Standard Grant
-
资助金额:$16.0万
-
财政年份:1997
-
负责人:Frank Pfenning
-
依托单位:
Design, Implementation, & Application of a Framework for the Formalization of Deductive Systems
-
批准号:9303383
-
项目类别:Continuing Grant
-
资助金额:$38.82万
-
财政年份:1993
-
负责人:Frank Pfenning
-
依托单位:
国内基金
海外基金
登录
查看更多内容
昼夜节律性small RNA在血斑形成时间推断中的法医学应用研究
-
批准号:
-
项目类别:省市级项目
-
资助金额:--
-
批准年份:2024
-
负责人:
-
依托单位:
tRNA-derived small RNA上调YBX1/CCL5通路参与硼替佐米诱导慢性疼痛的机制研究
-
批准号:
-
项目类别:省市级项目
-
资助金额:10.0万元
-
批准年份:2022
-
负责人:张祥忠
-
依托单位:
Small RNA调控I-F型CRISPR-Cas适应性免疫性的应答及分子机制
-
批准号:32000033
-
项目类别:青年科学基金项目
-
资助金额:24.0万元
-
批准年份:2020
-
负责人:林平
-
依托单位:
Small RNAs调控解淀粉芽胞杆菌FZB42生防功能的机制研究
-
批准号:31972324
-
项目类别:面上项目
-
资助金额:58.0万元
-
批准年份:2019
-
负责人:高学文
-
依托单位:
变异链球菌small RNAs连接LuxS密度感应与生物膜形成的机制研究
-
批准号:81900988
-
项目类别:青年科学基金项目
-
资助金额:21.0万元
-
批准年份:2019
-
负责人:毛梦莹
-
依托单位:
肠道细菌关键small RNAs在克罗恩病发生发展中的功能和作用机制
-
批准号:31870821
-
项目类别:面上项目
-
资助金额:56.0万元
-
批准年份:2018
-
负责人:陈江宁
-
依托单位:
基于small RNA 测序技术解析鸽分泌鸽乳的分子机制
-
批准号:31802058
-
项目类别:青年科学基金项目
-
资助金额:26.0万元
-
批准年份:2018
-
负责人:麻慧
-
依托单位:
Small RNA介导的DNA甲基化调控的水稻草矮病毒致病机制
-
批准号:31772128
-
项目类别:面上项目
-
资助金额:60.0万元
-
批准年份:2017
-
负责人:吴建国
-
依托单位:
基于small RNA-seq的针灸治疗桥本甲状腺炎的免疫调控机制研究
-
批准号:81704176
-
项目类别:青年科学基金项目
-
资助金额:20.0万元
-
批准年份:2017
-
负责人:赵继梦
-
依托单位:
水稻OsSGS3与OsHEN1调控small RNAs合成及其对抗病性的调节
-
批准号:91640114
-
项目类别:重大研究计划
-
资助金额:85.0万元
-
批准年份:2016
-
负责人:何祖华
-
依托单位: