View on GitHub

Chapter 17
Exploring a Running Domain Using the REDHAWK IDE

The Domain Manager, as described in Section 11.2, contains knowledge of all existing CORBA-enabled objects installed or loaded onto the system. This includes references to all file systems (through the File Manager), Device Managers, and all Applications (and their Resources). The Domain Manager is seen as the central bookkeeper. The REDHAWK IDE can be used to run or connect to a running Domain, view the contents of a running Domain, and launch and interact with Applications within the Domain.

17.1 Connecting to a Domain

In the IDE, you can launch and connect to a Domain through the IDE interface or connect to a running Domain.

The procedure for launching a Domain and a Device Manager from the command line is shown in Section 11.2.1.

17.1.1 Launching and Connecting Using the IDE

The following procedure explains how to launch and connect to a Domain through the IDE.

  1. In the REDHAWK Explorer View, right-click Target SDR and select Launch Domain


    PIC
    Figure 17.1: Launching a Domain


    The Launch Domain Manager window is displayed. (Figure 17.2)


    PIC
    Figure 17.2: Launch Domain Manager Window


  2. In the Domain Name field, enter a name.
  3. Optionally, select a Device Manager to start.

    A running Device Manager is required to launch Applications.

  4. Optionally, in either the Domain Manager or Device Manager section, select a Debug Level. By default, the Debug Level is set to Info, which displays any messages at the Info level or higher: (Info, Warn, Error, and Fatal message levels). If this is the first time using REDHAWK, changing the Debug Level from Info to Debug for both the Domain and Device Manager may be helpful in the learning process.
  5. Optionally, in either the Domain Manager or Device Manager section, select Arguments for the nodeBooter process. This option is provided to advanced users who are comfortable with command line options. For more information on command line options, refer to Chapter 11.
  6. Finally, click OK to launch and connect to the new Domain.
  7. Notice that the IDE reacts to the newly launched Domain:
    1. The new Domain has been added to the REDHAWK Explorer View
    2. The new Domain, within a short amount of time, is connected and this connection is indicated to the right of the Domain name within the REDHAWK Explorer View.
    3. At least one new Console view (within the IDE) has been created. One contains a nodeBooter instance for the Domain Manager that launched and one nodeBooter instance for each Device Manager.


PIC

Figure 17.3: Console showing the Domain Manager start up with debug logging and the available Device Manager console


17.1.2 Connecting to a Running Domain

To connect to a running Domain through the IDE use the following procedure:

  1. Click the New Domain Connection button (i.e. the plus symbol) in the upper right of the REDHAWK Explorer View.


    PIC
    Figure 17.4: New Domain Connection Button


    The New Domain Manager dialog is displayed. (Figure 17.5)


    PIC
    Figure 17.5: New Domain Manager Dialog


  2. Enter a Display Name. This is a unique name for the Domain and does not need to match the name used to register the Domain on the Naming Service.
  3. Enter a Domain Name. This is the name of the Domain on the Naming Service. By default this field is populated with the value from the Display Name field.
  4. Enter the Name Service. This is the CORBA URI to the desired Naming Service. By default this is populated with the value from the IDE’s Properties (i.e. Window > Preferences, REDHAWK > Domain Connections, Default Naming Service).
  5. Click one of the following options under Connection Settings:
  6. Select Finish to close the wizard.
  7. The Domain now appears in the REDHAWK Explorer View. If Connect Once or Always Connect was chosen, the Domain is connected. If Don’t Connect was selected, right-click the Domain and select Connect.

    Many of these options may be changed later through the Properties View.

17.2 Viewing the Contents of the Domain in the REDHAWK Explorer View

After the Domain connection is established, the file system visible to the Domain Manager and its attached Device Managers is displayed in the REDHAWK Explorer View. Detailed information about each item is available in the Properties View.

The Domain Manager’s root contains the following folders:

17.3 Working with Waveforms on a Running Domain

