Overview of custom matrices (Utilities profile)
The Utilities profile allows you to create Custom Matrices that can be generated as HTML for viewing in your internet browser, or generated as a Microsoft Excel spreadsheet for viewing in Microsoft Excel. These Custom Matrices are similar to those seen in the SysML and UPDM Profiles and provide a useful alternative way of presenting data from a model.
A Custom Matrix allows you to present how a specified relationship type links items through a matrix.
Each time you open a Custom Matrix, Modeler creates the matrix using the latest data from the model.
Example
In the following example, we have created a Custom Matrix that shows Dependency relationships between Classes and Actors in Package1. The Custom Matrix shows that Class1 has a Dependency to Actor1, and Class2 has a Dependency to Actor2.
The items that appear in the row and columns of the Custom Matrix, and the relationship that is shown through intersections are defined through the tagged values that are set on the CustomSimpleMatrix tab of the Custom Matrix's Property Pages.
In the preceding example, we specified the following tagged values to define the Custom Matrix.
The following Tag Definitions are used to extract the row items, that is, the Classes in Package1:
The rowItemsStartPoint tagged value (Analyzed Packages) specifies that the Custom Matrix searches for row items in the Analyzed Packages.
The analyzedPackages tagged value (Package1) specifies that Package1 is searched for items. To specify the analyzed Packages for a Custom Matrix you right-click the Custom Matrix, and select Links > Analyzed Packages.
The rowItemsRole tagged value (UML Class) shows that the Custom Matrix searches for row items that are linked to the analyzed Packages using the Modeler Automation Interface role UML Class. The UML Class role links a Package to the Classes it directly owns.
The rowItemsShowScope tagged value (TRUE) specifies that the scope of each row item is shown after the item name, and the rowLabel tagged value (Classes) specifies the label for the row items.
The following Tag Definitions are used to extract the column items, that is, the Actors in Package1:
The columnItemsStartPoint tagged value (Analyzed Packages) specifies that the Custom Matrix searches for column items in the Analyzed Packages.
The analyzedPackages tagged value (Package1) specifies that Package1 is searched for items. To specify the analyzed Packages for a Custom Matrix you right-click the Custom Matrix, and select Links > Analyzed Packages.
The columnItemsRole tagged value (Actor) shows that the Custom Matrix searches for column items that are linked to the analyzed Packages using the Modeler Automation Interface role Actor. The Actor role links a Package to the Actors it directly owns.
The columnItemsShowScope tagged value (TRUE) specifies that the scope of each column item is shown after the item name, and the columnLabel tagged value (Actors) specifies the label for the column items.
The following Tag Definitions are used to specify which relationship type is displayed as intersections in the Custom Matrix, that is, Dependencies from Classes to Actors:
The rowToCloumnIntersectionRole tagged value (Dependee) specifies that an intersection means that a row item (Class) is linked to a column item (Actor) through a Modeler Automation Interface Dependee role.
The columnToRowIntersectionRole tagged value (blank) specifies that we are not interested in any roles from the column items. We are not using this Tag Definition because we are only interested in the Dependee role from Classes (row items) not Actors (column items).
The cellDisplayProperty tagged value (blank) specifies a property of the relationship to display in intersection cells. The default, blank, is an X in intersection cells.
If we set the tagged value of the cellDisplayProperty tag definition to Name, for example, the name of each Dependency relationship would be shown in the intersection cells.
If you want to create a new Custom Matrix that is similar to an existing Custom Matrix, you can clone the existing Custom Matrix and then change the new Custom Matrix as required.