SysML 1.7 RTF Avatar
  1. OMG Issue

SYSML17 — SysML Issue on Refine limitations

  • Key: SYSML17-57
  • Legacy Issue Number: 16016
  • Status: closed  
  • Source: Change Vision ( Michael Chonoles)
  • Summary:

    The text description of how the refine relationship can be used disagrees with formal restrictions.

    On page 126, 2nd paragraph, the text says.

    “The refine requirement relationship can be used to describe how a model element or set of elements can be used to further refine a requirement. For example, a use case or activity diagram may be used to refine a text-based functional requirement. Alternatively, it may be used to show how a text-based requirement refines a model element. In this case, some elaborated text could be used to refine a less fine-grained model element.”

    This allows a refine relationship to be

    [Requirement] ß1..*[Model element]

    Or

    [Requirement] à [Model element]

    However, Figure 16.1 only has

    /refinedBy:Named Element[*] as property for a Requirement

    Thus it is not possible to have a requirement refine a model element.

    This is confirmed by Figure 16.2, which in showing the tags for a NamedElement

    Has /refines Requirement [*]

    This is confirmed in table 16.2 by only showing paths that allow a NamedElement to refine a requirement (and not the other way around).

    So problem 1.

    The text and restrictions disagree, fix the text to be as follows, by deleting the last sentence:

    The refine requirement relationship can be used to describe how a model element or set of elements can be used to further refine a requirement. For example, a use case or activity diagram may be used to refine a text-based functional requirement. Alternatively, it may be used to show how a text-based requirement refines a model element. In this case, some elaborated text could be used to refine a less fine-grained model element.

    Problem 2

    The text indicates the refine relationship may be from a diagram. A diagram is not a metaclass in UML or SysML and cannot participate in this way. Please strike the word “diagram” from the text

    Final wording

    The refine requirement relationship can be used to describe how a model element or set of elements can be used to further refine a requirement. For example, a use case or activity may be used to refine a text-based functional requirement.

    Additional comment.

    It’s unclear in these circumstances, to me at least, whether two different use cases that «refine» a requirement are participating in the same refinement relationship or are just stored in a common location in the requirement.

  • Reported: SysML 1.4 — Wed, 9 Feb 2011 05:00 GMT
  • Disposition: Closed; No Change — SysML 1.7
  • Disposition Summary:

    Refine limitations

    The refine relationship is not limited to only refine Requirement model elements. As mentioned in the cited text "it may be used to show how a text-based requirement refines a model element".

    The conclusion that this is not possible, because there is no appropriate derived property in the Requirement stereotype is not correct. However, the issue is for SysML 1.4. In SysML 1.6 the AbstractRequirement has a derived property to cover the model elements that are refined by a requirement.

    A diagram is a metaclass in UMLDI. Problem 2 in the issue description is not correct.

    The final comment in the issue description addresses a problem that is not relevant anymore since the ability of specifying many-to-many relationships like refine, satisfy, or verify was removed in a previous SysML version.

  • Updated: Thu, 22 Dec 2022 13:45 GMT