Issue 15668: isDerived with DefaultValue (uml2-rtf) Source: International Business Machines (Dr. Maged Elaasar, melaasar(at)ca.ibm.com) Nature: Uncategorized Issue Severity: Summary: I think derived properties should not have default values, since they are calculated from other info in the model and not from those default values. Here is a list of such derived properties in the metamodel: PropertyIsDerivedWithDefaultValue : 13 property = <Property> UML::State::/ isSubmachineState : Boolean defaultValue = <Literal Boolean> false property = <Property> UML::State::/ isSimple : Boolean defaultValue = <Literal Boolean> true property = <Property> UML::State::/ isOrthogonal : Boolean defaultValue = <Literal Boolean> false property = <Property> UML::State::/ isComposite : Boolean defaultValue = <Literal Boolean> false property = <Property> UML::Operation::/ upper : UnlimitedNatural [0..1] defaultValue = <Literal UnlimitedNatural> 1 property = <Property> UML::Operation::/ lower : Integer [0..1] defaultValue = <Literal Integer> 1 property = <Property> UML::Operation::/ isUnique : Boolean defaultValue = <Literal Boolean> true property = <Property> UML::Operation::/ isOrdered : Boolean defaultValue = <Literal Boolean> false property = <Property> UML::MultiplicityElement::/ upper : UnlimitedNatural [0..1] defaultValue = <Literal UnlimitedNatural > 1 property = <Property> UML::MultiplicityElement::/ lower : Integer [0..1] defaultValue = <Literal Integer> 1 property = <Property> UML::Message::/ messageKind : MessageKind defaultValue = <Instance Value> unknown property = <Property> UML::ExtensionEnd::/ lower : Integer [0..1] defaultValue = <Literal Integer > 0 property = <Property> UML::Extension::/ isRequired : Boolean defaultValue = <Literal Boolean> false do we need to fix them? Resolution: Revised Text: Actions taken: September 30, 2010: received issue Discussion: End of Annotations:===== ubject: isDerived with DefaultValue To: uml2-rtf@omg.org X-Mailer: Lotus Notes Release 7.0 HF277 June 21, 2006 From: Maged Elaasar Date: Thu, 30 Sep 2010 13:20:22 -0400 X-MIMETrack: Serialize by Router on D25ML03/25/M/IBM(Release 8.0.1|February 07, 2008) at 09/30/2010 13:20:24 Hello, I think derived properties should not have default values, since they are calculated from other info in the model and not from those default values. Here is a list of such derived properties in the metamodel: PropertyIsDerivedWithDefaultValue : 13 property = UML::State::/ isSubmachineState : Boolean defaultValue = false property = UML::State::/ isSimple : Boolean defaultValue = true property = UML::State::/ isOrthogonal : Boolean defaultValue = false property = UML::State::/ isComposite : Boolean defaultValue = false property = UML::Operation::/ upper : UnlimitedNatural [0..1] defaultValue = 1 property = UML::Operation::/ lower : Integer [0..1] defaultValue = 1 property = UML::Operation::/ isUnique : Boolean defaultValue = true property = UML::Operation::/ isOrdered : Boolean defaultValue = false property = UML::MultiplicityElement::/ upper : UnlimitedNatural [0..1] defaultValue = 1 property = UML::MultiplicityElement::/ lower : Integer [0..1] defaultValue = 1 property = UML::Message::/ messageKind : MessageKind defaultValue = unknown property = UML::ExtensionEnd::/ lower : Integer [0..1] defaultValue = 0 property = UML::Extension::/ isRequired : Boolean defaultValue = false do we need to fix them? Maged Subject: RE: isDerived with DefaultValue Date: Thu, 30 Sep 2010 13:41:03 -0400 X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: isDerived with DefaultValue thread-index: ActgxDcQDyFpBAxTRkaakb55vOPf6gAAXPew From: "Ed Seidewitz" To: "Maged Elaasar" , Maged . Arguably, having a default value for a derived attribute just means that, by default, the other attributes from which the derived attribute value is derived must have initial values consistent with the default derived value. You or I may or may not agree with this, but the fact that it is arguable means that it will be so argued, meaning that this is not just a metamodel .fix.. Indeed, even if it was a .fix., I wouldn.t want to take the existing defaults out without careful consideration to make sure the other non-derived attributes are defaulted to give the originally desired effect. Really, we need to stop bringing up these issues requiring ongoing judgment and discussion and get on with Ballot 11. The only additional things we should be worrying about now is alignment with MOF 2.4. Every time we get near the finish line, we keep moving it farther out. Let.s get UML 2.4 done! -- Ed -------------------------------------------------------------------------------- From: Maged Elaasar [mailto:melaasar@ca.ibm.com] Sent: Thursday, September 30, 2010 1:20 PM To: uml2-rtf@omg.org Subject: isDerived with DefaultValue Hello, I think derived properties should not have default values, since they are calculated from other info in the model and not from those default values. Here is a list of such derived properties in the metamodel: PropertyIsDerivedWithDefaultValue : 13 property = UML::State::/ isSubmachineState : Boolean defaultValue = false property = UML::State::/ isSimple : Boolean defaultValue = true property = UML::State::/ isOrthogonal : Boolean defaultValue = false property = UML::State::/ isComposite : Boolean defaultValue = false property = UML::Operation::/ upper : UnlimitedNatural [0..1] defaultValue = 1 property = UML::Operation::/ lower : Integer [0..1] defaultValue = 1 property = UML::Operation::/ isUnique : Boolean defaultValue = true property = UML::Operation::/ isOrdered : Boolean defaultValue = false property = UML::MultiplicityElement::/ upper : UnlimitedNatural [0..1] defaultValue = 1 property = UML::MultiplicityElement::/ lower : Integer [0..1] defaultValue = 1 property = UML::Message::/ messageKind : MessageKind defaultValue = unknown property = UML::ExtensionEnd::/ lower : Integer [0..1] defaultValue = 0 property = UML::Extension::/ isRequired : Boolean defaultValue = false do we need to fix them? Maged Subject: RE: isDerived with DefaultValue To: "Ed Seidewitz" Cc: uml2-rtf@omg.org X-Mailer: Lotus Notes Release 7.0 HF277 June 21, 2006 From: Maged Elaasar Date: Thu, 30 Sep 2010 13:44:22 -0400 X-MIMETrack: Serialize by Router on D25ML03/25/M/IBM(Release 8.0.1|February 07, 2008) at 09/30/2010 13:44:23 Ed, I was not necessarily suggesting fixing them in 2.4. If we think it is an issue, we just need to log it at least. "Ed Seidewitz" "Ed Seidewitz" 09/30/2010 01:41 PM To Maged Elaasar/Ottawa/IBM@IBMCA, cc Subject RE: isDerived with DefaultValue Maged . Arguably, having a default value for a derived attribute just means that, by default, the other attributes from which the derived attribute value is derived must have initial values consistent with the default derived value. You or I may or may not agree with this, but the fact that it is arguable means that it will be so argued, meaning that this is not just a metamodel .fix.. Indeed, even if it was a .fix., I wouldn.t want to take the existing defaults out without careful consideration to make sure the other non-derived attributes are defaulted to give the originally desired effect. Really, we need to stop bringing up these issues requiring ongoing judgment and discussion and get on with Ballot 11. The only additional things we should be worrying about now is alignment with MOF 2.4. Every time we get near the finish line, we keep moving it farther out. Let.s get UML 2.4 done! -- Ed -------------------------------------------------------------------------------- From: Maged Elaasar [mailto:melaasar@ca.ibm.com] Sent: Thursday, September 30, 2010 1:20 PM To: uml2-rtf@omg.org Subject: isDerived with DefaultValue Hello, I think derived properties should not have default values, since they are calculated from other info in the model and not from those default values. Here is a list of such derived properties in the metamodel: PropertyIsDerivedWithDefaultValue : 13 property = UML::State::/ isSubmachineState : Boolean defaultValue = false property = UML::State::/ isSimple : Boolean defaultValue = true property = UML::State::/ isOrthogonal : Boolean defaultValue = false property = UML::State::/ isComposite : Boolean defaultValue = false property = UML::Operation::/ upper : UnlimitedNatural [0..1] defaultValue = 1 property = UML::Operation::/ lower : Integer [0..1] defaultValue = 1 property = UML::Operation::/ isUnique : Boolean defaultValue = true property = UML::Operation::/ isOrdered : Boolean defaultValue = false property = UML::MultiplicityElement::/ upper : UnlimitedNatural [0..1] defaultValue = 1 property = UML::MultiplicityElement::/ lower : Integer [0..1] defaultValue = 1 property = UML::Message::/ messageKind : MessageKind defaultValue = unknown property = UML::ExtensionEnd::/ lower : Integer [0..1] defaultValue = 0 property = UML::Extension::/ isRequired : Boolean defaultValue = false do we need to fix them? Maged pic25739.gif Subject: RE: isDerived with DefaultValue Date: Thu, 30 Sep 2010 10:47:03 -0700 X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: isDerived with DefaultValue Thread-Index: ActgxAkokLl88UtHQeK+zinvifneUwAAstSg From: "Pete Rivett" To: "Maged Elaasar" , That.s a good point . since the meaning of .defaultValue. is the value to be assigned (on element creation) and invariably such derived properties have isReadOnly=.true. so are unable to be assigned any value! So hence this is a fundamental inconsistency that should be fixed. Pete From: Maged Elaasar [mailto:melaasar@ca.ibm.com] Sent: Thursday, September 30, 2010 10:20 AM To: uml2-rtf@omg.org Subject: isDerived with DefaultValue Hello, I think derived properties should not have default values, since they are calculated from other info in the model and not from those default values. Here is a list of such derived properties in the metamodel: PropertyIsDerivedWithDefaultValue : 13 property = UML::State::/ isSubmachineState : Boolean defaultValue = false property = UML::State::/ isSimple : Boolean defaultValue = true property = UML::State::/ isOrthogonal : Boolean defaultValue = false property = UML::State::/ isComposite : Boolean defaultValue = false property = UML::Operation::/ upper : UnlimitedNatural [0..1] defaultValue = 1 property = UML::Operation::/ lower : Integer [0..1] defaultValue = 1 property = UML::Operation::/ isUnique : Boolean defaultValue = true property = UML::Operation::/ isOrdered : Boolean defaultValue = false property = UML::MultiplicityElement::/ upper : UnlimitedNatural [0..1] defaultValue = 1 property = UML::MultiplicityElement::/ lower : Integer [0..1] defaultValue = 1 property = UML::Message::/ messageKind : MessageKind defaultValue = unknown property = UML::ExtensionEnd::/ lower : Integer [0..1] defaultValue = 0 property = UML::Extension::/ isRequired : Boolean do are unable to be assigned any value! So hence this is a > fundamental inconsistency that should be fixed. If we went that far with read-only then you couldn't even have read-only derived values, since they set the value. The action model assumes read-only attributes can be set before the object is "initialized", including to have default set (search on "initial" in the Actions chapter). Conrad faultValue = false do we need to fix them? nce the meaning of lue Maged From: "Bock, Conrad" To: Pete Rivett , Maged Elaasar , "uml2-rtf@omg.org" Date: Thu, 30 Sep 2010 14:02:13 -0400 Subject: RE: isDerived with DefaultValue Thread-Topic: isDerived with DefaultValue Thread-Index: ActgxAkokLl88UtHQeK+zinvifneUwAAstSgAACMfxA= Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US X-NIST-MailScanner: Found to be clean X-NIST-MailScanner-From: conrad.bock@nist.gov o are unable to be assigned any value! So hence this is a > fundamental inconsistency that should be fixed. If we went that far with read-only then you couldn't even have read-only derived values, since they set the value. The action model assumes read-only attributes can be set before the object is "initialized", including to have default set (search on "initial" in the Actions chapter). Conrad From: "Bock, Conrad" To: "uml2-rtf@omg.org" Date: Thu, 30 Sep 2010 14:03:40 -0400 Subject: RE: isDerived with DefaultValue Thread-Topic: isDerived with DefaultValue Thread-Index: ActgxDcQDyFpBAxTRkaakb55vOPf6gAAXPewAAEDzwA= Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US X-NIST-MailScanner: Found to be clean X-NIST-MailScanner-From: conrad.bock@nist.gov Ed, > Really, we need to stop bringing up these issues requiring > ongoing judgment and discussion and get on with Ballot 11. > The only additional things we should be worrying about now > is alignment with MOF 2.4. I think it's fine to bring them up, just not fix them. :) Conrad Subject: Fw: isDerived with DefaultValue To: Juergen Boldt X-Mailer: Lotus Notes Release 7.0 HF277 June 21, 2006 From: Maged Elaasar Date: Thu, 30 Sep 2010 14:18:07 -0400 X-MIMETrack: Serialize by Router on D25ML03/25/M/IBM(Release 8.0.1|February 07, 2008) at 09/30/2010 14:18:08 Please log this issue for UML2. Thanks. ----- Forwarded by Maged Elaasar/Ottawa/IBM on 09/30/2010 02:17 PM ----- Maged Elaasar/Ottawa/IBM@IBMCA 09/30/2010 01:20 PM To uml2-rtf@omg.org cc Subject isDerived with DefaultValue Hello, I think derived properties should not have default values, since they are calculated from other info in the model and not from those default values. Here is a list of such derived properties in the metamodel: PropertyIsDerivedWithDefaultValue : 13 property = UML::State::/ isSubmachineState : Boolean defaultValue = false property = UML::State::/ isSimple : Boolean defaultValue = true property = UML::State::/ isOrthogonal : Boolean defaultValue = false property = UML::State::/ isComposite : Boolean defaultValue = false property = UML::Operation::/ upper : UnlimitedNatural [0..1] defaultValue = 1 property = UML::Operation::/ lower : Integer [0..1] defaultValue = 1 property = UML::Operation::/ isUnique : Boolean defaultValue = true property = UML::Operation::/ isOrdered : Boolean defaultValue = false property = UML::MultiplicityElement::/ upper : UnlimitedNatural [0..1] defaultValue = 1 property = UML::MultiplicityElement::/ lower : Integer [0..1] defaultValue = 1 property = UML::Message::/ messageKind : MessageKind defaultValue = unknown property = UML::ExtensionEnd::/ lower : Integer [0..1] defaultValue = 0 property = UML::Extension::/ isRequired : Boolean defaultValue = false do we need to fix them? Maged pic11445.gif good point ete,lue nce the meaning of > Tha From: "Bock, Conrad" To: Pete Rivett , Maged Elaasar , "uml2-rtf@omg.org" Date: Thu, 30 Sep 2010 14:02:13 -0400 Subject: RE: isDerived with DefaultValue Thread-Topic: isDerived with DefaultValue Thread-Index: ActgxAkokLl88UtHQeK+zinvifneUwAAstSgAACMfxA= Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US X-NIST-MailScanner: Found to be clean X-NIST-MailScanner-From: conrad.bock@nist.gov P good point ete, From: Steve Cook To: Maged Elaasar , Ed Seidewitz CC: "uml2-rtf@omg.org" Subject: RE: isDerived with DefaultValue Thread-Topic: isDerived with DefaultValue Thread-Index: AQHLYMQ9FtUSF42hPEK2bu/5bnRO1pMquwGAgAAA7gCAAQtn4A== Date: Fri, 1 Oct 2010 08:52:06 +0000 Accept-Language: en-GB, en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-originating-ip: [10.166.20.35] I don.t think we should fix it in 2.4. Maged, could you log an issue? With regard to finishing 2.4, I propose to put one more resolution into Ballot 11, which is to make isID non-optional (I.m waiting for an issue number). Then we need to provisionally apply all of the fixes and errata we have discovered, and regenerate the UML2.4/MOF2.4/XMI2.4 artifacts (Nicolas will be doing the metamodel and generation, Maged the spec docs). If we find *serious* errata and tooling bugs while doing this we.ll fix them. Otherwise we should reject all new issues. If these all pass, we will vote on Ballot 11; presuming it passes then I will complete the report and ship it with the normative artifacts. -- Steve From: Maged Elaasar [mailto:melaasar@ca.ibm.com] Sent: 30 September 2010 18:44 To: Ed Seidewitz Cc: uml2-rtf@omg.org Subject: RE: isDerived with DefaultValue Ed, I was not necessarily suggesting fixing them in 2.4. If we think it is an issue, we just need to log it at least. "Ed Seidewitz" "Ed Seidewitz" 09/30/2010 01:41 PM To Maged Elaasar/Ottawa/IBM@IBMCA, cc Subject RE: isDerived with DefaultValue Maged . Arguably, having a default value for a derived attribute just means that, by default, the other attributes from which the derived attribute value is derived must have initial values consistent with the default derived value. You or I may or may not agree with this, but the fact that it is arguable means that it will be so argued, meaning that this is not just a metamodel .fix.. Indeed, even if it was a .fix., I wouldn.t want to take the existing defaults out without careful consideration to make sure the other non-derived attributes are defaulted to give the originally desired effect. Really, we need to stop bringing up these issues requiring ongoing judgment and discussion and get on with Ballot 11. The only additional things we should be worrying about now is alignment with MOF 2.4. Every time we get near the finish line, we keep moving it farther out. Let.s get UML 2.4 done! -- Ed -------------------------------------------------------------------------------- From: Maged Elaasar [mailto:melaasar@ca.ibm.com] Sent: Thursday, September 30, 2010 1:20 PM To: uml2-rtf@omg.org Subject: isDerived with DefaultValue Hello, I think derived properties should not have default values, since they are calculated from other info in the model and not from those default values. Here is a list of such derived properties in the metamodel: PropertyIsDerivedWithDefaultValue : 13 property = UML::State::/ isSubmachineState : Boolean defaultValue = false property = UML::State::/ isSimple : Boolean defaultValue = true property = UML::State::/ isOrthogonal : Boolean defaultValue = false property = UML::State::/ isComposite : Boolean defaultValue = false property = UML::Operation::/ upper : UnlimitedNatural [0..1] defaultValue = 1 property = UML::Operation::/ lower : Integer [0..1] defaultValue = 1 property = UML::Operation::/ isUnique : Boolean defaultValue = true property = UML::Operation::/ isOrdered : Boolean defaultValue = false property = UML::MultiplicityElement::/ upper : UnlimitedNatural [0..1] defaultValue = 1 property = UML::MultiplicityElement::/ lower : Integer [0..1] defaultValue = 1 property = UML::Message::/ messageKind : MessageKind defaultValue = unknown property = UML::ExtensionEnd::/ lower : Integer [0..1] defaultValue = 0 property = UML::Extension::/ isRequired : Boolean defaultValue = false do we need to fix them? Maged > Thatt