Overview

Nodes and node trees are used to describe properties of items that are only true in a certain context. The concept is similar to how parts and part attributes are used. However, when using nodes it is possible to set properties on items further down in a structure than on the parts that are owned directly by an item. This is, for example, used in the Test meta model when Test cases are reused in different Tests and the results of performed Test Cases vary between executions, even though the Test Cases may stay the same. Test Case Results are stored as node attributes. With regards to versioning, each version of an item has a new node connected to it. 


Below is a conceptual picture of how nodes are used to describe Test Case Results in two different tests:



So for Test Case 1 the Test Case Result was 'OK' in Test Specification X for Test 1, but for the same Test Case 1 the Test Case Result was 'Not Run' in Test Specification X in Test 2.


Nodes are, in most cases, invisible to users in SystemWeaver.


Nodes and Node Trees

When using the concept of nodes, it is important to understand how the node trees work. A node tree defines all possible paths from a top node down to all items below it. A node below a chosen node in a node tree is called a sub node. A node above is called a parent node. 



A top node is a node that does not have any parent nodes. By selecting a node in a node tree, you have an explicitly defined path from that node up to the top node. 


Example

In the Test example below, we want to place Test Case Results in the context of a test (Test 1). To do that, we need the top node for that test. By navigating from that top node down through the sub nodes until we find the nodes that correspond to the Test Cases, we have a well-defined node path from a Test Case (e.g., Test Case 1, Test Case 2, etc.) up to the relevant test.



Example in Explorer


Note: Nodes are only available for structural part types. However, part types should only be structural if necessary since overuse of the node concept can affect performance negatively.