Issue 12425: Several association ends are both 0..* and composite owners (kdm-rtf) Source: Adaptive (Mr. Pete Rivett, pete.rivett@adaptive.com) Nature: Uncategorized Issue Severity: Significant Summary: Several association ends are both 0..* and composite owners. This is not only an invalid combination but is inconsistent with the specification document and Rose model used for that. This seems to affect the ends that {subset group} (that in the XMI contain "subsettedProperty='P.O.6222315' ") For example, line 172 of the file is: <ownedAttribute xmi:id='P.O.20372204' xmi:type='cmof:Property' isOrdered='false' subsettedProperty='P.O.6222315' type='C.19792917' name='implementation' lower='0' upper='*' isComposite='true' association='A.35' /> The fact that this has isComposite='true' is inconsistent with Figure 21.3 of ptc/08-02-08 (the KDM 1.1 spec document) which has no black diamond on the line between BuildResource and Group. Proposed resolution Make all Properties that {subset group} have isComposite='false' For example, the above line 172 would become: <ownedAttribute xmi:id='P.O.20372204' xmi:type='cmof:Property' isOrdered='false' subsettedProperty='P.O.6222315' type='C.19792917' name='implementation' lower='0' upper='*' isComposite='false' association='A.35' /> Resolution: Change the clause isComposite=’true’ into isComposite=’false’ in the following lines (provided below in the context of their Class owner) in the file kdm_1.1.cmof.xml: <ownedMember xmi:id='C.22840242' xmi:type='cmof:Class' name='BuildResource' superClass='C.14056260' isAbstract='false' > <ownedAttribute xmi:id='P.O.20372204' xmi:type='cmof:Property' isOrdered='false' subsettedProperty='P.O.6222315' type='C.19792917' name='implementation' lower='0' upper='*' isComposite='true' association='A.35' /> <ownedAttribute xmi:id='P.O.13254846' xmi:type='cmof:Property' isOrdered='false' subsettedProperty='P.O.6222315' type='C.14056260' name='groupedBuild' lower='0' upper='*' isComposite='true' association='A.37' /> </ownedMember> <ownedMember xmi:id='C.21360255' xmi:type='cmof:Class' name='NamespaceUnit' superClass='C.7475352' isAbstract='false' > <ownedAttribute xmi:id='P.O.6893036' xmi:type='cmof:Property' isOrdered='false' subsettedProperty='P.O.6222315' type='C.7475352' name='groupedCode' lower='0' upper='*' isComposite='true' association='A.80' /> </ownedMember> <ownedMember xmi:id='C.2688299' xmi:type='cmof:Class' name='AbstractConceptualElement' superClass='C.19792917' isAbstract='true' > <ownedAttribute xmi:id='P.O.20416442' xmi:type='cmof:Property' isOrdered='false' subsettedProperty='P.O.6222315' type='C.19792917' name='implementation' lower='0' upper='*' isComposite='true' association='A.104' /> </ownedMember> <ownedMember xmi:id='C.12349885' xmi:type='cmof:Class' name='IndexElement' superClass='C.16116684' isAbstract='false' > <ownedAttribute xmi:id='P.O.9068636' xmi:type='cmof:Property' isOrdered='false' subsettedProperty='P.O.6222315' type='C.30064779' name='implementation' lower='0' upper='*' isComposite='true' association='A.115' /> </ownedMember> <ownedMember xmi:id='C.25797638' xmi:type='cmof:Class' name='DataAction' superClass='C.27225657' isAbstract='false' > <ownedAttribute xmi:id='P.O.18189246' xmi:type='cmof:Property' isOrdered='false' subsettedProperty='P.O.6222315' type='C.8621536' name='implementation' lower='0' upper='*' isComposite='true' association='A.126' /> </ownedMember> <ownedMember xmi:id='C.12180601' xmi:type='cmof:Class' name='AbstractEventElement' superClass='C.19792917' isAbstract='true' > <ownedAttribute xmi:id='P.O.15209872' xmi:type='cmof:Property' isOrdered='false' subsettedProperty='P.O.6222315' type='C.32333114' name='implementation' lower='0' upper='*' isComposite='true' association='A.151' /> </ownedMember> <ownedMember xmi:id='C.3554254' xmi:type='cmof:Class' name='AbstractPlatformElement' superClass='C.19792917' isAbstract='true' > <ownedAttribute xmi:id='P.O.23393515' xmi:type='cmof:Property' isOrdered='false' subsettedProperty='P.O.6222315' type='C.32333114' name='implementation' lower='0' upper='*' isComposite='true' association='A.175' /> </ownedMember> <ownedMember xmi:id='C.13266771' xmi:type='cmof:Class' name='DeployedSoftwareSystem' superClass='C.3554254' isAbstract='false' > <ownedAttribute xmi:id='P.O.31436981' xmi:type='cmof:Property' isOrdered='false' subsettedProperty='P.O.6222315' type='C.31179076' name='groupedComponent' lower='0' upper='*' isComposite='true' association='A.185' /> </ownedMember> <ownedMember xmi:id='C.31179076' xmi:type='cmof:Class' name='DeployedComponent' superClass='C.3554254' isAbstract='false' > <ownedAttribute xmi:id='P.O.29921964' xmi:type='cmof:Property' isOrdered='false' subsettedProperty='P.O.6222315' type='C.28336930' name='groupedCode' lower='0' upper='*' isComposite='true' association='A.188' /> </ownedMember> <ownedMember xmi:id='C.32002033' xmi:type='cmof:Class' name='AbstractStructureElement' superClass='C.19792917' isAbstract='true' > <ownedAttribute xmi:id='P.O.14191483' xmi:type='cmof:Property' isOrdered='false' subsettedProperty='P.O.6222315' type='C.19792917' name='implementation' lower='0' upper='*' isComposite='true' association='A.202' /> </ownedMember> <ownedMember xmi:id='C.26598825' xmi:type='cmof:Class' name='AbstractUIElement' superClass='C.19792917' isAbstract='true' > <ownedAttribute xmi:id='P.O.14454637' xmi:type='cmof:Property' isOrdered='false' subsettedProperty='P.O.6222315' type='C.32333114' name='implementation' lower='0' upper='*' isComposite='true' association='A.209' /> </ownedMember> These are all associations that follow the “group association” pattern of KDM. This change is performed automatically in the process of converting the UML Rose diagrams into CMOF. The unique ids of the cmof elements may change during the conversion. Revised Text: Actions taken: April 25, 2008: received issue October 19, 2009: closed issue Discussion: End of Annotations:===== ubject: Urgent issues on ptc-08-02-10.xml KDM 1.1 CMOF XMI Date: Fri, 25 Apr 2008 09:25:06 -0700 X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: Urgent issues on ptc-08-02-10.xml KDM 1.1 CMOF XMI Thread-Index: Acim8OwqaFD/DgfhRRKuYxzDDkSCRg== Priority: Urgent From: "Pete Rivett" To: , "Andrew Watson" Cc: "Nikolai Mansourov" , "Nick Dowler" , X-MIME-Autoconverted: from quoted-printable to 8bit by amethyst.omg.org id m3PGRI3g023532 These are issues with the CMOF XMI file - which we are using for our implementation - and not the specification document. We are probably the first to have a CMOF-based implementation so are hitting issues related to Associations in particular, which previous EMOF-based work would not have encountered. However some of these are general issues with the XMI file, and one is an inconsistency with the spec document. These are urgent issues in that the XMI file is either broken or unusable; and our (very pressing) repository implementation requires these resolutions in order to progress. I include detailed proposed resolutions for all issues. Note that I believe there is no KDM RTF currently chartered, but that we cannot wait for this to happen. We have made Nick Mansourov, the former KDM RTF chair, aware of these issues. We (Adaptive) can if necessary apply these fixes to produce a new CMOF XMI file. Regards Pete ISSUE 6 Several association ends are both 0..* and composite owners. This is not only an invalid combination but is inconsistent with the specification document and Rose model used for that. This seems to affect the ends that {subset group} (that in the XMI contain "subsettedProperty='P.O.6222315' ") For example, line 172 of the file is: The fact that this has isComposite='true' is inconsistent with Figure 21.3 of ptc/08-02-08 (the KDM 1.1 spec document) which has no black diamond on the line between BuildResource and Group. Proposed resolution Make all Properties that {subset group} have isComposite='false' For example, the above line 172 would become: Pete Rivett (pete.rivett@adaptive.com) CTO, Adaptive Inc Hello House, 135 Somerford Road, Bournemouth, BH23 3PY, UK tel: +44 1202 491243