Commit-Window Observation Contracts for Reactive Entity-Component Systems
This program is tentative and subject to change.
Modern entity-component systems (ECS) runtimes expose structural events (\texttt{OnAdd}, \texttt{OnSet}, and \texttt{OnRemove}), change filters,
and continuous queries (CQ) so that systems rerun only where data changed;
yet the correctness of the underlying optimizations—coalescing notifications,
reordering write-disjoint updates within a commit window, caching CQ membership, iterating to quiescence—has lacked
a semantics that states the required \emph{commit-window observation contract}.
We present \emph{RxTCoreECS}, a calculus that formalizes this contract for reactive ECS
by integrating a Core-ECS store-and-scan baseline with a reactive transactional layer. Its key design point is an explicit two-tier notification model:
(i) an \emph{eventful} commit that emits a sequential per-operation trace, and
(ii) a \emph{net-effect} commit that emits a per-cell delta (at most one event per cell per commit window).
The target contract is intentionally windowed: observers are
order-insensitive within a commit window, and \texttt{Changed} is a dirty-by-write post-membership filter rather than a semantic-equality test.
We define a window-local observational equivalence, relative to the incoming queue prefix, that quotients event order only within one commit window, prove schedule independence under write-disjointness,
and connect the two layers by a
coalescing refinement and a forward simulation theorem.
We add a CQ-cache model with correctness lemmas for \texttt{Added/Removed/Changed} deltas, an explicit version/filter alignment theorem exposing the once-per-window bump policy for touched entities and cells, and a fuel-bounded
quiescence loop. We prove a
reusable all-dirty scan-closure schema under explicit round-refinement and stability obligations.
All formal definitions and named results in the paper are mechanized and checked in Rocq.
This program is tentative and subject to change.
Mon 5 OctDisplayed time zone: Pacific Time (US & Canada) change
10:30 - 12:00 | Synthesis and SpecificationOOPSLA at Junior Ballroom 1&2 Chair(s): Jocelyn Qiaochu Chen University of Alberta | ||
10:30 18mTalk | Grammar Repair with Examples and Tree Automata OOPSLA Yunjeong Lee National University of Singapore, Gokul Rajiv National University of Singapore, Ilya Sergey National University of Singapore DOI | ||
10:48 18mTalk | Hybrid Game Control Envelope Synthesis OOPSLA Aditi Kabra Carnegie Mellon University, Jonathan Laurent KIT, Stefan Mitsch DePaul University, André Platzer KIT DOI | ||
11:06 18mTalk | P4-SpecTec: Integrating a Language Mechanization Framework into the Real-World P4 Specification OOPSLA DOI | ||
11:24 18mTalk | Commit-Window Observation Contracts for Reactive Entity-Component Systems OOPSLA DOI | ||
11:42 18mTalk | Incremental Program Synthesis from Event Logs OOPSLA Jinwoo Kim University of California at San Diego, Victor Nicolet Amazon, Joey Dodds Amazon, Loris D'Antoni University of California at San Diego DOI | ||