当前位置: X-MOL 学术Form. Asp. Comput. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Towards Verifying Cooperatively-Scheduled Runtimes using CSP
Formal Aspects of Computing ( IF 1 ) Pub Date : 2023-07-12 , DOI: https://dl.acm.org/doi/10.1145/3605942
Jan Bækgaard Pedersen, Kevin Chalmers

In this paper we present the novel verification of synchronous channel communication and channel alternation (choice) by considering the environment within which our primitives are executing. Our work is in exploring development of a multi-threaded scheduler for a cooperatively scheduled process-oriented language, ProcessJ. We use CSP to produce formal specifications for the implementation of the various parts of the language runtime (scheduler, runtime components, and generated code). We use established CSP specifications that model channel communication and choice as well as the formal verification tool FDR to formally prove that the implementations are correct and behave as expected, when executed by our scheduler (the execution environment). Our approach is novel and not seen in similar research, because we consider the behaviour of the systems we examine under the restrictions imposed by an execution environment (e.g., a runtime system, a scheduler, an operating system, etc.) and show that even with such restrictions the channel communication and alternation work. More specifically, we show correctness when a system is executed by the ProcessJ cooperative scheduler. The main contributions of this work are in the models defined and method undertaken to verify cooperatively channel communication and choice.



中文翻译:

使用 CSP 验证协作调度的运行时

在本文中,我们通过考虑原语执行的环境,提出了同步通道通信和通道交替(选择)的新颖验证。我们的工作是探索为协作调度的面向过程的语言 ProcessJ 开发多线程调度程序。我们使用 CSP 为语言运行时各个部分(调度程序、运行时组件和生成的代码)的实现生成正式规范。我们使用已建立的对通道通信和选择进行建模的 CSP 规范以及形式验证工具 FDR 来正式证明当由我们的调度程序(执行环境)执行时,实现是正确的并且行为符合预期。我们的方法是新颖的,在类似的研究中没有见过,因为我们考虑了我们在执行环境(例如,运行时系统、调度程序、操作系统等)施加的限制下检查的系统的行为,并表明即使有这样的限制,通道通信和交替也能工作。更具体地说,我们展示了 ProcessJ 协作调度程序执行系统时的正确性。这项工作的主要贡献在于定义的模型和用于验证合作渠道通信和选择的方法。

更新日期:2023-07-12
down
wechat
bug