Issue 4514: Supplier and version underspecified (cwm-rtf) Source: Adaptive (Mr. Pete Rivett, pete.rivett@adaptive.com) Nature: Enhancement Severity: Minor Summary: Supplier and version of SoftwareSystem should be optional: they are not always known or relevant. The description for supplier should clarify whether it represents any/all of: a) the original developer (e.g. "Oracle"); b) the entity who sold the software to the organization (e.g. a reseller); c) the IT support group within the organization who deployed it for a particular set of business users. It would make more sense to model supplier as a reference to BusinessInformation::ResponsibleParty, since this would allow reuse, contact information and impact analysis ("supplier X has gone out of business, what have they supplied us?"). Version might also make sense on DeployedSoftwareSystem (at a logical/design level one might not care what the version is: but it might be required to record which version is actually deployed). Resolution: see below Revised Text: In the formal specification (document formal/2001-10-01), add an "Attributes" subsection heading between the "Superclasses" and "References" subsections of the DeployedSoftwareSystem class description on page 5-57. Add text for fixLevel attribute to "Attributes" subsection of DeployedSoftwareSystem (document formal/2001-10-01) on page 5-57: fixLevel Describes the fix level of the DeployedSoftwareSystem instance. type: String multiplicity: exactly one In the CWM Rose model (document ad/01-02-07), add attribute DeployedSoftwareSystem::fixLevel of type "String". In the CWM XML file (document ad/01-02-03), within the bounds of the definition of class DeployedSoftwareSystem, add the following definitions after line 2587 (with the text "<Model:Namespace.contents>") and before the definition of the softwareSystem reference that begins on line 2588. (Note that the text '<<id>>' will be replaced by the generation software with appropriate references to other xmi objects when the actual file is created.) <Model:Attribute xmi.id='<<id>>' name='fixLevel' annotation='Describes the fix level of the DeployedSoftwareSystem instance.' scope='instance_level' visibility='public_vis' isChangeable='true' isDerived='false' type='<<id>>'> <Model:StructuralFeature.multiplicity> <XMI.field>1</XMI.field> <!-- lower --> <XMI.field>1</XMI.field> <!-- upper --> <XMI.field>false</XMI.field> <!-- is_ordered --> <XMI.field>false</XMI.field> <!-- is_unique --> </Model:StructuralFeature.multiplicity> </Model:Attribute> In the CWM IDL zip file (document ad/01-02-06), make the following changes in the SoftwareDeployment.idl file. Insert between lines 272 and 273 in the definition of the DeployedSoftwareComponet interface: string fix_level () raises (Reflective::MofError); void fix_level (in string new_value) raises (Reflective::MofError); Replace line 268 (text = "in Core::VisibilityKind visibility)") with: in Core::VisibilityKind visibility, in string fix_level) In the formal specification (document formal/2001-10-01), change multiplicity of the supplier attribute of SoftwareSystem on page 5-61 from "exactly one" to "zero or one". In the CWM XML file (document ad/01-02-03), change the lower bound of the SoftwareSystem::supplier attribute at line 2532 from <XMI.field>1</XMI.field> <!-- lower --> to <XMI.field>10</XMI.field> <!-- lower --> In the CWM IDL file (document ad/01-02-06), insert the following text between lines 213 and 214 in the SoftwareDeployment.idl file: void unset_supplier () raises (Reflective::MofError); In the formal specification (document formal/2001-10-01), change multiplicity: of vendor attribute of SoftwareSystem on page 5-61 from "exactly one" to "zero or one". In the CWM XML file (document ad/01-02-03), change the lower bound of the SoftwareSystem::vendor attribute at line 2540 from <XMI.field>1</XMI.field> <!-- lower --> to <XMI.field>10</XMI.field> <!-- lower --> In the CWM IDL zip file (document ad/01-02-06), insert the following text between lines 217 and 218 in the SoftwareDeployment.idl file: void unset_vendor () raises (Reflective::MofError); In the formal specification (document formal/2001-10-01), update Figure 5-11 on page 5-51 to include fixLevel, from: to (note that this new figure also includes a change in response to Issue 4518 -- the reflexive association on DeployedComponent -- that is not relevant to Issue 4514): In the formal specification (document formal/2001-10-01), update Figure 5-13 on page 5-53 to include the fixLevel attribute, from: to Actions taken: August 19, 2001: received issue May 13, 2002: closed issue Discussion: Add string attribute ‘fixLevel’ to DeployedSoftwareSystem and make supplier and version attributes optional on SoftwareSystem End of Annotations:===== From: webmaster@omg.org Message-Id: <200108192121.f7JLLht00170@emerald.omg.org> Date: 19 Aug 2001 17:25:13 -0400 To: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: Issue/Bug Report Content-Type: Text/html; charset=windows-1252 X-UIDL: 83)!!35i!!pahd9~kTd9 Name: Pete Rivett Company: Adaptive mailFrom: pete.rivett@adaptive.com Notification: Yes Specification: CWM Section: 8 FormalNumber: ad/01-02-03 Version: 1.0 RevisionDate: 02/02/01 Page: various Nature: Enhancement Severity: Minor HTTP User Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0) Description Supplier and version underspecified Supplier and version of SoftwareSystem should be optional: they are not always known or relevant. The description for supplier should clarify whether it represents any/all of: a) the original developer (e.g. "Oracle"); b) the entity who sold the software to the organization (e.g. a reseller); c) the IT support group within the organization who deployed it for a particular set of business users. It would make more sense to model supplier as a reference to BusinessInformation::ResponsibleParty, since this would allow reuse, contact information and impact analysis ("supplier X has gone out of business, what have they supplied us?"). Version might also make sense on DeployedSoftwareSystem (at a logical/design level one might not care what the version is: but it might be required to record which version is actually deployed).