If you have a running Domain Manager and Device Manager, you may create and work with Waveforms. (For information on creating Waveforms, refer to Chapter 6). You can launch the Waveform on the Domain, launch additional Components into the running Waveform, stop the running Waveform, and release the Waveform from the Domain.

17.3.1 Launching a Waveform

To launch a Waveform:

  1. Right-click the Domain and from the Domain context menu, select Launch Waveform. (Figure 17.10)


    PIC
    Figure 17.10: Domain context menu


    The Launch Waveform wizard is displayed. (Figure 17.11)


    PIC
    Figure 17.11: Launch Waveform wizard


  2. On the Select a Waveform page of the Launch Waveform wizard, perform the following procedure:
    1. Select the Waveform to launch.
    2. Select the Start the Waveform after launching checkbox to start the Waveform and all of its contained Components immediately after launch.
    3. Click Next.

    The Assign Initial Properties page is displayed. (Figure 17.12)


    PIC

    Figure 17.12: Assign Initial Properties page


  3. On the Assign initial Properties page, set the Properties of the Components within the Waveform. Any Property modified here is specific to this Waveform and does not impact the Component‘s execution in other environments. As the Properties are changed from their default values, the now non-default values appear in bold as shown in Figure 17.13.


    PIC
    Figure 17.13: Application Properties turn bold when non-default values are set


    When you are finished assigning Properties, click Next. The Assign Components to Devices page is displayed. (Figure 17.14)


    PIC
    Figure 17.14: Assign Components to Devices page


  4. The Assign Components to Devices page enables you to specify what executable Device on which each of the Components launches. If the Device setting is Auto, REDHAWK determines the executable Device based on any allocation Properties and dependencies set on the Components and Devices.
  5. To launch the Waveform, click Finish.

    In the REDHAWK Explorer View, the Domain Manager now displays the launched Waveform within the Waveforms folder.

    If you did not select the Start the Waveform after launching checkbox, the Waveform has not been started. To start the Waveform, in the REDHAWK Explorer View, right-click the Waveform from the Domain’s Waveforms folder and select Start.

    Once the Waveform is started, the REDHAWK Explorer View indicates that the Waveform and Components within the Waveform are in the started state by displaying STARTED next to the Waveform’s instance and the instance of each Component. (Figure 17.15)


    PIC
    Figure 17.15: Started Waveform


17.3.2 Launching Additional Components into a Running Waveform

Once a Waveform has been started, additional Components may be launched into the running Waveform. These additional Components run on the local machine and not on the Domain.

  1. In the REDHAWK Explorer View, right-click the Waveform and select Open With > Chalkboard. (Figure 17.16)


    PIC
    Figure 17.16: Opening a running Waveform in the Chalkboard


    This displays the running Waveform in the Chalkboard. (Figure 17.17)


    PIC
    Figure 17.17: Running Waveform in the Chalkboard


  2. From the Palette, add additional Components to the Waveform.

    Standard runtime actions (Plot, Start, Stop, Terminate, and Connect) are available on the newly added Components. These Components are added only to the currently running instance of the Waveform and are launched on the local machine, NOT in the Domain.

17.3.3 Stopping a Waveform

To stop a running Waveform but keep it on the Domain, in the REDHAWK Explorer View, right-click the running Waveform and select Stop from the context menu. (Figure 17.18).


PIC

Figure 17.18: Stopping a Waveform


17.3.4 Releasing a Waveform

To stop a running Waveform and release it from the Domain, in the REDHAWK Explorer View, right-click the running Waveform and select Release from the context menu. (Figure 17.19).


PIC

Figure 17.19: Releasing a Waveform


It is not necessary to select Stop prior to releasing the Waveform. The IDE stops the Waveform before releasing it.

17.4 Plotting BulkIO Ports

The REDHAWK IDE contains the ability to plot using the NeXtMidas plotting framework. If the output Port uses the BulkIO interface, it can take advantage of this feature and plot a line graph or a falling raster.

