Session Types for Reliable Distributed Systems (STARDUST)
Session Types for Reliable Distributed Systems (STARDUST)
批准号:
EP/T014628/1
负责人:
Simon Gay
金额:
$71.84万
依托单位:
依托单位国家:
英国
项目类别:
Research Grant
财政年份:
2020
资助国家:
英国
项目状态:
未结题
起止时间:
2020 至 --
中文摘要
分布式软件系统是现代社会基础设施的重要组成部分。这样的系统通常包括跨主机网络部署的各种软件组件。确保它们的可靠性是一项挑战,因为软件组件必须正确地相互通信和同步,任何硬件或软件组件都可能出现故障。据估计,软件故障和服务中断每年给世界经济造成的损失超过1万亿美元。故障可能发生在系统堆栈的各个级别:硬件、操作系统、网络、软件和用户。在这里,我们专注于使用先进的编程语言技术,使软件级别更好地处理故障,使用故障预防和容错的组合。具体来说,我们将联合收割机的会话类型的通信结构化机制与基于演员的软件架构的可伸缩性和容错性。演员语言是基于独立的进程(演员)通过异步消息进行通信。具有孤立状态的参与者促进了可靠性,因此参与者可以独立地失败。在Actor语言中实现可靠性的两个关键技术是超时和监督,这是STARDUST的主要焦点。超时允许在执行期间识别故障,并且通过在代码中建立触发器和替代行为来处理故障。参与者可以监督其他参与者,检测故障并采取补救措施,如重新启动失败的参与者。会话类型提供了一种指定和约束系统中节点之间的通信行为(协议)的方法。会话类型系统排除任何不一致的行为,可能是静态的(用于故障预防),动态的,或两者的混合(用于容错)。现在有几种语言通过库和工具支持会话类型。通过结合Actor语言和会话类型的优势,我们将开发一个有明确定义的通信结构的可靠Actor编程理论。主要目标是提供为开发人员提供轻量级支持的工具,例如警告潜在问题,并允许开发人员继续使用已建立的习惯用法。通过这样做,我们的目标是在可靠的分布式软件系统的工程中提供一个步骤的变化。
英文摘要
VISIONDistributed software systems are an essential part of the infrastructure of modern society. Such systems typically comprise diverse software components deployed across networks of hosts. Ensuring their reliability is challenging as software components must correctly communicate and synchronise with each other, and any of the hardware or software components may fail. Software failure and service outage are estimated to cost the world economy more than a trillion dollars annually.Failures can occur at all levels of the system stack: hardware, operating system, network, software, and user. Here we focus on using advanced programming language technologies to enable the software level to better handle failures using a combination of fault prevention and fault tolerance. Specifically, we will combine the communication-structuring mechanism of session types with the scalability and fault-tolerance of actor-based software architectures.Actor languages are based on independent processes (actors) communicating by asynchronous messages. Reliability is facilitated by actors having isolated state, and hence an actor can fail independently. Two key techniques for achieving reliability in actor languages are timeouts and supervision, and these are the main focus of STARDUST. Timeouts allow failures to be identified during execution, and failures are handled by establishing triggers and alternative behaviours within the code. An actor may supervise other actors, detecting failures and taking remedial action like restarting a failed actor.Session types provide a way to specify and constrain the communication behaviour (protocol) between nodes in a system. A session type system excludes any non-conforming behaviour, perhaps statically (for fault prevention), dynamically, or a mixture of both (for fault tolerance). Several languages now have session-type support via libraries and tools.By combining the strengths of actor languages and session types, we will develop a well-founded theory of reliable actor programming with clearly defined communication structures. Key aims are to deliver tools that provide lightweight support for developers, e.g. warn of potential issues, and to allow developers to continue to use established idioms. By doing so we aim to deliver a step change in the engineering of reliable distributed software systems.
期刊论文(10)
专著(0)
科研奖励(0)
会议论文
登录
查看更多内容
The Different Shades of Infinite Session Types
无限会话类型的不同色调
DOI:
10.48550/arxiv.2201.08275
发表时间:
2022
期刊:
影响因子:
--
作者:
[Gay S]
通讯作者:
Gay S
Multiparty Session Types for Safe Runtime Adaptation in an Actor Language
Actor 语言中用于安全运行时适应的多方会话类型
DOI:
--
发表时间:
2021
期刊:
影响因子:
--
作者:
[Harvey P]
通讯作者:
Harvey P
Separating Sessions Smoothly
顺利地分开会议
DOI:
--
发表时间:
2021
期刊:
影响因子:
--
作者:
[Simon Fowler]
通讯作者:
Simon Fowler
Special Delivery: Programming with Mailbox Types
特快专递:使用邮箱类型进行编程
DOI:
10.1145/3607832
发表时间:
2023
期刊:
Proceedings of the ACM on Programming Languages
影响因子:
--
作者:
[Fowler S]
通讯作者:
Fowler S
Foundations of Software Science and Computation Structures - 25th International Conference, FOSSACS 2022, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2022, Munich, Germany, April 2-7, 2022, Proceedings
软件科学与计算结构基础 - 第 25 届国际会议,FOSSACS 2022,作为欧洲软件理论与实践联合会议的一部分举行,ETAPS 2022,德国慕尼黑,2022 年 4 月 2-7 日,会议记录
DOI:
10.1007/978-3-030-99253-8_10
发表时间:
2022
期刊:
影响因子:
--
作者:
[Caltais G]
通讯作者:
Caltais G
共 8 条
Quantum Computation: Foundations, Security, Cryptography and Group Theory
-
批准号:EP/F020813/1
-
项目类别:Research Grant
-
资助金额:$4.99万
-
财政年份:2008
-
负责人:Simon Gay
-
依托单位:
Behavioural Types for Object-Oriented Languages
-
批准号:EP/F037368/1
-
项目类别:Research Grant
-
资助金额:$3.97万
-
财政年份:2008
-
负责人:Simon Gay
-
依托单位:
Engineering Foundations of Web Services: Theories and Tool Support
-
批准号:EP/E065708/1
-
项目类别:Research Grant
-
资助金额:$35.02万
-
财政年份:2007
-
负责人:Simon Gay
-
依托单位:
NETWORK: Semantics of Quantum Computation
-
批准号:EP/E00623X/1
-
项目类别:Research Grant
-
资助金额:$7.04万
-
财政年份:2006
-
负责人:Simon Gay
-
依托单位:
国内基金
海外基金
Identification and quantification of primary phytoplankton functional types in the global oceans from hyperspectral ocean color remote sensing
-
批准号:--
-
项目类别:--
-
资助金额:160万元
-
批准年份:2022
-
负责人:李忠平
-
依托单位: