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:
Change:
The WSDDS singleton directly manages three kinds of objects: Users, Applications, and AccessController.
To:
The WebDDS::Root singleton directly manages five kinds of objects: Client, Application, Type, QosLibrary, and AccessController.
Add The following subsections to 7.3.1
* 7.3.1.3 Operation: get_applications
* 7.3.1.4 Operation: create_qos_library
* 7.3.1.5 Operation delete_qos_library,
* 7.3.1.6 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 7.4.3.4 to section 7.3.1.7. Operation delete_type moves from section 7.4.3.5 to section 7.3.1.8. Operation get_type moves from section 7.4.3.6 to section 7.3.1.9.
Modify operation create_type (new section 7.3.1.7) to match the attached file webdds_section_7317.docx
Modify 7.3.1.8 Operation: delete_type
Replace last sentence:
It deletes the located WebDDS::Type and the associated DDS:DynamicType object.
With:
It deletes the located WebDDS::Type object. If the operation succeeds it returns OK. Otherwise it returns GENERIC_SERVICE_ERROR.
Modify 7.3.1.9 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 (http://www.omg.org/spec/dds4ccm/) 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:
Application::create_type
To:
Root::create_type
Change URI from:
/applications/<appname>/types
To:
/types
Change:
Application::delete_type
To:
Root::delete_type
Change URI from:
/applications/<appname>/types/<typename>
To:
/types/<typename>
Change:
Application::update_type
To:
Root::update_type
Add the operations in the attached webdds_table5_added_operations.docx to Table 5 in Section 8.3.3: