-
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
FPrime Dictionary Support #1542
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
goetzrrGit
had a problem deploying
to
e2e-test
September 3, 2024 18:47 — with
GitHub Actions
Failure
goetzrrGit
force-pushed
the
feature/fprime-sequencing
branch
from
September 3, 2024 19:52
b4766a8
to
e990933
Compare
goetzrrGit
had a problem deploying
to
e2e-test
September 3, 2024 19:52 — with
GitHub Actions
Failure
goetzrrGit
force-pushed
the
feature/fprime-sequencing
branch
from
September 3, 2024 20:22
e990933
to
bf08b40
Compare
goetzrrGit
force-pushed
the
feature/fprime-sequencing
branch
from
September 10, 2024 15:29
bf08b40
to
6bc1951
Compare
goetzrrGit
had a problem deploying
to
e2e-test
September 13, 2024 18:45 — with
GitHub Actions
Failure
goetzrrGit
force-pushed
the
feature/fprime-sequencing
branch
from
September 13, 2024 18:48
7c3d375
to
ad4a62f
Compare
goetzrrGit
force-pushed
the
feature/fprime-sequencing
branch
from
September 13, 2024 18:50
ad4a62f
to
21ef9fd
Compare
Quality Gate passedIssues Measures |
skovati
approved these changes
Oct 11, 2024
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.
Looks great for a first pass at this. A few non-blocking comments mostly about how this plugin architecture will evolve in the future
sequencing-server/plugins/fprime-dictionary-parser/schema/fpime-schema.json
Outdated
Show resolved
Hide resolved
goetzrrGit
force-pushed
the
feature/fprime-sequencing
branch
from
October 11, 2024 21:47
21ef9fd
to
b0f5f1f
Compare
* Right now we are support a dictionary parser, but we can add other plugins in the future. * By default it will load the ampcs dictionary parser. '/ampcs-dictionary-parser/ampcs-parser.js'
* Dictionary upload will use the parsers loaded by the PluginManager. * A parser can return up to 3 AMPCS supported dictionaries per parse. The first is a CommandDictionary. The second is a ChannelDictionary. The third is a ParameterDictionary.
* Fprime dictionaries use nested data structures so we need the eDSL to support that. Sequence expansion isn't recommended yet for Fprime dictionaries.
* The parser should know about the types of dictionaries that the sequencing server could have parsed. * Return information about the 3 dictionary that the sequencing server could have parsed.
* This variable is a file path for the dictionary parser. * By default use the built in ampcs dictionary parser.
* Move the parsing code from the sequencing server to this plugin * This is a node project that will be build by gradlew assemble
* This is a node project that will be build by gradlew assemble from the sequencing server
* Updated how to upload the dictionaries.
goetzrrGit
force-pushed
the
feature/fprime-sequencing
branch
from
October 14, 2024 23:29
b0f5f1f
to
3b46aad
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Frontend PR: NASA-AMMOS/aerie-ui#1447
This PR introduces a plugin system for the sequencing server in efforts for Seq 2.0:
Plugin loader: A flexible plugin loader has been added to support various dictionary parsers. By default, the AMPCS dictionary parser is loaded from /ampcs-dictionary-parser/ampcs-parser.js.
Plugin manager: The PluginManager has been implemented to manage the loaded parsers and their use in dictionary uploads.
Dictionary parsing: Dictionary uploads now leverage the parsers provided by the PluginManager, allowing for more diverse dictionary formats.
Nested repeat arguments: Support for nested repeat arguments has been added to the eDSL generation, enabling better handling of Fprime dictionaries. Sequence expansion is experimental with FPrime dictionaries
New environment variable: A new environment variable has been introduced to specify the path to a custom dictionary parser, providing flexibility in parser selection.
Dictionary parser plugins: Two new plugins have been created:
AMPCS Dictionary Parser Plugin: This plugin moves the parsing code from the sequencing server into a separate Node.js project, built using Gradlew assemble.
FPrime Dictionary Parser Plugin: This plugin is also a Node.js project, built using
gradlew assemble
from the sequencing server.Sequencing server configuration: The sequencing server has been configured to build the Aerie-supported dictionary parser plugins.
Testing:
./gradlew sequence-server:clean; ./gradlew sequencing-server:assemble;
./sequencing-server/plugins/fprime-dictionary-parser/test/dictionary/RefTopologyDictionary.json
Verification
Still got to update e2e test...