Cradle from 3SL, the complete Model Based Systems Engineering Toolsuite, specialising in requirements management, requirements capture, model based systems engineering and for systems engineering software, support and consultancy, the logical choice: Cradle from 3SL.
login Register forgot password or username?
Search:         

January 2012 [Cradle 6.5.1]

Matrices

Matrices are a type of data display that provides a tabular presentations of data in which:

  1. The rows in a matrix are a set of items specified by one or more queries
  2. The columns in a matrix are a set of items specified by one or more queries
  3. The cells in a matrix are any of:
    • An indicator of the existence of a cross reference between the item in the row and the item in the column
    • One or more attributes of the cross references between these items
    • One or more attributes from a third set of items that link the item in the row to the item in the column

So a matrix can show the existence or nature of the relationships between one, two or three sets of items.

For example, a collection of items can be formed into a hierarchy by linking them together with cross references:

A query will find all of these items. The items found by the query can be shown as the rows in the matrix, or as the columns in the matrix, or both. For example, if the same query is used to define both the rows and the columns in the matrix, then the matrix would be:

Each cell in the matrix corresponds to a cross reference between the item shown in the row and the item shown in the column. If a cross reference does not exist between the item in a row and the item in a column, then the cell in the matrix is empty. For example, there is no cross reference between items 1.3 and 1.4, so these cells in the matrix are empty:

There is a cross reference between items 1 and 1.2, so these cells in the matrix will not be empty:

The matrix for the complete hierarchy will therefore be:

It is more usual for a matrix to show different collections of items in its rows and columns, thereby showing the traceability or coverage between them. For example, given two sets of items An and Bn, connected by cross references as shown:

a matrix can be defined that shows the results of a query to find all of the An items as its rows and the results of another query to find all of the Bn items as its columns:

Each cell in one of these matrices represents a cross reference. The information shown in these cells is controlled by a view. A view can simply show the existence of cross references between the sets of items:

Alternatively, you can use a view that shows the values of any of the attributes stored inside the cross references, both user-defined attributes and the pre-defined attributes (such as link type, creator, or last modification date) provided by Cradle.

You can also control which cross references will be shown in the matrix, optionally filtering cross references by a navigation. Navigations can filter cross references by their link type, or their direction, or by the value of any of the user-defined attributes held inside them. In the example, if the cross references have a link type of either Green or Red:

then using a navigation that selects only the Red cross references would produce the matrix:

and using a navigation that selects only the Green cross references would produce the matrix:

The cells in matrices can show items as well as cross reference attributes. In such cases, the matrix will display three sets of items, all connected by cross references. Consider the three sets of items An, Bn and Cn below:

A matrix can be created that shows how the An and Cn items are indirectly inter-related via the Bn items. This matrix would use a query to find the An items to define the rows of the matrix, and another query would find the Cn items to define the matrix columns. The cells of the matrix would be the Bn items that connect each An item to each Cn item, where such cross references exist. So this matrix would by defined by:

  • A query for the rows
  • A query for the columns
  • The type of item to be shown in the cells, or all types of item
  • The navigation to be used to select the cross references between the row items and the cell items
  • The navigation to be used to select the cross references between the cell items and the column items

The form of the resulting matrix is:

The matrix cells will be all of the Bn items that act as intermediaries between each combination of the An and Cn items. Each Bn item will appear in the matrix only if it interconnects one or more An and Cn items. Hence, even though item B5 is linked to C5 and C6, it will not appear in the matrix as there are no An items linked to B5. In the same way, item B6 will not appear in the matrix because through it is linked to A4 and A6, it is not also linked to any of the Cn items.

The resulting matrix would be:

The information shown in the rows and columns in a matrix can be formed from multiple queries. Therefore, the items in the rows do not need to be all of the same type, although they usually are. Similarly, the items shown in the columns do not need to be all of the same type.

It is also very important to note that the items shown in the matrix do not need to be directly cross referenced to each other. Cradle can produce matrices that show relationships between transitively (indirectly) linked items.

You can control the information shown:

  • In the row headings for the items represented as rows
  • In the column headings for the items represented as columns
  • In the matrix cells, as any of:
    • An arrow showing the existence of a cross reference and its direction
    • One or more attributes of cross references
    • One or more attributes from a third set of items that links the items in the rows to the items in the column

The items shown in a matrix can be anything found by a query that can be cross referenced. So this includes:

  • Requirements
  • Events
  • User-defined items, such as RISKS, a SBS, a WBS or system requirements
  • All types of specifications in any model in both the Essential and Implementation domains
  • All types of data definition in any model in both the Essential and Implementation domains

This means that you can produce matrices that show relationships across the entire lifecycle, including, for example:

  • How are user requirements satisfied by system requirements or use cases
  • How are functions allocated into architecture components
  • How functions are satisfied by test cases
  • How test results indirectly satisfy the user requirements

Matrices can be published in the same way as any other view.

Matrices can be generated from the command line c_table utility.

Matrices can be dynamically generated and included into documents generated by Cradle’s Document Publisher tool.