Automatically Enforcing Fresh and Consistent Inputs in Intermittent Systems
Milijana Surbatovich, Limin Jia, Brandon Lucia

TL;DR
This paper introduces Ocelot, a tool that automatically enforces freshness and temporal consistency constraints on inputs in intermittently powered systems, ensuring robustness without significant performance overhead.
Contribution
It formalizes input constraints for intermittent systems and develops Ocelot, an LLVM-based tool that automatically enforces these constraints in Rust programs.
Findings
Ocelot effectively enforces input constraints with minimal performance impact.
Formalization of freshness and temporal consistency properties for intermittent systems.
Ocelot requires only annotations and infers atomic regions automatically.
Abstract
Intermittently powered energy-harvesting devices enable new applications in inaccessible environments. Program executions must be robust to unpredictable power failures, introducing new challenges in programmability and correctness. One hard problem is that input operations have implicit constraints, embedded in the behavior of continuously powered executions, on when input values can be collected and used. This paper aims to develop a formal framework for enforcing these constraints. We identify two key properties -- freshness (i.e., uses of inputs must satisfy the same time constraints as in continuous executions) and temporal consistency (i.e., the collection of a set of inputs must satisfy the same time constraints as in continuous executions). We formalize these properties and show that they can be enforced using atomic regions. We develop Ocelot, an LLVM-based analysis and…
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.
