Issue 18269: SysML QuantityKind/Unit is incomplete and redundant with QUDV QuantityKind/Unit (sysml-rtf) Source: NASA (Dr. Nicolas F. Rouquette, nicolas.f.rouquette(at)jpl.nasa.gov) Nature: Uncategorized Issue Severity: Summary: In table 8.1, the notation for ValueType shows only the unit, it is missing the quantityKind. There is no indication about what is the notation for a value property whose ValueType has a unit U and quantityKind QK. Some tools show the unit and/or quantityKind tag/value pairs of the ValueType on the value property itself. This notation could suggest that one could change the tag/values shown on the value property itself. It is important for the SysML spec to clarify that the tag/values of the type of a property should not be shown on the property itself. This tool-specific practice in fact suggests that there is a missing capability; that is: QUDV unit and quantityKind could be specified on the ValueType itself (in which case it applies to all value properties typed by this ValueType without any possibility to modify them) The value property (in which case different value properties typed by the same ValueType could have different combinations of unit/quantityKind) A combination of the two (e.g., specify the QuantityKind on the ValueType and specify the Unit on the value property) However, what's really missing is support for specifying a "quantity value" in the sense of ISO 80000, that is: a combination of a number and a reference unit. Without Unit information on a value, it is impossible to verify that the values in the model conform to the Unit/QuantityKind specified on the value property and/or the ValueType that is typing the value property. This means that it is intrinsically impossible to have any verifiable guarantee that all values in a SysML model conform to the unit specified on the value properties (or their ValueType) Suggest the following: Replace SysML::Unit and SysML::QuantityKind with QUDV::Unit and QUDV::QuantityKind Add a new stereotype: ValueProperty extending UML::Property with: ValueProperty::unit : QUDV::Unit[0..1] ValueProperty::/effectiveUnit : QUDV::Unit[0..1] -- it is derived by using ValueProperty::unit, if any and if not, by the ValueType::unit, if any, of the ValueProperty's type ValueProperty::/effectiveQuantityKind : QUDV::QuantityKind[0..1] -- it is derived from the ValueType::quantityKind of the type of the ValueProperty. Add a new stereotype: QuantityValue extending UML::ValueSpecification with: QuantityValue::unit : QUDV::Unit[0..1] QuantityValue::/unitConstraint : QUDV::Unit[0..1] -- if the QuantityValue is the default value of a ValueProperty, then unitConstraint is derived from ValueProperty::/effectiveUnit Define the stereotype & tag/value pair notation for QUDV::Unit, QUDV::QuantityKind, ValueType, ValueProperty and QuantityValue Resolution: Revised Text: Actions taken: November 20, 2012: received issue Discussion: End of Annotations:===== m: "Rouquette, Nicolas F (313K)" To: "issues@omg.org" CC: "sysml-rtf@omg.org" Subject: SysML QuantityKind/Unit is incomplete and redundant with QUDV QuantityKind/Unit Thread-Topic: SysML QuantityKind/Unit is incomplete and redundant with QUDV QuantityKind/Unit Thread-Index: AQHNx0UZuAqoC8OjeU+/V7KneY8DcA== Date: Tue, 20 Nov 2012 17:33:06 +0000 Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Microsoft-MacOutlook/14.2.4.120824 x-originating-ip: [128.149.137.113] X-Source-Sender: nicolas.f.rouquette@jpl.nasa.gov X-AUTH: Authorized In table 8.1, the notation for ValueType shows only the unit, it is missing the quantityKind. There is no indication about what is the notation for a value property whose ValueType has a unit U and quantityKind QK. Some tools show the unit and/or quantityKind tag/value pairs of the ValueType on the value property itself. This notation could suggest that one could change the tag/values shown on the value property itself. It is important for the SysML spec to clarify that the tag/values of the type of a property should not be shown on the property itself. This tool-specific practice in fact suggests that there is a missing capability; that is: QUDV unit and quantityKind could be specified on the ValueType itself (in which case it applies to all value properties typed by this ValueType without any possibility to modify them) The value property (in which case different value properties typed by the same ValueType could have different combinations of unit/quantityKind) A combination of the two (e.g., specify the QuantityKind on the ValueType and specify the Unit on the value property) However, what's really missing is support for specifying a "quantity value" in the sense of ISO 80000, that is: a combination of a number and a reference unit. Without Unit information on a value, it is impossible to verify that the values in the model conform to the Unit/QuantityKind specified on the value property and/or the ValueType that is typing the value property. This means that it is intrinsically impossible to have any verifiable guarantee that all values in a SysML model conform to the unit specified on the value properties (or their ValueType) Suggest the following: Replace SysML::Unit and SysML::QuantityKind with QUDV::Unit and QUDV::QuantityKind Add a new stereotype: ValueProperty extending UML::Property with: ValueProperty::unit : QUDV::Unit[0..1] ValueProperty::/effectiveUnit : QUDV::Unit[0..1] -- it is derived by using ValueProperty::unit, if any and if not, by the ValueType::unit, if any, of the ValueProperty's type ValueProperty::/effectiveQuantityKind : QUDV::QuantityKind[0..1] -- it is derived from the ValueType::quantityKind of the type of the ValueProperty. Add a new stereotype: QuantityValue extending UML::ValueSpecification with: QuantityValue::unit : QUDV::Unit[0..1] QuantityValue::/unitConstraint : QUDV::Unit[0..1] -- if the QuantityValue is the default value of a ValueProperty, then unitConstraint is derived from ValueProperty::/effectiveUnit Define the stereotype & tag/value pair notation for QUDV::Unit, QUDV::QuantityKind, ValueType, ValueProperty and QuantityValue - Nicolas.