Issue 9239: IDL name clash due to enumeration values defined twice (deployment-rtf) Source: Fraunhofer FOKUS (Mr. Andreas Hoffmann, andreas.hoffmann@fokus.fraunhofer.de a-hoffmann@gmx.net) Nature: Uncategorized Issue Severity: Summary: In section 6.4.11.5 (Semantics of LocalityKind), different values including "DifferentProcess" and "NoConstraint" are defined for the LocalityKind enumeration of the Component Data Model. In section 6.8.6.5 (Semantics of PlanLocalityKind), the constants for the PlanLocalityKind enumeration are defined for the Execution Data Model, also containg these two names mentioned above. The problem is that enumeration names are introduced into their parent scope. Thus, the definition of the PlanLocalityKind reusing the same names as used in the LocalityKind enumeration causes a name clash in the IDL. Proposed resolution: Add a prefix "Plan" to all the constants of the PlanLocalityKind enumeration. In section 6.8.6.5, change the bullet list from SameProcess: This value specifies that the component instances that the PlanLocality element referers to shall be started in the same process by the deployment engine. DifferentProcess: This value specifies that the component instances that the PlanLocality element referers to shall be started in different processes by the deployment engine. NoConstraint: This value specifies that there is no locality constraint for the component instances that the PlanLocality element refers to. The purpose of this special value is to enable to switch locality constraints temporarily off without loosing the structure of the DeploymentPlan, i.e. the PlanLocality class instance with its associations to InstanceDeploymentDescription can be kept for later reuse but has currently no impact on the execution of the DeploymentPlan. to PlanSameProcess: This value specifies that the component instances that the PlanLocality element referers to shall be started in the same process by the deployment engine. PlanDifferentProcess: This value specifies that the component instances that the PlanLocality element referers to shall be started in different processes by the deployment engine. PlanNoConstraint: This value specifies that there is no locality constraint for the component instances that the PlanLocality element refers to. The purpose of this special value is to enable to switch locality constraints temporarily off without loosing the structure of the DeploymentPlan, i.e. the PlanLocality class instance with its associations to InstanceDeploymentDescription can be kept for later reuse but has currently no impact on the execution of the DeploymentPlan. Resolution: Add a prefix "Plan" to all the constants of the PlanLocalityKind enumeration. Revised Text: In section 6.8.6.5, change the bullet list from · SameProcess: This value specifies that the component instances that the PlanLocality element refers to shall be started in the same process by the deployment engine. · DifferentProcess: This value specifies that the component instances that the PlanLocality element refers to shall be started in different processes by the deployment engine. · NoConstraint: This value specifies that there is no locality constraint for the component instances that the PlanLocality element refers to. The purpose of this special value is to enable to switch locality constraints temporarily off without loosing the structure of the DeploymentPlan, i.e. the PlanLocality class instance with its associations to InstanceDeploymentDescription can be kept for later reuse but has currently no impact on the execution of the DeploymentPlan. to · PlanSameProcess: This value specifies that the component instances that the PlanLocality element refers to shall be started in the same process by the deployment engine. · PlanDifferentProcess: This value specifies that the component instances that the PlanLocality element refers to shall be started in different processes by the deployment engine. · PlanNoConstraint: This value specifies that there is no locality constraint for the component instances that the PlanLocality element refers to. The purpose of this special value is to enable to switch locality constraints temporarily off without loosing the structure of the DeploymentPlan, i.e. the PlanLocality class instance with its associations to InstanceDeploymentDescription can be kept for later reuse but has currently no impact on the execution of the DeploymentPlan. Disposition: Resolved Actions taken: January 18, 2006: received issue June 7, 2006: closed issue Discussion: End of Annotations:===== te: Wed, 18 Jan 2006 23:04:29 +0100 From: Andreas Hoffmann Organization: Fraunhofer FOKUS User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.2) Gecko/20040804 Netscape/7.2 (ax) X-Accept-Language: de, en, en-us, en-gb To: issues@omg.org CC: Deployment RTF Subject: Deployment RTF issue: IDL name clash due to enumeration values defined twice This is a new issue for the Deployment RTF. In section 6.4.11.5 (Semantics of LocalityKind), different values including "DifferentProcess" and "NoConstraint" are defined for the LocalityKind enumeration of the Component Data Model. In section 6.8.6.5 (Semantics of PlanLocalityKind), the constants for the PlanLocalityKind enumeration are defined for the Execution Data Model, also containg these two names mentioned above. The problem is that enumeration names are introduced into their parent scope. Thus, the definition of the PlanLocalityKind reusing the same names as used in the LocalityKind enumeration causes a name clash in the IDL. Proposed resolution: Add a prefix "Plan" to all the constants of the PlanLocalityKind enumeration. In section 6.8.6.5, change the bullet list from SameProcess: This value specifies that the component instances that the PlanLocality element referers to shall be started in the same process by the deployment engine. DifferentProcess: This value specifies that the component instances that the PlanLocality element referers to shall be started in different processes by the deployment engine. NoConstraint: This value specifies that there is no locality constraint for the component instances that the PlanLocality element refers to. The purpose of this special value is to enable to switch locality constraints temporarily off without loosing the structure of the DeploymentPlan, i.e. the PlanLocality class instance with its associations to InstanceDeploymentDescription can be kept for later reuse but has currently no impact on the execution of the DeploymentPlan. to PlanSameProcess: This value specifies that the component instances that the PlanLocality element referers to shall be started in the same process by the deployment engine. PlanDifferentProcess: This value specifies that the component instances that the PlanLocality element referers to shall be started in different processes by the deployment engine. PlanNoConstraint: This value specifies that there is no locality constraint for the component instances that the PlanLocality element refers to. The purpose of this special value is to enable to switch locality constraints temporarily off without loosing the structure of the DeploymentPlan, i.e. the PlanLocality class instance with its associations to InstanceDeploymentDescription can be kept for later reuse but has currently no impact on the execution of the DeploymentPlan. -- Best regards / Viele Gruesse Andreas ==================================================================== Andreas Hoffmann Fraunhofer FOKUS - Research Institute for Open Communication Systems Kaiserin-Augusta-Allee 31 D - 10589 Berlin Phone: +49 30 3463-7392 Fax: +49 30 3463-8392 Email: andreas.hoffmann@fokus.fraunhofer.de Web: http://www.fokus.fraunhofer.de/motion/index.php?lang=en ====================================================================