2.3.5 Selection Tree
A Selection Tree holds the rule logic for the solution.
It is built using elements called nodes, conditions and modifiers. The elements available in a selection tree, called plug ins in ERE terminology, are defined in the service, see Section 2.3.1. A number of plug-ins are provided as part of the ERE framework and are described in this document. It is possible to create other plug-ins as part of the solutions which ERE is integrated into.
Elements at the same level in the tree are called sibling elements, while elements inside a node or sub-node are called child elements of that node.
The logic of the rules contained in the Selection Tree is changed by rearranging the elements or using other types of elements. The order in which the plug ins occur in the RMA GUI is the same as the order in which they are executed. An example of a selection tree may be seen in Figure 4.
The root of the selection tree structure is the starting point for execution and holds configuration that is valid for the entire tree.
A node can contain other nodes, conditions and modifiers, and may define behavior for the contained children, for example, to invert the evaluation. The children contained in the node are executed from top to bottom and evaluation of the conditions under a node determines whether the child nodes or modifiers are executed or not. If a node has no conditions, its children are always executed. Under a node, conditions are placed first, whereas nodes and modifiers can be arranged in any order. The behavior of a node is described more thoroughly in Section 8.1.
A condition is a logic decision point in the selection tree, and is used to construct boolean logic rules. Conditions may be divided into two types, base conditions and generic conditions. A base condition compares a configured value with the value of a pre-defined field. The field can be associated with the condition through the service or through the FieldSelection condition in the selection tree. See Section 8.2.3.9 for more information on the FieldSelection condition. Generic conditions cannot be assigned to a field in a service. Section 8.2 describes conditions and their use more thoroughly.
A modifier is the point in the selection tree where the calculations or the modifications of fields are performed. A modifier can use, modify or add data to fields defined in the service, depending on the Parameter type used for the field. See Section 5.3.6.1 for the different parameter types. Some modifiers can also determine if the execution in the tree should stop or continue. Section 8.3 describes modifiers and their use more thoroughly.
The Definitions element in the selection tree is a library where it is possible to define elements that can be used as link targets throughout the structure. For more details, see Section 6.8.
