2.3.2. Configuring Quality of Service (QoS)

The System Designer QoS View lets you create and manage Quality of Service policies for the Entities in your project. To configure QoS in System Designer, add a QoS Library, add a QoS Profile within the Library, then add Entity QoS policies to the profile as needed.

The System Designer QoS View lets you explore QoS policies in two ways:

  • Structured View: An intuitive graphical interface to manage QoS.

  • XML View: Review, edit, and validate QoS in XML format.

To open the QoS View, select the hamburger icon hamburger_icon at the top left and select QoS.

2.3.2.1. Add QoS

This section uses an example to detail how to add QoS to an Entity in System Designer. In this example, we will change the History QoS policy on a DataReader.

Note

For more information on QoS, see Basic QoS in the Connext Core Libraries Getting Started Guide.

  1. Create a new or open an existing project in System Designer, then use the hamburger icon hamburger_icon to open the QoS View. If you completed the example in Working with Types, use the same project.

  2. To add a QoS Library to the project, click add_library_icon or right-click QoS Libraries in the tree:

    Adding a QoS library
  3. When prompted, enter the name NewQosLibrary1, then click OK.

    Entering a QoS library name and destination file

    By default, the new QoS is added to the last XML file used. The default is the XML file created with your new project. To change the default, use the File drop-down list to select a different XML file in your project, or use the New… button to add a new XML file to your project.

  4. To add a QoS Profile, right-click the QoS Library in the tree panel and select Add QoS Profile, or click add_library_icon.

    Adding a QoS profile to a library
  5. In the pop-up window, enter the name NewQosProfile1, then click OK.

    Popup for adding profile details

    Use the help_icon icon for information about each of the fields in this pop-up. See Inheritance Chain for details about inheriting values from a different profile.

  6. After creating the QoS Library and Profile, add QoS for your Entities. Right-click the QoS Profile in the tree panel and select Add… (or click add_library_icon), then select the Entity QoS you want to create. In this example, select DataReader QoS.

    Adding QoS for a specific entity
  7. Select DataReader QoS in the tree, select the Structured View, select History (History QoS Policy), then set Kind to KEEP_ALL_HISTORY_QOS.

    Setting QoS in the Structured view

On completing this example, the QoS Structured View should indicate the History QoS policy was edited in the DataReader QoS. System Designer uses green text to indicate policies that were changed locally, in the active project.

2.3.2.2. Editing QoS

To edit a QoS Profile or QoS Library, right-click the item in the tree panel and select Edit item…, or double-click the item in the tree panel. For QoS Profiles, you can also select the Edit the profile icon in the Structured View.

Editing QoS Profile

If you don’t change any QoS policies for an Entity, the default QoS is used. When you use the default QoS policy for an Entity, that QoS will not display the next time you open the project. Entities with no changes to the default QoS use the default settings and are not displayed.

Entity with default QoS

Note

If you edit a profile name that’s already being used in an Entity (such as in a <datawriter_qos>), the Entity is not updated with your change. You will get a warning when this occurs:

Warnings

To use the new name, you can select and edit the Entity QoS in the Structured View, or edit the XML file in the XML View, to use the new name. System Designer allows you to change a name already in use to give you flexibility in trying out your model. For example, you may want to use your newly named profile in different entities. Entities that use the old (now unrecognized) name will revert to the default QoS.

2.3.2.3. QoS Categories

To simplify QoS configuration, QoS policies are categorized by complexity.

  • Basic: The default setting, Basic QoS policies include the most important and commonly used settings.

  • Advanced: When selected, all available QoS policies are listed.

Use the QoS Category listbox to select which policies you want to see.

QoS Category

Some QoS policies include Basic and Advanced configuration settings. For example, the Multicast policy includes one commonly used setting, Value, and an advanced setting, Kind. When working with the Basic category, use the Show/Hide advanced QoS toggle to access the selected policy’s advanced settings.

QoS Advanced Category

If the Show/Hide advanced QoS toggle is disabled, the selected policy does not contain any advanced QoS settings.

Note

See QosPolicies in the RTI Connext DDS Core Libraries User’s Manual for more information on QoS categories and the policies available for each Entity.

2.3.2.4. Structured View

In the Structured View, you can browse all of the QoS Libraries, Profiles, and policies in your project.

QoS Structured View

Select the drill_down_icon button on each QoS policy name to expand it and learn more about the policy or configure it. A short description is displayed and a link to [More…] information for that policy is provided.

Suggested settings

After changing a QoS policy, the text becomes green to indicate that it was set locally.

Highlighted QoS

The toolbar in Structured View includes the following commands:

  • expand_icon - expand/collapse all changed policies

  • qos_category_icon - select to list basic or advanced policies

  • restore_icon - restore all changed policies to their previous value

  • defaults_icon - reset all changed policies to their default value

2.3.2.5. XML View

The XML View allows you to review, edit, and validate the auto-generated XML file.

Seeing the resulting XML

The toolbar in XML View includes the name and location of the active XML file and the following commands:

  • edit_xml_icon - manually edit the XML file

  • codegen_check_icon - use RTI Code Generator to check the XML file for issues

2.3.2.6. Inheritance Chain

An individual QoS Profile or Entity QoS Policy (for example, <datareader_qos>) can inherit values from other QoS Profiles and/or be composed of QoS Snippets.

2.3.2.6.1. QoS Profile Inheritance

To inherit values from another profile, click edit_icon next to Inheritance Chain while creating or editing a QoS Profile. Select the appropriate profile in the Base Profile field.

To narrow the list of available profiles to those most commonly used, select Show Common Profiles. These common profiles include:

  • Builtin profiles starting with BuiltinQosLib::Pattern

  • QoS Profiles defined in the open project

To inherit values from a snippet, double-click in the QoS Snippets field to select one or more snippets. Note that some profiles cannot be defined as snippets because they inherit from a base profile.

Inheritance dialogs

2.3.2.6.2. QoS Policy Inheritance

To create or edit inherited values in an Entity QoS policy, select the QoS policy in the tree. In the Structured View, click edit_icon next to Base QoS(s), then select the base profile and/or snippet(s) to inherit from.

Inheritance entity

If your QoS Profile or policy is inheriting QoS settings from a different profile, the values that are inherited from the base profile display in blue. To see where a value is coming from, select inheritance_icon next to the QoS value to display the value’s inheritance chain.

Seeing the inheritance chain

For more information on Entities and Profiles, see these sections of the RTI Connext DDS Core Libraries User’s Manual:

2.3.2.7. Configuring Security Plugins

Note

To use security in System Designer, you must install the Security Plugins. For more information, see RTI Security Plugins Installation Guide.

The QoS view also allows you to configure the Security Plugins of a DomainParticipant’s QoS.

Select QoS view

Click configure_security_icon in a DomainParticipant’s QoS.

Configure security

A new dialog appears that will guide you through configuring the Security Plugins on the selected DomainParticipant’s QoSs.

Editing security profile

First, you will be asked to add a new configuration. Click add_sec_config_icon and add the name your security configuration is going to use.

Add new configuration

Once the configuration has been added, start configuring the security properties for your newly created configuration.

Apart from allowing you to change specific security properties associated with each configuration, System Designer can also be used to configure security properties that are not bound to a specific configuration. These properties can be configured by clicking on globals_icon. The following dialog will open, allowing you to configure global properties such as Authentication and Access Control.

Global configuration

Tip

The dialogs shown above can be used to check whether the security configuration is valid. To validate the configuration, click validate_icon.

Validate configuration

For more information on Security Plugins, see the RTI Security Plugins User’s Manual.