Programming and Reasoning with Partial Observability
Eric Atkinson, Michael Carbin

TL;DR
This paper introduces belief programming, a new methodology for writing and verifying programs in partially observable environments, using a belief state and epistemic logic to improve safety and correctness.
Contribution
It presents belief programming and Epistemic Hoare Logic, enabling formal reasoning about environment models and belief states in partially observable settings.
Findings
Belief programming effectively models partial observability in safety-critical systems.
Epistemic Hoare Logic allows formal verification of belief-based programs.
Case study demonstrates applicability to Mars Polar Lander controller.
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
