arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 2101.04742cs.PL
收藏

部分可观测的程序设计与推理

Programming and Reasoning with Partial Observability

Eric Atkinson, Michael Carbin

摘要:

计算机程序越来越多地部署在部分可观察的环境中。部分可观测环境是一种其状态对程序不完全可见的环境,但程序从其中接收部分观测。开发人员通常通过编写状态估计器来处理部分可观测性,该状态估计器在给定观测值的情况下尝试推断环境的隐藏状态。在安全关键域中,为了正式验证安全属性,开发人员可以编写环境模型。该模型捕捉观测值和隐藏状态之间的关系,并用于证明软件的正确性。在本文中,我们提出了一种新的方法,在部分可观察的环境中编写和验证程序。我们提出的信念编程,编程方法,开发人员编写的环境模型,程序运行时自动使用执行状态估计。信念程序动态地更新和查询信念状态,该信念状态捕获环境可能处于的可能状态。为了使验证,我们提出了认知霍尔逻辑的原因有关的可能的信念状态的信念程序的方式相同,经典的霍尔逻辑的原因有关的可能状态的程序。我们开发这些概念,定义一个简单的核心语言BLIMP的语义和程序逻辑。在一个案例研究中,我们展示了如何信念编程可以用来编写和验证控制器的火星极地着陆器在BLIMP。我们提出了一个实现的BLIMP称为CBLIMP和评估,以确定信念编程的可行性。

英文摘要:

Computer programs are increasingly being deployed in partially-observable environments. A partially observable environment is an environment whose state is not completely visible to the program, but from which the program receives partial observations. Developers typically deal with partial observability by writing a state estimator that, given observations, attempts to deduce the hidden state of the environment. In safety-critical domains, to formally verify safety properties developers may write an environment model. The model captures the relationship between observations and hidden states and is used to prove the software correct. In this paper, we present a new methodology for writing and verifying programs in partially observable environments. We present belief programming, a programming methodology where developers write an environment model that the program runtime automatically uses to perform state estimation. A belief program dynamically updates and queries a belief state that captures the possible states the environment could be in. To enable verification, we present Epistemic Hoare Logic that reasons about the possible belief states of a belief program the same way that classical Hoare logic reasons about the possible states of a program. We develop these concepts by defining a semantics and a program logic for a simple core language called BLIMP. In a case study, we show how belief programming could be used to write and verify a controller for the Mars Polar Lander in BLIMP. We present an implementation of BLIMP called CBLIMP and evaluate it to determine the feasibility of belief programming.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