Page 327 -
P. 327

11  The Worklet Service                                         323
                           set, because the validity of a child rule node depends on the conditional expressions
                           of its ancestors. 2
                              When a tree is added to the tree set:
                             If it is a case-level tree, the rule type that the tree represents will be removed from
                              the Rule Type list. That is, the rule type now has a tree defined for it and so is no
                              longer available for selection on the New Rule form.
                             If it is an item-level tree, the task name that the tree represents will be removed
                              from the Task Name list. That is, the task now has a rule tree defined for it (for
                              the selected rule type) and so is no longer available.
                             If it is an item-level tree, and all tasks of the specification now have trees defined
                              for them for the selected rule type (i.e., this was the final task of the specification
                              for which a tree was defined), the rule type that the tree represents will be
                              removed from the Rule Type list.
                              This approach ensures that rule trees can only be added where there are currently
                           no trees defined for the selected specification. Once the tree is added, the form resets
                           to allow the addition of another new tree as required, by repeating the process above
                           for a new rule type (or rule type/task name for item-level trees).



                           11.10.4 Drawing a New Exlet

                           As described in Sect. 11.10.1, adding a conclusion to a selection rule is a matter of
                           choosing a worklet from the list or creating a new worklet in the Editor. However,
                           when adding a conclusion for a rule type other than “Selection” (i.e., an exception
                           rule type), an exlet needs to be defined that will be invoked when the rule is returned
                           as the last satisfied. Chapter 5 detailed the various actions that make up the available
                           set of exception handling primitives (or tasks) that may be sequenced to form an
                           entire handling process. The Draw Conclusion dialog makes the process of defining
                           an exception handling sequence easier by allowing administrators to create an exlet
                           graphically by selecting the appropriate primitive from the toolbox on the left, and
                           then clicking on the drawing canvas to place the selected primitive. Figure 11.11
                           shows an example of the Draw Conclusion dialog.
                              In addition to the various primitive tools, the Arc Tool is used to define the
                           sequence order. For a conclusion to be valid (and thus permitted to be saved), there
                           must be a direct, unbroken path from the start node to the end node (the start and
                           end nodes are always displayed on the drawing canvas). Also, the conclusion will
                           be considered invalid if there are any nodes on the canvas that are not attached to
                           the sequence when a save is attempted.
                              The Select Tool is used to move placed primitives around the canvas. The Align
                           button will immediately align the nodes horizontally and equidistantly between the


                           2
                            There are algorithms defined in the literature for the reduction and transformation of Ripple-
                           Down Rule sets that may be applied from time to time (e.g., see [234]).
   322   323   324   325   326   327   328   329   330   331   332