NASA-AMMOS / NASA-AMMOS/plandev

Support globals in the Sequencing EDSL

Open
#707 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

clipper feature psyche sequencing
Dominant language
Java
Stars
128
Forks
33
Avg merge
1d 17h
Merged PRs (30d)
12

Description

This should be done after https://github.com/NASA-AMMOS/aerie/issues/706 is complete, since #706 will flesh out the design as to how we will represent special values (i.e. locals, parameters) in the EDSL. Please see that issue first for a full explanation about what is going on here.

Users need to be able to specify global strings and output them as symbols in Seq JSON. Here is one proposal:

export default () =>
  Sequence.new({
    seqId: '',
    metadata: {},
    steps: [
      C.FSW_CMD_0({ arg0: globals.pressure  })
    ],
  });

The corresponding .seq.json:

{
  "id": "",
  "metadata": {},
  "steps": [
    {
      "args": [
        { "name": "arg0", "type": "symbol", "value": "pressure" },
      ],
      "stem": "FSW_CMD_0",
      "time": { "type": "COMMAND_COMPLETE" },
      "type": "command"
    }
  ]
}

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 with issue #706, which is required to establish how special values are represented, then inspect the Sequencing EDSL entry points and its Seq JSON output path. The work is done when a global string such as globals.pressure can be used as an argument and is emitted as a symbol with value pressure.

Written by the indexing model from the issue text.

Assessment

Tech stack
json, typescript
Domain
tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.