Semantics of SysML Relationships in SOX

The main relationships between elements are stored in the system design as well and, hence, kept
consistent across all documents: Hierarchy of system elements, hierarchy of functions, assignment
of functions to system elements, assignment of malfunction to functions, cause-effect relationships
between malfunctions, assignment of safety goals to functions, and assignment of requirements to
system design elements. Again, adding such a relationship in one document automatically creates a
corresponding relationship in the system design (but not vice versa) and deleting such a relationship
in the system design can result in appearance of a “Refactoring” dialogue that informs about the
consequences.

The following table lists the relationships that are relevant in multiple types of documents/diagrams and their meanings within a certain document/diagram type:

Relationship

Usage in Document

SysML Diagram

FMEA Document

RE Document

FMEDA Document

FTA Document

Hierarchy of system elements

Composition

Hierarchy of system elements

Hierarchy of modules

Hierarchy of modules

-

 

Assignment of functions to system elements

Allocate relationships

Assignment of functions to system elements

-

Assignment of hardware function to module

-

 

Assignment of malfunctions to functions

Composition

Malfunction

-

Assignment of hardware failure to hardware function

-

Assignment of safety goals to functions

Satisfy relationship

Assignment of safety goals to functions

-

Safety goal

-

Assignment of requirements to any other object

Satisfy relationship

-

-

-

-

Terminological aspects:

  • Association: specifies peer-to-peer relationships between model elements, e.g. if a Class-x has an attribute of type Class-y, it can be viewed in a class diagram as an association between Class-x and Class-y.

  • Aggregation: is used to model a whole/part relationship between model elements. The part element can exist without the whole. Aggregation causes the generated code to contain the aggregate either by reference or by value, depending on the details of the relationship. E.g. to model an aggregation, the aggregate (Department) has an aggregation association to its constituent parts (Employee). A hollow diamond is attached to the end of an association path on the side of the aggregate (the whole) to indicate aggregation.

  • Composition: is an aggregation with strong ownership, i.e. if the container is deleted, all of its composite
    objects are deleted as well.

  • Generalization: relationship causes a class to be generated as a subclass of another class.

  • Realizes: relationship specifies that, e.g. an implementation realizes a specification. The Realizes relationship does not affect the code.

To create a relationship between two modeling elements, use the tool palette in the diagram editor, e.g. to create an Association between two classes, select the Association tool in the tool palette, click on the source element and then click on the destination element.