Issue 7557: No type safety when external packages are referenced (deployment-rtf) Source: Mercury Computer Systems (Mr. Frank Pilhofer, fpilhofe@mc.com) Nature: Uncategorized Issue Severity: Summary: The ComponentPackageReference element (6.4.8) allows to reference an external package (to be resolved during planning by searching repositories), for example to instantiate a subcomponent instance from, in an assembly. However, there is no type safety here; an assembly design tool has no way of validating that the ports (which are referenced by connections within the assembly) actually exist in the component interface of the referenced component. Actually, there is little point in ComponentPackageReference having an optional "requiredType"; there should always be a mandatory type that the referenced package must support. To an assembly design tool, just having the "requiredType" repository id is insufficient for validation, the full ComponentInterfaceDescription is necessary. Proposed resolution: In section 6.4.8.2, ComponentPackageReference Attributes, delete the "requiredType" attribute. Add a "requiredType" composition association to ComponentInterface- Description, with multiplicity 1..1. In section 6.4.8.3, ComponentPackageReference Constraints, delete the constraints, and replace with "No constraints." (Rationale: when type conformance is mandatory, the existing constraing will always be met.) In section 6.4.8.4, ComponentPackageReference Semantics, replace the existing text The planner will search one or more repositories for package configurations that satisfy all requirements. with The planner will search one or more repositories for package configurations that support the requiredType, and that match the requiredUUID and requiredName attributes, if present. Resolution: Revised Text: In section 6.4.8.2, ComponentPackageReference Attributes, delete the "requiredType" attribute. Add a "requiredType" composition association to ComponentInterface- Description, with multiplicity 1..1. In section 6.4.8.3, ComponentPackageReference Constraints, delete the constraints, and replace with "No constraints." (Rationale: when type conformance is mandatory, the existing constraing will always be met.) In section 6.4.8.4, ComponentPackageReference Semantics, replace the existing text The planner will search one or more repositories for package configurations that satisfy all requirements. with The planner will search one or more repositories for package configurations that support the requiredType, and that match the requiredUUID and requiredName attributes, if present. Actions taken: July 1, 2004: received issue May 9, 2005: closed issue Discussion: Resolution: Make the type information for references to external packages mandatory by pointing to the respective ComponentInterfaceDescription End of Annotations:===== ubject: No type safety when external packages are referenced Date: Thu, 1 Jul 2004 17:16:30 -0400 Thread-Topic: No type safety when external packages are referenced Thread-Index: AcRfsK1sLRzOEUcTRcifIufEnAlF6A== From: "Pilhofer, Frank" To: Cc: X-MIME-Autoconverted: from quoted-printable to 8bit by amethyst.omg.org id i61LNZlj010838 The ComponentPackageReference element (6.4.8) allows to reference an external package (to be resolved during planning by searching repositories), for example to instantiate a subcomponent instance from, in an assembly. However, there is no type safety here; an assembly design tool has no way of validating that the ports (which are referenced by connections within the assembly) actually exist in the component interface of the referenced component. Actually, there is little point in ComponentPackageReference having an optional "requiredType"; there should always be a mandatory type that the referenced package must support. To an assembly design tool, just having the "requiredType" repository id is insufficient for validation, the full ComponentInterfaceDescription is necessary. Proposed resolution: In section 6.4.8.2, ComponentPackageReference Attributes, delete the "requiredType" attribute. Add a "requiredType" composition association to ComponentInterface- Description, with multiplicity 1..1. In section 6.4.8.3, ComponentPackageReference Constraints, delete the constraints, and replace with "No constraints." (Rationale: when type conformance is mandatory, the existing constraing will always be met.) In section 6.4.8.4, ComponentPackageReference Semantics, replace the existing text The planner will search one or more repositories for package configurations that satisfy all requirements. with The planner will search one or more repositories for package configurations that support the requiredType, and that match the requiredUUID and requiredName attributes, if present.