Castello, J. (CSE) – Space Mission Simulation From the Outside In

Robotic space missions often use discrete event simulation to reduce risk in operation. A simulation applies a set of planned activities to a model of mission resources, and the model’s observed behavior is used to predict real-world outcomes. However, logically concurrent activities are typically simulated under one possible linearization of their events – an order that may not reflect the eventual reality. Some simulation systems provide mechanisms for controlling the order of events; but this is a solution to a self-imposed problem. We instead question the assumption causing this problem: that events are totally ordered to begin with.
We study Merlin, an open-source simulator developed at Caltech’s Jet Propulsion Laboratory and designed by the author, that exchanges the traditional total order of events for a *partial* order. Under this approach, a resumed activity can only observe events that causally precede its resumption, and concurrent events are reconciled under custom policies. However, the resulting design is more complex (and less understood) than that of linearizing simulators, obscuring its key insights. As such, we have developed Eidolon: a compact core calculus for Merlin-style simulation whose operational semantics follows an “outside-in”, substitution-based execution model. Although Eidolon is derived from the concepts present in Merlin, we intend it to be a vehicle for exploring non-linearizing simulation in general.
First, we propose making Eidolon *incremental*: a change to the set of planned activities should not incur a full resimulation from scratch except in the worse case, instead reusing any cached computations that are not sensitive to the change. Since mission planning is a highly iterative process involving many simulations and subsequent tweaks to the plan, incremental resimulation may allow plans to be finalized in less time, or allow higher-quality plans to be obtained in the same amount of time. The substitution-oriented approach of Eidolon is what makes this feasible, since individual computations align cleanly with subtree boundaries.
Second, in the spirit of Reynolds’ defunctionalization and Danvy’s rational reconstruction, we propose developing a denotational semantics for Eidolon and demonstrating its mechanical conversion into an abstract machine. As a mathematical artifact, Eidolon is designed for reasoning and legibility rather than efficiency; nonetheless, defunctionalization allows us to *refactor* our semantics into something that stands a chance of being practical. In particular, defunctionalization reifies the recursive structure of a denotational semantics into an explicit data structure. As a result, the defunctionalized form of Eidolon will recover an explicit priority queue like that of traditional linearizing simulators, but without their assumption of total ordering.
Event Host: Jonathan Castello, Ph.D. Student, Computer Science and Engineering
Advisor: Lindsey Kuper
Zoom- https://ucsc.zoom.us/j/98171466380?pwd=L2rkpr8tEt0MZamYbxxPTfvhAd4gl6.1
Passcode- 990848