当前位置: X-MOL 学术arXiv.cs.PL › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Multiparty Session Types for Safe Runtime Adaptation in an Actor Language (Extended version)
arXiv - CS - Programming Languages Pub Date : 2021-05-14 , DOI: arxiv-2105.06973
Paul Harvey, Simon Fowler, Ornela Dardha, Simon J. Gay

Human fallibility, unpredictable operating environments, and the heterogeneity of hardware devices are driving the need for software to be able to adapt as seen in the Internet of Things or telecommunication networks. Unfortunately, mainstream programming languages do not readily allow a software component to sense and respond to its operating environment, by discovering, replacing, and communicating with components that are not part of the original system design, while maintaining static correctness guarantees. In particular, if a new component is discovered at runtime, there is no guarantee that its communication behaviour is compatible with existing components. We address this problem by using multiparty session types with explicit connection actions, a type formalism used to model distributed communication protocols. By associating session types with software components, the discovery process can check protocol compatibility and, when required, correctly replace components without jeapordising safety. We present the design and implementation of EnsembleS, the first actor-based language with adaptive features and a static session type system, and apply it to a case study based on an adaptive DNS server. We formalise the type system of EnsembleS and prove the safety of well-typed programs, making essential use of recent advances in non-classical multiparty session types.

中文翻译:

使用Actor语言进行安全运行时适应的多方会话类型(扩展版本)

人为失误,不可预测的操作环境以及硬件设备的异质性推动了对软件的需求,使其能够适应物联网或电信网络的需求。不幸的是,主流编程语言无法通过发现,替换和与原始系统设计无关的组件进行通信,同时保持静态正确性的保证,而使软件组件无法感知和响应其操作环境。特别是,如果在运行时发现了新组件,则不能保证其通信行为与现有组件兼容。我们通过将多方会话类型与显式连接操作配合使用来解决此问题,显式连接操作是用于对分布式通信协议进行建模的类型形式主义。通过将会话类型与软件组件相关联,发现过程可以检查协议兼容性,并在需要时正确替换组件而不会损害安全性。我们介绍EnsembleS的设计和实现,EnsembleS是具有自适应功能和静态会话类型系统的第一种基于角色的语言,并将其应用于基于自适应DNS服务器的案例研究。我们对EnsembleS的类型系统进行形式化,并通过充分利用非经典多方会话类型的最新进展,证明类型良好的程序的安全性。第一种具有自适应功能和静态会话类型系统的基于参与者的语言,并将其应用于基于自适应DNS服务器的案例研究。我们对EnsembleS的类型系统进行形式化,并通过充分利用非经典多方会话类型的最新进展,证明类型良好的程序的安全性。第一种具有自适应功能和静态会话类型系统的基于参与者的语言,并将其应用于基于自适应DNS服务器的案例研究。我们对EnsembleS的类型系统进行形式化,并通过充分利用非经典多方会话类型的最新进展,证明类型良好的程序的安全性。
更新日期:2021-05-17
down
wechat
bug