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 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.
Create a new or open an existing project in System Designer, then use the hamburger icon to open the QoS View. If you completed the example in Working with Types, use the same project.
To add a QoS Library to the project, click or right-click QoS Libraries in the tree:
When prompted, enter the name NewQosLibrary1, then click OK.
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.
To add a QoS Profile, right-click the QoS Library in the tree panel and select Add QoS Profile, or click .
In the pop-up window, enter the name NewQosProfile1, then click OK.
Use the icon for information about each of the fields in this pop-up. See Inheritance Chain for details about inheriting values from a different profile.
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 ), then select the Entity QoS you want to create. In this example, select DataReader QoS.
Select DataReader QoS in the tree, select the Structured View, select History (History QoS Policy), then set Kind to KEEP_ALL_HISTORY_QOS.
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.
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.
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:
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.
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.
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.
Select the 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.
After changing a QoS policy, the text becomes green to indicate that it was set locally.
The toolbar in Structured View includes the following commands:
2.3.2.5. XML View
The XML View allows you to review, edit, and validate the auto-generated XML file.
The toolbar in XML View includes the name and location of the active XML file and the following commands:
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 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.
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 next to Base QoS(s), then select the base profile and/or snippet(s) to inherit from.
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 next to the QoS value to display the value’s 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.
Click in a DomainParticipant’s QoS.
A new dialog appears that will guide you through configuring the Security Plugins on the selected DomainParticipant’s QoSs.
First, you will be asked to add a new configuration. Click and add the name your security configuration is going to use.
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 . The following dialog will open, allowing you to configure global properties such as Authentication and Access Control.
Tip
The dialogs shown above can be used to check whether the security configuration is valid. To validate the configuration, click .
For more information on Security Plugins, see the RTI Security Plugins User’s Manual.