SysML 1.7 RTF Avatar
  1. OMG Issue

SYSML17 — SysML Issue on Refine limitations

  • Key: SYSML17-57
  • Legacy Issue Number: 16016
  • Status: open  
  • 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
  • Updated: Fri, 21 Jun 2019 06:27 GMT