Add interactive mode to SST #1140
Labels
Enhancement
in progress
Major Feature
A new feature that has broad impact on codebase and requires a minimum two week discussion period
Please describe the new features with any relevant use cases.
Add support for an interactive mode in SST. This mode would be used by things like debuggers to be able to halt simulation and allow interactive user input.
Describe the proposed solution you plan to implement
A new set of APIs to enable interactive shells will be added:
InteractiveAction API will be added to the core and will be the base class for all interactive shells. It will define the API for how users can interact with the simulation, as well as a set of ELI functions so they can be loaded by ELI name.
Add a --interactive-action=NAME option that will allow you to set the InteractiveAction that will be loaded when an interactive session is triggered. This will be done by ELI name
Add a --start-interactive=TIME option that will tell the simulator to drop into interactive mode after the specified amount of simulated time. If set to 0, will drop into interactive mode right after the init() stage.
Add an API to BaseComponent and other appropriate APIs that will allow them to indicate the Simulation should enter interactive mode and the next available place
Testing plan
A set of tests will be added to the core framework. The tests will run a simulation, trigger interactive mode and pipe a file of commands into the simulation, checking that the output matches a reference file. This will require some modifications to the testing framework to allow a file of commands to be piped into the SST simulation. Those additions will be part of the PR.
The text was updated successfully, but these errors were encountered: