Skip to main content
QUICK REVIEW

[论文解读] Formally Verified Simulations of State-Rich Processes using Interaction Trees in Isabelle/HOL

Simon Foster, Chung-Kil Hur|arXiv (Cornell University)|May 11, 2021
Advanced Software Engineering Methodologies被引用 7
一句话总结

本文提出了一种使用 Isabelle/HOL 中的 Interaction Trees (ITrees) 对状态丰富的并发系统进行形式化验证的仿真框架。通过使用共数据类型对 ITrees 进行机械化,建立了统一的语义模型,实现了通过 Isabelle 代码生成器的已验证执行,并将其与 CSP 的失败-发散模型关联,从而实现了确定性进程的连贯验证与仿真。

ABSTRACT

Simulation and formal verification are important complementary techniques necessary in high assurance model-based systems development. In order to support coherent results, it is necessary to provide unifying semantics and automation for both activities. In this paper we apply Interaction Trees in Isabelle/HOL to produce a verification and simulation framework for state-rich process languages. We develop the core theory and verification techniques for Interaction Trees, use them to give a semantics to the CSP and Circus languages, and formally link our new semantics with the failures-divergences semantic model. We also show how the Isabelle code generator can be used to generate verified executable simulations for reactive and concurrent programs.

研究动机与目标

  • 通过在统一的形式化框架下统一形式化验证与可执行仿真,弥合高可信系统中两者之间的语义鸿沟。
  • 在 Isabelle/HOL 中使用 Interaction Trees,为确定性 CSP 和 Circus 进程开发一种机械化、可执行且形式化验证的语义模型。
  • 通过 Isabelle 的代码生成器实现验证与仿真之间的紧密集成,生成已验证的仿真结果。
  • 正式建立新 ITree 语义与 CSP 标准失败-发散模型之间的联系,确保与既有的验证技术兼容。
  • 为反应式与并发系统的已验证实现奠定基础,特别是在机器人和自主系统领域。

提出的方法

  • 使用共数据类型在 Isabelle/HOL 中机械化 Interaction Trees,以事件、内部动作(τ)和可见选择来表示无限的、共归纳的进程行为。
  • 将可见事件选择编码为从事件到 ITrees 的部分函数,从而实现潜在无限分支的有限表示。
  • 在 ITrees 上定义强等价与弱等价的 bisimulation 关系,以支持行为等价性推理。
  • 通过外部选择、并行组合和限制等操作符,将确定性 CSP 和 Circus 进程嵌入 ITree 框架。
  • 建立 ITree 语义与 CSP 失败-发散模型之间的正式对应关系,以确保语义正确性。
  • 利用 Isabelle 的代码生成器,自动从基于 ITree 的进程模型生成已验证的可执行仿真。

实验结果

研究问题

  • RQ1Interaction Trees 是否能够在 Isabelle/HOL 中有效机械化,以支持并发系统的正式验证与可执行仿真?
  • RQ2ITree 语义如何能与 CSP 的失败-发散模型正式关联,以确保与既有的验证技术一致?
  • RQ3Isabelle 的证明自动化与代码生成能力在多大程度上可被利用,以生成状态丰富的进程的已验证、高效仿真?
  • RQ4ITree 基于的仿真在大规模并发系统中存在哪些局限性与可扩展性特征?
  • RQ5该框架在未来如何扩展以支持非确定性与混合系统?

主要发现

  • 作者成功使用共数据类型和部分函数在 Isabelle/HOL 中机械化了 Interaction Trees,支持共归纳推理与可执行语义。
  • 该框架支持对 1000 个单元的环形缓冲区的已验证仿真,计算下一个状态转换耗时超过一分钟,表明在合理范围内具备可扩展性。
  • 正式建立了 ITree 语义与 CSP 失败-发散模型之间的联系,验证了该方法与标准语义模型的一致性。
  • Isabelle 代码生成器生成了已验证的可执行仿真,实现了验证与仿真之间的紧密集成循环。
  • 该方法可扩展至非确定性,已识别出三条潜在路径:索引化的非确定性事件、可计算的 τ-分支集合,以及进入集合的 Kleisli 提升。
  • 该框架为使用形式化 UML 类似语言(如 RoboChart 和 RoboSim)实现机器人控制器的已验证实现提供了路径,并具备与混合系统验证集成的潜力。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。