首页> 外文期刊>Formal Methods in System Design >Practical interruptible conversations: distributed dynamic verification with multiparty session types and Python
【24h】

Practical interruptible conversations: distributed dynamic verification with multiparty session types and Python

机译:实用的可中断对话:具有多方会话类型和Python的分布式动态验证

获取原文
获取原文并翻译 | 示例

摘要

The rigorous and comprehensive verification of communication-based software is an important engineering challenge in distributed systems. Drawn from our industrial collaborations (Ocean Observatories Initative, JBoss Savara Project, on Scribble, a choreography description language based on multiparty session types, and its theoretical foundations (Honda et al., in POPL, pp 273-284, 2008), this article proposes a dynamic verification framework for structured interruptible conversation programming. We first present our extension of Scribble to support the specification of asynchronously interruptible conversations. We then implement a concise API for conversation programming with interrupts in Python that enables session types properties to be dynamically verified for distributed processes. Finally, we expose the underlying theory of our interrupt mechanism, studying its syntax and semantics, its integration in MPST theory and proving the correctness of our design. Our framework ensures the global safety of a system in the presence of asynchronous interrupts through independent runtime monitoring of each endpoint, checking the conformance of the local execution trace to the specified protocol. The usability of our framework for describing and verifying choreographic communications has been tested by integration into the large scientific cyberinfrastructure developed by the Ocean Observatories Initiative. Asynchronous interrupts have proven expressive enough to represent and verify their main classes of communication patterns, including asynchronous streaming and various timeout-based protocols, without introducing any implicit synchronisations. Benchmarks show conversation programming and monitoring can be realised with little overhead.
机译:对基于通信的软件进行严格而全面的验证是分布式系统中的一项重要工程挑战。本文来自我们的行业合作(海洋观察计划倡议组织,JBoss Savara项目,基于Scribble,一种基于多方会话类型的舞蹈描述语言及其理论基础(Honda等,in POPL,第273-284页,2008年))。提出了一种用于结构化可中断对话编程的动态验证框架,我们首先介绍Scribble的扩展以支持异步可中断对话的规范,然后为Python中带有中断的对话编程实现简洁的API,该API可以动态验证会话类型属性最后,我们揭示了中断机制的基础理论,研究了其语法和语义,将其集成到MPST理论中并证明了设计的正确性,我们的框架可通过以下方式确保存在异步中断的系统的全局安全性:每个端点的独立运行时监视,检查本地执行跟踪与指定协议的一致性。通过整合到由海洋观测倡议组织开发的大型科学网络基础设施中,已经测试了我们用于描述和验证舞蹈通讯的框架的可用性。事实证明,异步中断足以表示和验证其主要通信模式类别,包括异步流和各种基于超时的协议,而无需引入任何隐式同步。基准显示对话编程和监视可以以很少的开销实现。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号