To bring up a plot within the IDE:

  1. Make sure that the Component is currently in the started state.
  2. Right-click the desired Port to plot.
  3. Select either Plot Port Data or Plot Port FFT.

    A new view is created, and it contains the plot of the Port’s output data.

The new view has the same name as the source Port. To view additional source information, hover the mouse over the title.

For more information on how to use the Plot View, refer to Section 14.4.6.

17.5 Increasing the Bandwidth of BulkIO Connections

In the presence of high data rates, plots of BulkIO Ports may not be able to keep up with the data stream. To increase the bandwidth of BulkIO CORBA connections, it is possible to connect using native omniORB libraries. This ability is currently disabled by default. The following procedure explains how to enable this ability from within the IDE:

  1. Select Window > Preferences.

    The Preferences dialog is displayed (Figure 17.20).


    PIC
    Figure 17.20: Preferences Dialog


  2. Expand REDHAWK.
  3. Select BulkIO.
  4. Set Port Factory to omnijni.
  5. Click OK.

This option should only be enabled if the Domain matches the version of the IDE, and your application requires the increased performance of omnijni.

17.6 Displaying Port Statistics

In addition to Port plotting, a user may want to monitor the amount of data flowing out or into a particular Port. The Port Monitor view displays these link statistics, which are helpful when debugging and can help identify which Component is slowing down or dropping information during data processing. The diagram also visually reflects the Port statistics.

To display the Port Monitor view:

  1. Make sure that the Component to be monitored is currently in the Started state.
  2. Right-click the Port to monitor.
  3. Select Monitor Port.

    The Port Monitor view is displayed and contains the following information:

    • Name: The name of the Port or Port connection.
    • Elements/sec: The rate of CORBA elements transferred in the pushPacket data call.
    • MBps: Mega Bytes transferred per second.
    • calls/sec: Number of push calls per second to the Port.
    • Stream IDs: List of all active stream IDs.
    • Avg. Queue Depth: For Components that queue data before processing/sending, the average queue depth measured as a percentage. If a Port does not queue data this value is set to zero.
    • Time: The elapsed time, in seconds, since the last packet was transferred via a push packet call.

For more details about the Port Monitor view, refer to Section 14.4.10.

In the diagram, for uses (out) Ports, the color of the connection (the arrow) to the provides Port reflects the statistics. Green indicates that data is flowing. Yellow indicates it has been more than 1 second since the Port pushed data, which may indicate a data flow issue. For provides (in) Ports, the color of the box on the side of the Component, which represents the Port, reflects the statistics. A green Port indicates the queue has plenty of space left. After the queue depth reaches 60 percent, the Port color changes to yellow, and the Port color slowly changes to red as the queue depth approaches 100 percent. Additionally, if there is a queue flush, the Port remains red for 30 seconds after that queue flush.

To configure the colors displayed for the various Port statistics:

  1. Select Window > Preferences.
  2. Select the REDHAWK Port Statistics preference page.
  3. Change the values.
  4. Click OK.

17.7 Getting Details About Error Conditions

If an error condition occurs within the Domain Manager which prevents a Component, Device, Domain Manager, or Device Manager from running correctly, the object’s representation in the REDHAWK Explorer is marked with a decorator in the lower left corner. Mouse hovering over the item’s icon provides a short description of the issue; however, if more than one problem has occurred, the hover text reads “Multiple Problems exist with this item”.


PIC

Figure 17.21: Mouse hovering over items with error decorators often provides information about the error


More detail about an error can be found within the Properties view of the item.

To view the details about an error condition:

  1. With the item selected, select or open the Properties View.
  2. From the Properties View, select the Advanced tab
  3. Select the status row. This causes the Details button to appear.
  4. Click Details to bring up a detailed dialog of the current error conditions.


PIC

Figure 17.22: Error event details dialog



Creative Commons License
REDHAWK Documentation is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.