NASA-AMMOS / NASA-AMMOS/plandev

Simulation: Allow effect model to query past values

Open
#799 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

clipper simulation
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.