Issue 14927: is composite and subsets not derived composite property: (uml2-rtf) Source: No Magic, Inc. (Mr. Nerijus Jankevicius, nerijus(at)nomagic.com) Nature: Uncategorized Issue Severity: Summary: 2) is composite and subsets not derived composite property: ProtocolTransition::preCondition:Constraint [0..] Profile::metaclassReference:ElementImport [0..*] Profile::metamodelReference:PackageImport [0..*] Transition::guard:Constraint [0..] ProtocolTransition::postCondition:Constraint [0..] Operation::postcondition:Constraint [0..*] Operation::precondition:Constraint [0..*] Behavior::precondition:Constraint [0..*] Operation::bodyCondition:Constraint [0..] Behavior::postcondition:Constraint [0..*] Resolution: Revised Text: Actions taken: January 7, 2010: received issue Discussion: End of Annotations:===== iler: QUALCOMM Windows Eudora Version 7.1.0.9 Date: Fri, 08 Jan 2010 13:57:06 -0500 To: issues@omg.org, uml2-rtf@omg.org From: Juergen Boldt Subject: issue 14927 -- UML2 RTF issue This is issue # 14927 I tried to collect critical metamodel implementation issues we have in our tool. Critical means that every time we must do changes in metamodel to be able to implement it. I believe, Eclipse UML2 implementation has exactly same issues. Issues may be devided into such groups: 1. Properties which are composite, but do not subset ownedElement. Our solution - subset ownedElement 2. Properties which are composite and subset other composite non-derived property. Our solution - make it non-composite as element can't be owned in two places I'm not sure all issues are reported, could someone help me manage that and check if all these are really must-be-fixed bugs? Most of these issues may be verified by running automatic script on metamodel file. See details below: is composite and subsets not derived composite property: 2) is composite and subsets not derived composite property: ProtocolTransition::preCondition:Constraint [0..] Profile::metaclassReference:ElementImport [0..*] Profile::metamodelReference:PackageImport [0..*] Transition::guard:Constraint [0..] ProtocolTransition::postCondition:Constraint [0..] Operation::postcondition:Constraint [0..*] Operation::precondition:Constraint [0..*] Behavior::precondition:Constraint [0..*] Operation::bodyCondition:Constraint [0..] Behavior::postcondition:Constraint [0..*] Juergen Boldt Director, Member Services Object Management Group 140 Kendrick St Building A Suite 300 Needham, MA 02494 USA tel: +1 781 444 0404 x 132 fax: +1 781 444 0320 email: juergen@omg.org www.omg.org X-Trusted-NM: yes From: "Nerijus Jankevicius" To: "Steve Cook" , Subject: Re: metamodel issues Date: Thu, 7 Jan 2010 18:47:05 +0200 X-Mailer: Microsoft Outlook Express 6.00.2900.5843 X-EsetScannerBuild: 6349 Steve, Can't agree that group 2 issues can be allowed. Let's take transition's guard as example. We can't own Constraint element in two places as guard and ownedRule, it is not allowed in XMI. It should be serialized as element in ownedRule and guard should only reference to it. Guard should not be composite. Nerijus ----- Original Message ----- From: Steve Cook To: Nerijus Jankevicius ; uml2-rtf@omg.org Cc: issues@omg.org ; juergen@omg.org Sent: Thursday, January 07, 2010 6:31 PM Subject: RE: metamodel issues Nerijus, this is an excellent list. For group 1, I totally agree these are bugs and should be fixed. For group 2, I think there could be an argument that this ought to be allowed because although you can get two ownership links, you can only end up with one owner, reachable via either link. But I think we need to discuss. I think we should log each of these categories as an issue: we can triage it as 2.4 and get working on it. If it is a dup we will find out then. I.m copying Jü could we get this logged as two issues please? - Steve From: Nerijus Jankevicius [mailto:nerijus@nomagic.com] Sent: 07 January 2010 14:44 To: uml2-rtf@omg.org Subject: metamodel issues Hi, I tried to collect critical metamodel implementation issues we have in our tool. Critical means that every time we must do changes in metamodel to be able to implement it. I believe, Eclipse UML2 implementation has exactly same issues. Issues may be devided into such groups: 1. Properties which are composite, but do not subset ownedElement. Our solution - subset ownedElement 2. Properties which are composite and subset other composite non-derived property. Our solution - make it non-composite as element can't be owned in two places I'm not sure all issues are reported, could someone help me manage that and check if all these are really must-be-fixed bugs? Most of these issues may be verified by running automatic script on metamodel file. See details below: 1) is composite, but does not subset ownedElement: Duration::expr:ValueSpecification [0..] is composite, but not ownedElement LinkEndData::qualifier:QualifierValue [0..*] is composite, but not ownedElement LinkAction::endData:LinkEndData [2..*] is composite, but not ownedElement TimeExpression::expr:ValueSpecification [0..] is composite, but not ownedElement ValuePin::value:ValueSpecification [1] is composite, but not ownedElement State::deferrableTrigger:Trigger [0..*] is composite, but not ownedElement CreateLinkAction::endData:LinkEndCreationData [2..*] is composite, but not ownedElement StructuredActivityNode::edge:ActivityEdge [0..*] is composite, but not ownedElement ValueSpecificationAction::value:ValueSpecification [1] is composite, but not ownedElement AcceptEventAction::trigger:Trigger [1] is composite, but not ownedElement DestroyLinkAction::endData:LinkEndDestructionData [2..*] is composite, but not ownedElement Stereotype::icon:Image [0..*] is composite, but not ownedElement TimeEvent::when:TimeExpression [1] is composite, but not ownedElement InteractionUse::argument:Action [0..*] is composite, but not ownedElement SequenceNode::executableNode:ExecutableNode [0..*] is composite, but not ownedElement Transition::trigger:Trigger [0..*] is composite, but not ownedElement StructuredActivityNode::node:ActivityNode [0..*] is composite, but not ownedElement 2) is composite and subsets not derived composite property: ProtocolTransition::preCondition:Constraint [0..] Profile::metaclassReference:ElementImport [0..*] Profile::metamodelReference:PackageImport [0..*] Transition::guard:Constraint [0..] ProtocolTransition::postCondition:Constraint [0..] Operation::postcondition:Constraint [0..*] Operation::precondition:Constraint [0..*] Behavior::precondition:Constraint [0..*] Operation::bodyCondition:Constraint [0..] Behavior::postcondition:Constraint [0..*] -- Nerijus Jankevicius SysML Product Manager OMG-Certified UML Professional No Magic Europe Savanoriu pr. 363, LT 49425 Kaunas, Lithuania P.O. box 2166, LT- 3000, Kaunas Phone: +370-37-324032 Fax: +370-37-320670 e-mail: nerijus@magicdraw.com WWW: http://www.magicdraw.com -- MagicDraw - Architecture made simple! From: Steve Cook To: Nerijus Jankevicius , "uml2-rtf@omg.org" Subject: RE: metamodel issues Thread-Topic: metamodel issues Thread-Index: AQHKj6hBUEpI53Zxtk+A+G4FRb7mRZGKS7oQgAAHj7+AAAG10A== Date: Thu, 7 Jan 2010 16:56:28 +0000 Accept-Language: en-GB, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: Nerijus Ok, you convinced me. The XMI argument is strong. - Steve From: Nerijus Jankevicius [mailto:nerijus@nomagic.com] Sent: 07 January 2010 16:47 To: Steve Cook; uml2-rtf@omg.org Subject: Re: metamodel issues Steve, Can't agree that group 2 issues can be allowed. Let's take transition's guard as example. We can't own Constraint element in two places as guard and ownedRule, it is not allowed in XMI. It should be serialized as element in ownedRule and guard should only reference to it. Guard should not be composite. Nerijus ----- Original Message ----- From: Steve Cook To: Nerijus Jankevicius ; uml2-rtf@omg.org Cc: issues@omg.org ; juergen@omg.org Sent: Thursday, January 07, 2010 6:31 PM Subject: RE: metamodel issues Nerijus, this is an excellent list. For group 1, I totally agree these are bugs and should be fixed. For group 2, I think there could be an argument that this ought to be allowed because although you can get two ownership links, you can only end up with one owner, reachable via either link. But I think we need to discuss. I think we should log each of these categories as an issue: we can triage it as 2.4 and get working on it. If it is a dup we will find out then. I.m copying Jü could we get this logged as two issues please? - Steve From: Nerijus Jankevicius [mailto:nerijus@nomagic.com] Sent: 07 January 2010 14:44 To: uml2-rtf@omg.org Subject: metamodel issues Hi, I tried to collect critical metamodel implementation issues we have in our tool. Critical means that every time we must do changes in metamodel to be able to implement it. I believe, Eclipse UML2 implementation has exactly same issues. Issues may be devided into such groups: 1. Properties which are composite, but do not subset ownedElement. Our solution - subset ownedElement 2. Properties which are composite and subset other composite non-derived property. Our solution - make it non-composite as element can't be owned in two places I'm not sure all issues are reported, could someone help me manage that and check if all these are really must-be-fixed bugs? Most of these issues may be verified by running automatic script on metamodel file. See details below: 1) is composite, but does not subset ownedElement: Duration::expr:ValueSpecification [0..] is composite, but not ownedElement LinkEndData::qualifier:QualifierValue [0..*] is composite, but not ownedElement LinkAction::endData:LinkEndData [2..*] is composite, but not ownedElement TimeExpression::expr:ValueSpecification [0..] is composite, but not ownedElement ValuePin::value:ValueSpecification [1] is composite, but not ownedElement State::deferrableTrigger:Trigger [0..*] is composite, but not ownedElement CreateLinkAction::endData:LinkEndCreationData [2..*] is composite, but not ownedElement StructuredActivityNode::edge:ActivityEdge [0..*] is composite, but not ownedElement ValueSpecificationAction::value:ValueSpecification [1] is composite, but not ownedElement AcceptEventAction::trigger:Trigger [1] is composite, but not ownedElement DestroyLinkAction::endData:LinkEndDestructionData [2..*] is composite, but not ownedElement Stereotype::icon:Image [0..*] is composite, but not ownedElement TimeEvent::when:TimeExpression [1] is composite, but not ownedElement InteractionUse::argument:Action [0..*] is composite, but not ownedElement SequenceNode::executableNode:ExecutableNode [0..*] is composite, but not ownedElement Transition::trigger:Trigger [0..*] is composite, but not ownedElement StructuredActivityNode::node:ActivityNode [0..*] is composite, but not ownedElement 2) is composite and subsets not derived composite property: ProtocolTransition::preCondition:Constraint [0..] Profile::metaclassReference:ElementImport [0..*] Profile::metamodelReference:PackageImport [0..*] Transition::guard:Constraint [0..] ProtocolTransition::postCondition:Constraint [0..] Operation::postcondition:Constraint [0..*] Operation::precondition:Constraint [0..*] Behavior::precondition:Constraint [0..*] Operation::bodyCondition:Constraint [0..] Behavior::postcondition:Constraint [0..*] -- Nerijus Jankevicius SysML Product Manager OMG-Certified UML Professional No Magic Europe Savanoriu pr. 363, LT 49425 Kaunas, Lithuania P.O. box 2166, LT- 3000, Kaunas Phone: +370-37-324032 Fax: +370-37-320670 e-mail: nerijus@magicdraw.com WWW: http://www.magicdraw.com -- MagicDraw - Architecture made simple!