NASA-AMMOS / aerie

A software framework for modeling spacecraft.
https://nasa-ammos.github.io/aerie-docs/
MIT License
73 stars 19 forks source link

Fix sim results staleness check in Procedural Scheduling #1563

Closed dandelany closed 1 week ago

dandelany commented 2 months ago

Description

The SimulationResults interface in the aerie.procedural.timeline.plan package has a function isStale(), which is supposed to return true if the sim results are stale/out-of-date compared to what's in the plan - ie. because the plan has changed and the simulation needs to be re-run - or false if they're up to date.

The current implementation has a bug which causes isStale() to always return false (ie. not stale), which will cause problems for goals relying on this flag to know when the sim needs to be re-run.

@JoelCourtney is investigating. The fix is a bit more complicated than expected - due to the fact that scheduling goals may drop & re-create plans multiple times, it's not quite as simple as just checking the revision of the plan against the revision stored on the SimResults object.

dandelany commented 1 week ago

Closed with #1595