-
Notifications
You must be signed in to change notification settings - Fork 26
Prototype/incremental sim #1718
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Conversation
…nd rescheduling, TemporalEventSourceDelta
Need to see if currentTime is a problem for tasks running in the past.
…ie into prototype/incremental-sim
The TimePoint.Deltas in TemporalEventSource make dealing with old and new timelines too awkward.
not sure why this is needed when tests passed before Should test whether serialize timeline in sim results is correct, i.e. if inc sim results match develop's
.../test/java/gov/nasa/ammos/aerie/merlin/driver/test/property/IncrementalSimPropertyTests.java
Fixed
Show fixed
Hide fixed
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
SimulationResultsInterface was added so that the results of multiple SimulationEngines can be combined lazily.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This lets you exclude running specific tests with something like this:
./gradlew test -PexcludeTests="**/IntegrationTest*"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Helps with debug
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would be good to know why equals()
and maybe hashCode()
are necessary.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added switch to optionally run newly added daemon tasks in the mission model since only some newly added tests need it.
🫨 |
|
Description
Implementation of in-memory incremental simulation. By default, this will be turned off except for scheduling.
Details can be found in presentations (that should be downloaded as pptx instead of viewing on web):
Also see the Incremental Simulation discussion.
Merging these changes avoids maintaining this as a separate version, which is problematic for architecture changes that do not consider this version. Updating this branch for new Aerie versions developed in parallel has been almost as much work as the implementation.
Verification
Tests added: IncrementalSimTests, EdgeCaseTests, GeneratedTests
The EdgeCaseTests and GeneratedTests tests validate against a past version of the develop branch copied as a module (merlin-driver-develop). Other implementations may also be compared; and alternative version of incremental sim is included).
Passes all tests
Documentation
No documentation has been invalidated. Documentation is needed.
Future work
Work needed before merging
Future work potentially beyond this pull request
SimulationEngine
s into one for performance/memory improvement.assertDirectiveNotRerun(ActivityDirectiveId)