DDS-WEB 1.0 FTF Avatar
  1. OMG Issue

DDSWEB — Qos Profiles and Types are underspecified and inconsistent with XSD

  • Key: DDSWEB-21
  • Status: closed  
  • Source: Real-Time Innovations ( Gerardo Pardo-Castellote)
  • Summary:

    There is no description of QosProfiles and Types in section 7.4 where all the other DDS proxy classes are described.

    There are no mappings of QosProfiles and Types to the REST platform in section 8.3.3 nor to the SOAP platform in section 8.4 Table 9 .

    QoS profiles are scoped inside applications in section 8.3.1. This is inconsistent with the XSD where they appear inside a “qosLibrary” element.

    Types are scoped inside applications. This is inconsistent with the XSD where they appear inside the root “restdds”.

    Also the name WSDDS should we changed so something better. “WSDDS” has no meaning as it is not a “web service”. In the specification is used to name specific singleton object that serves as a way to bootstrap the system. Hence a better name would be WebDDS::Root. This only affects the conceptual model. It has no user-visible effect on the the exposed APIs and protocols.

  • Reported: DDS-WEB 1.0b1 — Mon, 10 Aug 2015 10:38 GMT
  • Disposition: Resolved — DDS-WEB 1.0
  • Disposition Summary:

    Update UML model with additional classes. Add missing operations and update Table 5

    Make the following changes to the UML model.

    • Change the name of class WebDDS::WSDDS to WebDDS::Root
    • Introduce a WebDDS::QosLibrary class owned by WedDDS::Root
    • Move class WebDDS::QosProfile from its current owner (Applications) to be owned by WebDDS::QosLibrary
    • Move class WebDDS::Type from its current owner (Applications) to be owned by WebDDS::Root.
    • Add new operations to WebDDS::Root: get_applications, create_qos_library, delete_qos_library, get_qos_libraries,
    • Move operations create_type, delete_type, get_type from WebDDS::Application to WebDDS::Root
    • Remove the relationships from WebDDS::Application to WebDDS::Type and WebDDS::QosProfile. Instead there should be “uses” relationships from WebDDS::Participant to those classes.

    Regenerate figures 3, 4, 6, 7, 8, 9, 10, and 11. Such that they include the above-listed changes. The new figures are attached to this issue resolution.

    Change the specification where it mentions object “WSDDS”. Replace that with either “WebDDS::Root” or “WebDDS” as described below:

    • Section 7.2 (2 times)
    • Section 7.3 (4 times) the first 2 replace with “WebDDS::Root” the second two replace with “WebDDS”
    • Title of section 7.3.1. Change title to “Class WebDDS::Root”
    • Figure 7 caption change “WSDDS” to “WebDDS::Root”
    • Section 7.3.3 change “WSDDS” to “WebDDS::Root”
    • Table 5, (2 times) change “WSDDS” to “WebDDS::Root”
    • Section 8.4 change “WSDDS” to “WebDDS::Root”

    Modify section 7.3.1 as specified below:

    • Rename WebDDS::Root class operations “login” to “create_application”.
    • Rename WebDDS::Root class operations “logout” to “delete_application”.

    Modify section 7.3.1 first paragraph:

    The WSDDS singleton directly manages three kinds of objects: Users, Applications, and AccessController.


    The WebDDS::Root singleton directly manages five kinds of objects: Client, Application, Type, QosLibrary, and AccessController.

    Add The following subsections to 7.3.1
    * Operation: get_applications
    * Operation: create_qos_library
    * Operation delete_qos_library,
    * Operation: get_qos_libraries
    These subsection appear in the attachment file subsections_7313_to_7316.docx

    Move operations: create_type , delete_type, get_type from WebDDS::Application to WebDDS::Root. create_type moves from section to section Operation delete_type moves from section to section Operation get_type moves from section to section

    Modify operation create_type (new section to match the attached file webdds_section_7317.docx

    Modify Operation: delete_type
    Replace last sentence:

    It deletes the located WebDDS::Type and the associated DDS:DynamicType object.


    It deletes the located WebDDS::Type object. If the operation succeeds it returns OK. Otherwise it returns GENERIC_SERVICE_ERROR.

    Modify Operation: get_type.
    Change the name to “get_types” and replace description with that of the attached file webdds_section_7319.docx

    Add section 7.4.10 with the text in the attached file webdds_section_7410.docx :

    Add section 7.4.11 with the text below:

    7.4.11 Class WebDDS::QosProfile
    This class represents a Qos Profile as defined in the DDS4CCM specification ( version 1.1.

    A Qos Profile is a named object containing DDS Qos definitions for each kind of DDS Entity: DomainParticipant, Topic, Publisher, Subscriber, DataWriter, and DataReader. This grouping under a single Qos Profile object enables applications to specify desired Qos by indicating only the name of the Qos Profile object to use. As DDS Entities are created the proper Qos is selected based on the kind of DDS entity.

    Update Table 5 in Section 8.3.3 the REST mappings with the following changes:




    Change URI from:








    Change URI from:








    Add the operations in the attached webdds_table5_added_operations.docx to Table 5 in Section 8.3.3:

  • Updated: Tue, 22 Dec 2015 15:08 GMT
  • Attachments: