Reactive probabilistic programming
Guillaume Baudart, Louis Mandel, Eric Atkinson, Benjamin Sherman, Marc Pouzet, Michael Carbin
Abstract
Synchronous modeling is at the heart of programming languages like Lustre, Esterel, or SCADE used routinely for implementing safety critical control software, e.g., fly-bywire and engine control in planes. However, to date these languages have had limited modern support for modeling uncertainty -probabilistic aspects of the software's environment or behavior -even though modeling uncertainty is a primary activity when designing a control system.
In this paper we present ProbZelus the first synchronous probabilistic programming language. ProbZelus conservatively provides the facilities of a synchronous language to write control software, with probabilistic constructs to model uncertainties and perform inference-in-the-loop.
We present the design and implementation of the language. We propose a measure-theoretic semantics of probabilistic stream functions and a simple type discipline to separate deterministic and probabilistic expressions. We demonstrate a semantics-preserving compilation into a first-order functional language that lends itself to a simple presentation of inference algorithms for streaming models. We also redesign the delayed sampling inference algorithm to provide efficient streaming inference. Together with an evaluation on several reactive applications, our results demonstrate that ProbZelus enables the design of reactive probabilistic applications and efficient, bounded memory inference.
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 d50437d0-db0a-43c3-9e11-a4fe97f56f90Cited by top-tier papers8
- Semi-symbolic inference for efficient streaming probabilistic programmingEric Atkinson, Charles Yuan, Guillaume Baudart, Louis Mandel et al.OOPSLA 2022 · 11 citations
- Compiling Probabilistic Programs for Variable Elimination with Information FlowJianlin Li, Eric Wang, Yizhou ZhangPLDI 2024 · 6 citations
- Statically bounded-memory delayed sampling for probabilistic streamsEric Atkinson, Guillaume Baudart, Louis Mandel, Charles Yuan et al.OOPSLA 2021 · 5 citations
- Automatically marginalized MCMC in probabilistic programmingJinlin Lai, Javier Burroni, Hui Guan, Daniel SheldonICML 2023 · 4 citations
- Programming and reasoning with partial observabilityEric Atkinson, Michael CarbinOOPSLA 2020 · 3 citations
Related papers
- Mechanized semantics and verified compilation for a dataflow synchronous language with resetTimothy Bourke, Lélio Brun, Marc PouzetPOPL 2020 · 22 citations
- Towards verified stochastic variational inference for probabilistic programsWonyeol Lee, Hangyeol Yu, Xavier Rival, Hongseok YangPOPL 2020 · 22 citations
- Language-Agnostic Static Analysis of Probabilistic ProgramsMarkus Böck, Michael Schröder, Jürgen CitoASE 2024 · 4 citations
- Trace types and denotational semantics for sound programmable inference in probabilistic languagesAlexander K. Lew, Marco F. Cusumano-Towner, Benjamin Sherman, Michael Carbin et al.POPL 2020 · 30 citations
- noDice: Inference for Discrete Probabilistic Programs with Nondeterminism and ConditioningTobias Gürtler, Benjamin Lucien KaminskiOOPSLA 2026 · 1 citation
