NASA-AMMOS / NASA-AMMOS/plandev
Simulation: Allow effect model to query past values
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 128
- Forks
- 33
- Avg merge
- 1d 17h
- Merged PRs (30d)
- 12
Description
cortega
https://jira.jpl.nasa.gov/browse/AERIEQS-236
Moderate
Clipper-Merlin requires the ability to determine the change in a state from one time point to another for two reasons:
(1) Many onboard data management commands (e.g. file deletion, data filtering, etc) have parameters for specifying the applicable time range of the commanded action. The activities used to represent these commands thus have similar time-based parameters and effects that depend on the computed delta of the relevant state. For example, the filtering activity will sort all data known to be generated between user provided times A and B. The duration of this activity can be computed but depends on the overall amount of data that will be filtered. Thus, activity developers need to be able to know the value of the data volume state at simulation time B and subtract from it the value of the state at simulation time A. This way the activity can properly model the impact of the command on the data "generated" between the two times.
(2) Users have requested the ability to know how much data volume a particular activity instance will produce. They want the software to be able to report this for each activity present in the timeline after the simulation is run. Again, this is a question of being able to look-up the value of the data volume state at times A and B and determine the difference between them.
In light of the two use cases above, the Clipper-Merlin adaptation team would like to request either (A) the ability to query a state for its delta over two provided times or (B) the ability to look-up the state's value at a particular time (which would enable us to compute the delta ourselves). For instance, if we have a RealResource called "dataVolume" and an activity "X," then we would like to be able query
dataVolume.getAt(pastTime);
the same way we can currently use operations such as
dataVolume.get();
(which has an implicit parameter time = now) from within activity X's effect model.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the effect model and RealResource entry points that currently support get(), then determine how simulation time is represented when an activity queries state. The work is done when an effect model can retrieve a state's value at a past time or its delta between two times, supporting the data-volume use cases described.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100