-
Notifications
You must be signed in to change notification settings - Fork 21
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
Stateless Aerie - Simulation #1536
Conversation
a85e0fa
to
dd76d59
Compare
dd76d59
to
dd01c9e
Compare
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.
Some non-blocker comments. You mentioned in the standup 'type-utils' needs to be discussed on further. I am not sure if you were going to wait on that meeting or remove the commit from this PR and merged?
merlin-sdk/src/main/java/gov/nasa/jpl/aerie/merlin/protocol/types/Duration.java
Show resolved
Hide resolved
...ss-aerie/src/main/java/gov/nasa/jpl/aerie/stateless/simulation/SimulationExtentConsumer.java
Outdated
Show resolved
Hide resolved
...ess-aerie/src/main/java/gov/nasa/jpl/aerie/stateless/simulation/SimulationResultsWriter.java
Outdated
Show resolved
Hide resolved
dd01c9e
to
fa97b7c
Compare
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.
Nice work!
fa97b7c
to
8b62d91
Compare
Co-authored-by: Ryan Goetz <[email protected]>
- Add new Plan Constructor with Sim Config Co-authored-by: Ryan Goetz <[email protected]>
- Make Duration.isEqualTo null-safe
8b62d91
to
ef6a569
Compare
Co-authored-by: Ryan Goetz <[email protected]>
Co-authored-by: Ryan Goetz <[email protected]>
- Remove Extent in favor of SimResults.duration Co-authored-by: Ryan Goetz <[email protected]>
- Uses deprecated SecurityManager -- see comment on class for more details - Created as the CLI calls `System.exit()` under certain conditions (such as displaying help text for a subcommand). This allows those conditions to be tested.
* Verify that the generated temporary filename conforms to file naming conventions and remove any invalid characters
With the changes made, a Plan now contains all of the information necessary to simulate. Additionally, since this class will be more relevant to external users via the Orchestration package, comment and privatize fields. Additionally, prevent the sim config and activity directive maps from being null. Co-authored-by: Ryan Goetz <[email protected]>
- reduces the codebase of the system users of orchestration-utils need to depend on - avoids code duplication
ef6a569
to
db45aca
Compare
Description
Adds three packages:
orchestration
: package containing classes useful for orchestrating aerie (ie, calling simulation, loading a mission model)stateless-aerie
: package containing a Java CLI that runs aerie in a stateless mode (compared to the Python CLI, which runs against a venue)type-utils
: package containing types commonly used by various parts of the system (ie Plan, MissionModelId). Created as a first step towards not requiring so many parts of the system to import other packages in order to use common types: iemerlin_driver
. @mattdailis I'd like your thoughts on this package's existence/contents.Verification
Unit tests were added that the orchestration works as expected. Reference JSONs of simulation results for tests were manually validated.
Documentation
Docs need to be created for the new JSON schemas: Sim Configs, Sim Results.
Future work
Integration with Procedural Scheduling.
Further work to extract more common types into
type-utils
and common parsers into aparsing-utils
-type package.