Programming and reasoning with partial observability
Eric Atkinson, Michael Carbin
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 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.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 36c60ec8-7bdd-49cf-bb47-3ed23d354b09Builds on1
Related papers
- Program Semantics and Verification Technique for AI-Centred ProgramsSolofomampionona Fortunat Rajaona, Ioana Boureanu, Vadim Malvone, Francesco BelardinelliFM 2023 · 1 citation
- Inference and Learning with Model Uncertainty in Probabilistic Logic ProgramsVictor Verreet, Vincent Derkinderen, Pedro Zuidberg Dos Martires, Luc De RaedtAAAI 2022 · 4 citations
- Automatically Verifying Expressive Epistemic Properties of ProgramsFrancesco Belardinelli, Ioana Boureanu, Vadim Malvone, Fortunat RajaonaAAAI 2023 · 1 citation
- Point-Based Methods for Model Checking in Partially Observable Markov Decision ProcessesMaxime Bouton, Jana Tumova, Mykel J. KochenderferAAAI 2020 · 32 citations
- Structural Temporal Logic for Mechanized Program VerificationEleftherios Ioannidis, Yannick Zakowski, Steve Zdancewic, Sebastian AngelOOPSLA 2025 · 1 citation
