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 in the QoS view
or right-click QoS Libraries in the tree:
![Adding a QoS library](_images/qos_tab_add_library.png)
To add a QoS Library, enter the Library Name and the destination file:
![Entering a QoS library name and destination file](_images/qos_libraries_enter_name.png)
You can add QoS Profiles to that library by using
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](_images/add_qos_profile.png)
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](_images/add_qos_profile_popup.png)
To inherit values from another QoS Profile or a QoS Snippet, click
next to Inheritance Chain.
![Inheriting from a QoS from tree view](_images/qos_inheritance.png)
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](_images/edit_qosprofile.png)
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](_images/add_qos_for_entity.png)
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](_images/add_qos_structured_view.png)
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
button to set and get more information
on a specific setting within a policy:
![Expanding modified QoS policies](_images/expand_modified_qos.png)
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](_images/history_kinds.png)
Once the QoS is set, it will be highlighted in green to indicate that it is being set locally:
![Highlighted QoS](_images/qos_highlighted.png)
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 next to the Base
QoS(s) field, and then select the QoS Profile to inherit from:
![Inheriting from a QoS from Policy view](_images/qos_inheritance_2.png)
You can see where a value is coming from by selecting next
to the QoS value:
![Seeing the base QoS](_images/base_qos.png)
A summary displays the inheritance chain:
![Seeing the inheritance chain](_images/show_all_inheritance.png)
The XML view allows you to check the XML results and manually edit each XML file:
![Seeing the resulting XML](_images/check_xml_results.png)
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](_images/warning_unresolved_profile.png)
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](_images/entity_using_default_qos.png)