2.4.2. Configuring Quality of Service (QoS)

The QoS view allows you to add Qualities of Service and organize them in QoS Libraries and QoS Profiles.

To add new QoS to your model, click add_library_icon in the QoS view or right-click QoS Libraries in the tree:

Adding a QoS library

To add a QoS Library, enter the Library Name and the destination file:

Entering a QoS library name and destination file

You can add QoS Profiles to that library by using add_profile_icon in the main panel while a QoS Library is selected or by right-clicking on the QoS Library:

Adding a QoS profile to a library

A pop-up window guides you to select the profile name, the destination file, the profile you want to inherit from, and other attributes as shown in the screenshot below:

Popup for adding profile details

To inherit values from another QoS Profile or a QoS Snippet, click edit_icon next to Inheritance Chain.

Inheriting from a QoS from tree view

To inherit values from another 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.

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

After creating a profile, you can edit it by right-clicking the profile in the tree or clicking the Edit the profile command in the QoS Profile view:

Editing QoS Profile

Once you have your profiles configured, you can select one of them and add QoS for a specific Entity:

Adding QoS for a specific entity

When an Entity is selected, you can set all the QoS related to that Entity in the Structured view:

Setting QoS in the Structured view

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

You can browse all of the QoS policies and select the drill_down_icon button to set and get more information on a specific setting within a policy:

Expanding modified QoS policies

If you don’t create a QoS Profile or policy for an Entity, the default QoS is used for that Entity.

A short explanation is shown, and a link to [More…] information for that specific policy is provided.

For each QoS policy, suggestions and checks are provided:

Suggested settings

Once the QoS is set, it will be highlighted in green to indicate that it is being set locally:

Highlighted QoS

If your profile is inheriting from another profile, System Designer highlights the values that are inherited from the base profile in blue. To create or edit inherited values, click edit_icon next to the Base QoS(s) field, and then select the QoS Profile to inherit from:

Inheriting from a QoS from Policy view

You can see where a value is coming from by selecting inheritance_icon next to the QoS value:

Seeing the base QoS

A summary displays the inheritance chain:

Seeing the inheritance chain

The XML view allows you to check the XML results and manually edit each XML file:

Seeing the resulting XML

Note

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

Warnings

You can select and edit the Entity QoS in the Structured view to use the new name, or edit the XML file directly to use the new name. System Designer allows you to change an already used name to give you flexibility in trying out your model. For instance, 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.

Note

About using default QoS: If you create an Entity QoS without modifying its default settings, it 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