Issue 6602: 6.4.17 ComponentPortDescription (01) (deployment-ftf) Source: Raytheon (Mr. Gerald Lee Bickle, Gerald.L.Bickle(at)raytheon.com) Nature: Uncategorized Issue Severity: Summary: For SupportedType attribute, how can one distinguish between the interfaces provided and required for a port when a port is both a provider and a user? Resolution: Revised Text: Actions taken: November 12, 2003: received issue Discussion: During the RTF meetings and telephone conferences the RTF agreed on a general solution outline. However, further discussion is needed on the proposed resolution. Thus, this issue is deferred to the next Deployment RTF End of Annotations:===== ubject: Deployment & Configuration Issue To: issues@omg.org Cc: swradio@omg.org, deployment-ftf@omg.org X-Mailer: Lotus Notes Release 5.0.8 June 18, 2001 From: Gerald_L_Bickle@raytheon.com Date: Wed, 12 Nov 2003 07:41:55 -0500 X-MIMETrack: Serialize by Router on NotesServer3/HDC(Release 5.0.12 |February 13, 2003) at 11/12/2003 07:40:10 AM Deployment & Configuration Technical Issue 6.4.17 ComponentPortDescription Issue 1 For SupportedType attribute, how can one distinguish between the interfaces Issue 6602 Proposed Resolution 2005-01-05 Issue Description For SupportedType attribute, how can one distinguish between the interfaces provided and required for a port when a port is both a provider and a user? Changes Section 6.3 Model Diagram Conventions · In the fifth bullet (specificType), remove the words, .or ports.. · In the sixth bullet (supportedType), remove the words, .or port.. Section 6.4.17.1 Description · Change the diagram to match the changes of section 6.4.17.2. Section 6.4.17.2 Attributes · Delete specificType: String, supportedType: String [1..*] and provider: Boolean attributes. · Add theseattributes: o required: String [0..1] The interface that this port provides. Connected ports must have usesType interfaces of the same type or a supertype. o provided: String [0..1] The interface that this port uses. Connected ports must have providesType interfaces of the same type or a subtype. Comment: the type of supportedType was String[1..*]. This makes writing OCL type consistency constraints difficult and is inconsistent with UML ports (9.3.1.1). However, this inconsistency has been maintained. Section 6.4.17.4 Constraints · Remove the existing constraint (both text and OCL). · Add the constraint, .For every port U connected to a port P, U.required must be null or the U.required must be either the P.provided or a subclass of the P.provided.. Section 6.4.17.4 Semantics · Change the first sentence to, .Ports that are the endpoints of a connection must support compatible interfaces.. Section 8.2.9.2 Attributes · Delete UID: String, supportedType: Sequence(String) and provider: Boolean attributes. · Add theseattributes: o required: String [0..1] The interface that this port provides. Connected ports must have usesType interfaces of the same type or a supertype. o provided: String [0..1] The interface that this port uses. Connected ports must have providesType interfaces of the same type or a subtype. Comment: Section 8.2.9.1 states, .The Port stereotype is an extension of the UML 2.0 Port metaclass (from UML2.0::CompositeStructure::Ports).. That was not true before these changes, and it still isn.t true since UML makes required and provided associations to Interfaces, not String attributes. Attributes greatly simplify stereotyping. Section 8.2.9.3 Associations · Remove the note following this section. · In the same place add a note reading, .Note . Restriction. In UML 2.0, a Port can have multiple provided and multiple required interfaces. In this D&C specification, a port can have at most one provided interface and at most one require interface.. Section 9.3.1 ComponentInterfaceDescription · Change ComponentPortDescription in the diagram to match the attribute changes of Section 6.4.17.2. · Replace paragraph 4 with the text, .Repository Id strings are used to identify interface types, i.e. for the specificType, supportedType, required and provided attributes.. · Replace paragraph 5 with the text, .For Facet ports, provided specifies the Repository Id of the provided interface that the developer (or tool) chooses to expose for connections. For receptacles, provided specifies the Repository Id of the accepted interface. For EventEmitter and EventPublisher ports, required specifies the Repository Id of the accepted consumer interface. For EventConsumer ports, provided lists the Repository Id of the consumer interface that the developer (or tool) chooses to expose for connections.. · Delete paragraph 6. Section 9.3.1 ComponentInterfaceDescription · Change ComponentPortDescription in the diagram to match the attribute changes of Section 6.4.17.2. · Appendix A IDL for CCM · Replace the appropriate block of IDL with the following: struct ComponentPortDescription { string name; string provided; string required; boolean exclusiveProvider; boolean exclusiveUser; boolean optional; CCMComponentPortKind kind; }; Appendix B XML Schema for CCM · Replace the appropriate section of the schema with the following: provided and required for a port when a port is both a provider and a user?