SysML, UAF, UML, and UPDM Profiles > SysML profile > SysML diagrams, tables and matrices > Traceability matrix (SysML diagram)
  
Traceability matrix (SysML diagram)
A Traceability Matrix presents traceability information in a matrix format.
Create a Traceability Matrix from the Model or a Package: right-click the Model or Package, point to New, point to SysML, point to Traceability, and then click Traceability Matrix.
On creating a Traceability Matrix, you select its type. The type determines which relationships are shown on the Traceability Matrix, that is, Copy, Derive Reqt, Refine, Satisfy, Trace or Verify relationships.
When you open a Traceability Matrix, Modeler creates a matrix that can be generated as HTML for viewing in your Internet browser, or generated as a Microsoft Excel spreadsheet for viewing in Microsoft Excel. To specify how matrices and tables are opened for a model: in the Packages pane, right-click the Model, point to Tools > Options, click Matrix/Table Generation Format, and then select HyperTextMarkupLanguage_HTML or Excel_XLS.
Each time you open a Traceability Matrix, Modeler populates that matrix with the latest data from the model:
A row is created for each valid source item that is scoped to an Analyzed Package.
A column is created for each valid destination item that is scoped to an Analyzed Package.
A cell containing an X indicates that the two associated items are linked.
You can customize the content and presentation of a Traceability Matrix:
You can specify the Packages that are searched for items.
By default, a new Traceability Matrix searches for valid items in the Package that owns the Traceability Matrix. To specify which Packages are searched for valid items: right-click the Traceability Matrix, point to Links, and then click Analyzed Packages. Select the Packages you want to search, or Unlink All Packages to search all Packages in the model for valid items.
You can change the relationship type that is shown in the Traceability Matrix:
To change the relationship type: right-click the Traceability Matrix, point to Set, and then click Matrix Type.
You can choose whether to show the scope of row and column items.
On the TraceabilityMatrix tab of the Traceability Matrix's Property Pages, set the tagged value of the rowItemsShowScope tag definition to TRUE to show row item scoping, or FALSE to show only the row item names. Set the tagged value of the columnItemsShowScope tag definition to TRUE to show column item scoping, or FALSE to show only the column item names.
You can change the row and column labels.
On the TraceabilityMatrix tab of the Traceability Matrix's Property Pages, set the tagged value of the rowLabel tag definition to the row items label you want, and set the tagged value of the columnLabel tag definition to the column items label you want.
The Traceability Matrix is based on the Custom Matrix. For additional information about how Custom Matrices can be customized, including changing which items are included in the matrix, click here.
A Traceability Matrix is a UML Text Diagram that is stereotyped by the «TraceabilityMatrix» stereotype from the SysML profile, but you cannot view the Text Diagram in Modeler.
A Traceability Matrix is an editable matrix. For more information about editable matrices, see Editing Matrices.
Example of customizing a traceability matrix to show requirements that do not have any traceability links
The Traceability Matrix shows only those Requirements that are linked using the selected traceability link type (the Satisfies link type in our case). In this example we will customize a Traceability Matrix to also show Requirements that are not linked using the selected link type.
We open the Property Pages of the Traceability Matrix, click the TraceabilityMatrix tab and look at the values of the rowItemsStartPoint and rowItemsRole tag definitions.
The rowItemsStartPoint tag definition shows us that the 'Traceability Matrix' is used as the starting point for finding Requirements, and the rowItemsRole tag definition shows us that the 'Intersected Row Items' role is used to find the Requirements. The 'Intersected Row Items' role is a special Profile Helper role that finds only those Requirements that are linked through the selected link type.
In our Package we have two Requirements: Requirement1 is satisfied by Block1, Requirement2 is not satisfied by any items. When we generate the Traceability Matrix, Requirement1 appears in the matrix, but Requirement2 does not.
We change the value of the rowItemsStartPoint tag definition to 'Analyzed Packages', so that the start point for finding row items are the analyzed packages (set by right-clicking the Traceability Matrix, pointing to Links, and then clicking Analyzed Packages). We set the value of the rowItemsRole tag definition to 'REQUIREMENTS Requirement'. The 'REQUIREMENTS Requirement' role is another special Profile Helper role that finds Requirements (not Requirements nested under other Requirements).
We generate the Traceability Matrix again and this time Requirement2 is also shown even though it is not satisfied by any items.
Note that you can find out what Profile Helper roles are available for Packages by right-clicking a Package, pointing to Tools, pointing to Profile Extensions, and then clicking Wrapper Details. On the Meta Model Viewer dialog, the Profile Helper roles are shown under the Roles folder.
The following sections provide information about how a Traceability Matrix is used in the model. For more information about a SysML item - click it.
Owned by
Model (UML item)
Package (UML item)
Creates or shows these items
Any model item or diagram can appear on a Traceability Matrix.
SysML Properties
The Traceability Matrix is based on the Custom Matrix. For information about how the following SysML Properties can be used to customize a Traceability Matrix, click here.
allocatedFrom - lists source items that are linked through Allocate relationships (on Allocated tab when item is allocated).
allocatedTo - lists target items that are linked through Allocate relationships (on Allocated tab when item is allocated).
analyzedPackages - shows the Packages that are searched for valid items. To specify the Packages that are searched: right-click the Traceability Matrix, point to Links, and then click Analyzed Packages. To search all Packages in the model, click the Unlink All button.
cellDisplayProperty- specifies the property of the relationship to display in intersection cells. When blank, the default value, an X is displayed in intersection cells.
columnItemsRole - specifies the role to use for finding items from the columnItemsStartPoint.
columnItemsShowScope - specifies whether the scoping of column items is shown after the item name. Set to TRUE to show item scoping, or FALSE to show only item names.
columnItemsStartPoint - specifies the start point for finding column items.
columnLabel - specifies the label for the column items.
columnToRowIntersectionRole - specifies the role to use for column item to row item intersections.
matrixType - shows the relationship type being used for the Traceability Matrix. To change the relationship type: right-click the Traceability Matrix, point to Set, and then click Matrix Type.
rowItemsRole - specifies the role to use for finding items from the rowItemsStartPoint.
rowItemsShowScope - specifies whether the scoping of row items is shown after the item name. Set to TRUE to show item scoping, or FALSE to show only item names.
rowItemsStartPoint - specifies the start point for finding row items.
rowLabel - specifies the label for the row items.
rowToColumnIntersectionRole - specifies the role to use for row item to column item intersections.