Issue 12130: 10.3.2.2 ConstraintProperty (sysml-rtf) Source: No Magic, Inc. (Dr. Darren R.C. Kelly, nobody) Nature: Clarification Severity: Minor Summary: 10.3.2.2 ConstraintProperty: rewrite constraint [2] so does not refer to 'a SysML Block that is typed by a ConstraintBlock' SysML1.0, 10.3.2.2 ConstraintProperty: 'A constraint property is a property of any block that is typed by a constraint block. .. [2] The ConstraintProperty stereotype must be applied to any property of a SysML Block that is typed by a ConstraintBlock.' These may both be misinterpreted as applying to "any block that is typed by a constraint block" and "a SysML Block that is typed by a ConstraintBlock" rather than a constraint property typed by a constraint block. Rewrite so that the type condition clearly applies to the owned constraint property, not the owning block, thus: 'A constraint property is a property that is typed by a constraint block and is owned by a block. . [2] The ConstraintProperty stereotype must be applied to any property that is typed by a ConstraintBlock.' (Note that the first constraint already makes it clear that a constraint property is owned by a SysML Block: '[1] A property to which the ConstraintProperty stereotype is applied must be owned by a SysML Block'.) Resolution: Revised Text: Actions taken: January 2, 2008: received issue Discussion: A more complete resolution would be to add a constraint that a ConstraintBlock may be used only to type a property owned by a SysML Block. Then the additional constraints on ConstraintProperty could be further simplified. It is recommended that all these constraints and stereotype definitions be reevaluated along with OCL statements of these constraints, as raised by Issue 11091 (also deferred). Disposition: Deferred Discussion: The issue is being deferred to allow further consideration in future revisions of SysML. The email archive of the RTF discussion list contains discussion and concerns raised about this issue after a resolution was initially included as part of a draft ballot. Following is the complete text of the original proposed resolution, which was withdrawn from further consideration in the current revision of SysML: Resolution: The ConstraintProperty stereotype expresses a condition that can be entirely derived from other information in the metamodel, in this case a property of a block that is typed by a ConstraintBlock. Property stereotypes are not defined for other categories of property, such as part, reference, or value properties. Analysis of the constraints which currently appear under Section 10.3.2.2 ConstraintBlock, including their potential formulation in OCL, confirmed that they added no new constraints but only served to define of the ConstraintProperty category. The definition of the term “constraint property” can be accomplished entirely by language under 10.3.2.1 ConstraintBlock, in the same way used to define the categories of part, reference, and value properties under Section 8.3.2.2 Block. Discussion within the RTF recommended that a consistent policy be adopted for such “calculated stereotypes” which only classify existing elements. Since tools are free to create internal stereotypes or other means to carry such information (e.g., to control placement of properties in compartments of a block), and no other such calculated stereotypes remain in SysML, the policy that is consistent with the other categories of property is to remove the ConstraintProperty stereotype altogether. Existing implementations are free to preserve such a stereotype if it is useful to their implementation, but this special stereotype would no longer be required by the specification. Revised Text: In Table 10.2, replace the Metamodel Reference column for the row ConstraintProperty with “UML4SysML::Property typed by SysML::ConstraintBlocks::ConstraintBlock”. In Section 10.3.1.2 Parametric Diagram, in the paragraph under the subsection “«constraint» keyword notation for constraint property”, delete the last sentence of the paragraph.Move the paragraph which currently appears under the Description section of 10.3.2.2 ConstraintProperty to the end of the Description section of 10.3.2.1 ConstraintBlock. Delete the entire contents of Section 10.3.2.2 ConstraintProperty. Disposition: Deferred End of Annotations:===== m: webmaster@omg.org Date: 02 Jan 2008 17:33:18 -0500 To: Subject: Issue/Bug Report -------------------------------------------------------------------------------- Name: Darren Kelly Company: No Magic mailFrom: drdarrenkelly@nomagicasia.com Notification: Yes Specification: SysML1.0 Section: 10.3.2.2 ConstraintProperty FormalNumber: formal/2007-09-01 Version: 1.0 RevisionDate: 09/01/2007 Page: 79 Nature: Clarification Severity: Minor HTTP User Agent: Mozilla/5.0 (X11; U; Linux i686; en-GB; rv:1.8.1) Gecko/20061023 SUSE/2.0-30 Firefox/2.0 Description 10.3.2.2 ConstraintProperty: rewrite constraint [2] so does not refer to 'a SysML Block that is typed by a ConstraintBlock' SysML1.0, 10.3.2.2 ConstraintProperty: 'A constraint property is a property of any block that is typed by a constraint block. .. [2] The ConstraintProperty stereotype must be applied to any property of a SysML Block that is typed by a ConstraintBlock.' These may both be misinterpreted as applying to "any block that is typed by a constraint block" and "a SysML Block that is typed by a ConstraintBlock" rather than a constraint property typed by a constraint block. Rewrite so that the type condition clearly applies to the owned constraint property, not the owning block, thus: 'A constraint property is a property that is typed by a constraint block and is owned by a block. . [2] The ConstraintProperty stereotype must be applied to any property that is typed by a ConstraintBlock.' (Note that the first constraint already makes it clear that a constraint property is owned by a SysML Block: '[1] A property to which the ConstraintProperty stereotype is applied must be owned by a SysML Block'.) Subject: Regarding issue 12130: 10.3.2.2 ConstraintProperty: rewrite constraint [2] X-KeepSent: E4134A32:6BF6132F-C22575FA:001DC98A; type=4; name=$KeepSent To: sysml-rtf@omg.org X-Mailer: Lotus Notes Release 8.5 HF58 February 06, 2009 From: Eldad Palachi Date: Tue, 21 Jul 2009 09:20:38 +0300 X-MIMETrack: Serialize by Router on D12MC102/12/M/IBM(Release 8.5|December 05, 2008) at 21/07/2009 09:20:40 Hello, Despite the fact that it is correct to say that a constraint property is really just a property typed by a constraint block we recommend not to remove the notion of constraint properties on grounds of usability. While properties usually represent parts of the system constraint properties are not parts of the system by any means - they represent the usage of constraint blocks defining constraints applied on the system design. Clearly this deserves a distinct concept in the language. In addition we foresee usability issues on our side as tool vendors: suppose I want to draw a constraint property using a tool on my drawing toolbar - if my tool will be just "property" or "part" this will be extremely confusing since I will have to select my type from a list containing blocks and constraint blocks. Also our tool currently allows the specification of constraint property while keeping the typing constraint block implicit. This allows our end users to define constraints with a single model element (constraint property) instead of two (constraint property + constraint block). We understand that we may keep the stereotype for our own tool's usage however our experience with end users of SysML is that they don't like to have tool interpretations specific to tools and we would like to avoid that as much as possible Bottom line is we object to the removal of constraint property from SysML and recommend re-phrasing the text if needed as originally requested by this issue. Regards, Eldad From: "Bock, Conrad" To: "sysml-rtf@omg.org" Date: Thu, 16 Feb 2012 08:41:05 -0500 Subject: RE: Constraint Blocks issues in ballot 1, 12130 Thread-Topic: Constraint Blocks issues in ballot 1, 12130 Thread-Index: Aczq6do722AeWa5sQq6PP+Ej2b4iOAABMyugABh0yTAAV8hrsA== Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US Roger, One cleanup comment on Issue 12130 (10.3.2.2 ConstraintProperty). A third-party editor reading the last paragraph of the revised text literally, would leave the subheadings of 10.3.2.2. How about saying "Remove all of Section 10.3.2.2"? Conrad From: "Bock, Conrad" To: "sysml-rtf@omg.org" Date: Thu, 16 Feb 2012 09:00:13 -0500 Subject: RE: Constraint Blocks issues in ballot 1, 12130, PS Thread-Topic: Constraint Blocks issues in ballot 1, 12130, PS Thread-Index: Aczq6do722AeWa5sQq6PP+Ej2b4iOAABMyugABh0yTAAV8hrsA== Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US P.S. A couple more for 12130: Table 5.1 (Elements available in SysML Compliance Level 1), last two rows, remove "SysML::ConstraintBlocks::ConstraintProperty, ". Table D.5 (Stereotypes for Measures of Effectiveness), first non-heading row, second column, replace "" with "UML4SysML::Property typed by a ConstraintBlock". Conrad Roger, One cleanup comment on Issue 12130 (10.3.2.2 ConstraintProperty). A third-party editor reading the last paragraph of the revised text literally, would leave the subheadings of 10.3.2.2. How about saying "Remove all of Section 10.3.2.2"? Conrad