Search code examples
relationshipsysml

Clarification of usage <<refine>> vs. <<satisfy>> relationship in sysml


I am new to uml/sysml and want to understand clearly the usage of refine vs. satisfy in a requirements diagram.

I am intending to create a requirements diagrams that are mapped to functions in an activity diagram to the appropriate functional requirement.

From reading several books, the definition of a refine relationship is as follows:

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

And the definition of a satisfy relationship is:

The satisfy relationship describes how a design or implementation model concept satisfies one or more requirements

So if have a function in an activity diagram, would you use a refine or a satisfy relationship to map to a requirement?

See Example image showing the mapping of a function to a requirement

Thank you for your inputs and help!


Solution

  • In an activity diagram you cannot have a function directly, just actions. You should use an operation call action in the activity diagram which can refer the function.

    The function should be a part of the design so I think you should use satisfy.