2.4.2. Configuring Quality of Service (QoS)

The QoS tab allows you to add Qualities of Services and organize them in QoS Libraries and QoS Profiles.

To add new QoS to your model, click add_library_icon in the QoS tab 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 will guide 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

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:

Once you have your profiles, 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 will highlight the values that are inherited from the base profile in blue. To inherit the values from another profile click on edit_icon next to the Base QoS(s) field, and then select the QoS profile where you want to inherit from:

Inheriting from a QoS

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

Seeing the base QoS

A summary will be presented to you displaying all the inheritance:

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 but don’t modify its defaults, you won’t see it the next time you open the project. Entities with no changes to the default QoS use the default settings and won’t be displayed.

Entity with default QoS