NRT Designer

NRTDesigner will be the most common interface to our library that users see. It will be the easiest way to build, configure, and run systems using the library.

Construction

  • Construct systems by loading in Modules and configuring their message topic post names and subscription filters.
    • This should be as easy as dragging in Module blocks, and double clicking their post/subscription ports to reconfigure them.
  • Users should be able to select which computer each module runs on (maybe by dragging it to some special area?)
  • These system descriptions should then be able to be saved to an XML file or whatever so that users can load it up later, or share it with a friend.

Configuration

  • Modules should expose all of their nrt::Parameters, and so NRTDesigner should be able to configure all of these via comboboxes/sliders/etc…

Running

  • NRTDesigner should also allow users to run their system from inside the application by clicking a Run button.
  • Users should then be allowed to tweak parameters which allow online changes as the system runs.
  • A statistics display should appear which shows bandwidth/cpu/memory/etc.. usage between computers / between modules / etc…

Program Flow

Displaying Modules with all of their ports and parameters is difficult because we allow Component hierarchies to be modified during run time (e.g. certain subComponents may be added/removed as Parameter values are changed - this is how the ImageSink/ImageSource system works). One solution is to have a refresh() method in Module which when called will send out a ModuleDescriptionMessage containing all of the info needed to display the Module in the GUI, such as the Parameters, and Ports. This message can be caught by the GUI (remotely if necessary) allowing it to properly draw the Module. Additionally, we can have a RefreshAllMessage that can be caught by all Modules, causing each one to emit a ModuleDescriptionMessage. Users will then be instructed to to call the refresh() method whenever Parameters or Components are added/removed to the Module.

nrtdesigner.txt · Last modified: 2011/01/31 18:28 by rand