Logic Process

The Logic process independently evaluates up to four different inputs, each with its own limits and offsets. The different states (state 1 up to state 8), are determined based on the application of various logic rules that use one or more of the input evaluation outcomes as their operands. For example, a State 1 event is raised if the State 1 logic state was defined as:

Input 1 data is below the Input 1 minimum offset
AND Input 2 data is above the Input 2 maximum offset
and if both of these conditions occur simultaneously (at the same sample interval)

Also, when used as part of a Logic state expression, the inputs for the Logic process can each have a duration specified, whereby an outcome has to be above the maximum offset for the full specified duration to be considered “above the maximum offset”, or, likewise, it should be below the minimum offset for the full specified duration to be considered “below the minimum offset”.

Logic Process allows multiple logical combinations and inputs to be used, to determine the different states. This process is particularly useful when you need to measure several inputs simultaneously, and when combinations of conditions should raise various states.


State Transition Rules

Unlike many of the other Sentinel processes, the Logic process does not have a state transition logic path. Transition from one state to another depends entirely on the current evaluation of data, and is unaffected by the current state.

However, the different states follow a rule of precedence, thus allowing for the escalation of actions based on severity, via the Sentinel framework. Different actions can be assigned to different state outcomes.

Logic states are given priority in the order they are defined. So, State 1 is evaluated first. If the logic fails, then State 2 is evaluated, and so on. Thus it makes sense to put the highest severity items in the highest positions (State 1 and State 2), and reserve the lower severities for the lowest positions.

The following table lists the order of precedence for the Logic process logic states.

Logic State Under these conditions
State 1 This has the highest priority.
State 2 This has the second highest priority.
State 3 This has the third highest priority.
State N -1 This has the second lowest priority.
State N This has the lowest priority.

Test Outcomes

A number of outcomes are possible when the Logic process is executed:

Default State The default state is reached when none of the logic states evaluate to True, and when the monitor is not in a suppressed state.
State 1 Boolean logic is applied to the operators and operands defined for State 1. If the logic evaluates to True, and if the monitor is not already in State 1, State 1 is reached and a State 1 event is raised.
State 2 Boolean logic is applied to the operators and operands defined for State 2. If the logic evaluates to True, and if the monitor is not already in State 2, State 2 is reached and a State 2 event is raised.
State 3 Boolean logic is applied to the operators and operands defined for State 3. If the logic evaluates to True, and if the monitor is not already in State 3, State 3 is reached and a State 3 event is raised.
State 4 Boolean logic is applied to the operators and operands defined for State 4. If the logic evaluates to True, and if the monitor is not already in State 4, State 4 is reached and a State 4 event is raised.
State 5 Boolean logic is applied to the operators and operands defined for State 5. If the logic evaluates to True, and if the monitor is not already in State 5, State 5 is reached and a State 5 event is raised.
State 6 Boolean logic is applied to the operators and operands defined for State 6. If the logic evaluates to True, and if the monitor is not already in State 6, State 6 is reached and a State 6 event is raised.
State 7 Boolean logic is applied to the operators and operands defined for State 7. If the logic evaluates to True, and if the monitor is not already in State 7, State 7 is reached and a State 7 event is raised.
State 8 Boolean logic is applied to the operators and operands defined for State 8. If the logic evaluates to True, and if the monitor is not already in State 8, State 8 is reached and a State 8 event is raised.
Suppressed State The monitor has been suppressed. For example, if the precondition has not been met.

Conditional Logic

The Logic process provides the following conditional logic.

Note: All of the example graphs in the following sections show tests that have used the Last Known Value sample method.

Evaluating the Different States

Up to eight different states (State 1 through to State 8) can be set up for evaluation. Any state can only be raised if evaluations for preceding states have evaluated to False. For example, State 6 can only be raised if it evaluates to True and State 1, State 2, State 3, State 4 and State 5 all evaluate to False. Likewise, State 3 can only be raised if it evaluates to True and State 1 and State 2 both evaluate to False.

Mode Settings

The mode settings apply to all of the defined Inputs.

Offset Mode

The offset mode is set to be fixed or percentage, and applies to all of the defined limits. When offset mode is fixed value, it is added to (or subtracted from, in the case of a negative offset) the limit value. If an offset is a percentage, then it is multiplied against the limit value and the resulting product is added or subtracted to the limit value.

Suppress Minimums

If the Suppress all minimums if any input is within limits of offsets check box is selected, all inputs are evaluated as a group, in the following way.

If any of the inputs is within its limits, then none of the other inputs can be evaluated as “below minimums”, even if they have had a minimum offset defined. For example, if Input 2 data is within its offset limits, then Input 1, Input 3 and Input 4 cannot be evaluated as “below minimum”.

Data item Limit Min Offset Max Offset Sample Interval Input Time (11am)
Input 1

At 11:00am, data for Input 1 is below the minimum offset.

However, because Input 2 is within the offset limits at this time, and the Suppress all minimums if any input is within limits of offsets check box is selected, Input 1 is not “below minimum”, but “within limits”.

Input 2

At 11:00am, data for Input 2 is within the offset limits.

Because of this, there can be no “below minimum” evaluations for any of the other limits at 11:00am.

Input 3

At 11:00am, data for Input 3 is below the minimum offset.

However, because Input 2 is within the offset limits at this time, and the Suppress all minimums if any input is within limits of offsets check box is selected, Input 3 is not “below minimum”, but “within limits”.

Input 4

At 11:00am, data for Input 4 is above the maximum offset.

Input 4 evaluates as “above maximum” at 11:00am.

Defining Inputs

At least one, and up to four different inputs can be set up in the Logic process. Of those inputs that are set up, various evaluation outcomes can be used as operands in the logic applied to the different states. Each input (Input 1, Input 2, Input 3 and Input 4) has its own settings:

  • Input: The data that is evaluated.
  • Limit: The base value from which the offsets are calculated.
  • Max Offset: If this is selected, then it is the value by which the maximum offset is calculated; this value is applied to the limit, either as a percentage or as an absolute value (depending on the selected offset mode).
  • Min Offset: If this is selected, then it is the value by which the minimum offset is calculated; this value is applied to the limit, either as a percentage or as an absolute value (depending on the selected offset mode).
  • Duration: If a duration is defined, this affects the evaluation of an input. An input will only be evaluated as “below minimum” when it remains below the minimum offset for longer than that input’s defined duration. Likewise, an input will only be evaluated as “above maximum” when it remains above the maximum offset for longer than that input’s defined duration.

Example: Evaluating an Input with Min Offset Duration

The following example demonstrates how an input is only evaluated as “below minimum” after a certain duration. In this example, duration is defined as 1 hour and 55 minutes.

          09:00am              10:00am             11:00am
Data item
Limit
Min Offset
Max Offset
Sample Interval
Input Time

At 09:00am, data is below the minimum offset. Duration is 0 hours. For Input 1, data is “within limits”

At 10:00am data has been below the minimum offset for 1 hour. For Input 1, data is still “within limits”

At 11:00am data has been below the minimum offset for 2 hours, which is longer than the defined duration (1 hour and 55 minutes) for Input 1. For Input 1, data is now “below minimum.”

Determining States

The Logic process requires that at least one state (State 1) is defined. Up to eight different states can be defined. Each state is made up of a combination of outcomes of the various inputs.

For example, State 1 can be defined as: 1 Max AND 3 Min OR 2 Max AND 4 Min

In order for State 1 to be raised, the following evaluations must occur simultaneously: Input 1 evaluates to “above maximum” AND Input 3 evaluates to “below minimum” OR Input 2 evaluates to “above maximum” AND Input 4 evaluates to “below minimum”.

How the Logic Process Evaluates Conditions

Each state has up to four operands, with up to three logical operators. The Logic process uses Boolean logic to evaluate conditions.

In Boolean Logic, the rules to be aware of are:

  • “And” takes precedence over “or”
  • “True and True” evaluates to True
  • “True and False” evaluates to False
  • “False and False” evaluates to False
  • “True or False” evaluates to True
  • “False or False” evaluates to False
  • “True or True” evaluates to True

For Sentinel, group pairs according to the precedence rules, and then from left to right, to better understand how the logical evaluation is performed:

1 Min and 2 Max or 3 Min and 4 Min groups to:

(1 Min and 2 Max) or (3 Min and 4 Min), and is evaluated as:

(True) or (False), which is further evaluated to the final outcome:

True

The following table demonstrates how various states have been set up, and are then evaluated. The highest state (closest to State 1) takes precedence over other states.

Evaluate: Expression evaluates to: Evaluates to Raises a State
Operand & (operator) 1 (1) 2 (2) 3 (3) 4    
State 1 True AND True AND False OR False False No state raised (False outcome)
State 2 True AND False OR True AND True True State 2 is raised
State 3 True AND True AND True AND True True State 2 takes precedence
State 4 True OR False AND True - - - State 2 takes precedence
State 5 - - - - - - - - No State Defined
State 6 - - - - - - - - No State Defined
State 7 - - - - - - - - No State Defined
State 8 - - - - - - - - No State Defined

In the example, State 1 is evaluated as follows:

Operand 1 Operator 1 Operand 2 Operator 2 Operand 3 Operator 3 Operand 4 Final Outcome
1 Max AND 3 Min AND 2 Max OR 4 Min  
True AND True AND False OR False  
    True AND False OR False  
        False OR False  
              False

State 2 is evaluated as follows:

Operand 1 Operator 1 Operand 2 Operator 2 Operand 3 Operator 3 Operand 4 Final Outcome
1 Max AND 4 Min OR 2 Min AND 3 Min  
True AND False OR True AND True  
    False OR     True  
              True

State 3 is evaluated as follows:

Operand 1 Operator 1 Operand 2 Operator 2 Operand 3 Operator 3 Operand 4 Final Outcome
1 Max AND 3 Min AND 2 Min AND 4 Max  
True AND True AND True AND True  
    True AND     True  
              True

and so on.

Definition of Operands in the Logic Process

The following operands are available to the Logic Process. Note that for any of the limits, “within limits” means that a limit has not been exceeded. In these definitions, N could be 1, 2, 3 or 4 and is referring to the different inputs: Input 1, Input 2, Input 3, Input 4.

N Min If the input value for N is currently lower than the minimum offset for N, and has been, continuously, for longer than the defined duration (if any duration has been defined for Limit N) , or if it is currently lower than the minimum offset for N (if no duration has been defined) then N Min evaluates to True. Otherwise, it evaluates to False.

Example: 1 Min, refers to the Minimum Offset for Input 1.

N Max If the input value for N is currently higher than the maximum offset for N, and has been, continuously, for longer than the defined duration (if any duration has been defined for Limit N) , or if it is currently higher than the maximum offset for N (if no duration has been defined) then N Max evaluates to True. Otherwise, it evaluates to False.

Example: 2 Max, refers to the Maximum Offset for Input 2.

N Out If the input value for N is currently lower than the minimum offset for N, and has been, continuously for longer than the defined duration (if any duration has been defined for Limit N) , or if it is currently lower than the minimum offset for N (if no duration has been defined) then N Min evaluates to True. Otherwise, it evaluates to False.
Example: 1 Min, refers to the Minimum Offset for Input 1.

Or, if the input value for N is currently higher than the maximum offset for N, and has been, continuously, for longer than the defined duration (if any duration has been defined for Limit N) , or if it is currently higher than the maximum offset for N (if no duration has been defined) then N Max evaluates to True. Otherwise, it evaluates to False.

Example: 2 Out, refers to the Maximum Offset and the Minimum Offset for Input 2.

N In If the input value for N is less than or equal to the maximum offset value, and also greater than or equal to the minimum offset value (regardless of duration), then N In evaluates to True. Otherwise, it evaluates to False.
Example: 2 In, refers to the Maximum Offset and the Minimum Offset for Input 2.

N In, with Suppress all minimums…
If the Suppress all minimums if any input is within limits of offsets check box is selected, and if any of the other inputs is within limits then the minimum offset is ignored. In these circumstances, if the input value is less than or equal to the Maximum Offset, then N In evaluates to True. Otherwise it evaluates to False.

Example: Determining States

The following illustration demonstrates how at 11:00am State 1 is raised when Input 1 evaluates to “above maximum” while Input 3 evaluates to “below minimum”.

Data item Limit Min Offset Max Offset Sample Interval Input Time (11am)
Input evaluation Logical evaluation
Input 1 At 11:00am, data for Input 1 is above the maximum offset.
For Input 1, data is “above maximum”.
Input 3 At 11:00am, data for Input 3 is below the minimum offset.
For Input 3, data is “below minimum”.
1 Max and 3 Min
  1 Max
true
and
and
3 Min
true

true
Input 2 At 11:00am, data for Input 2 is within the offset limits.
For Input 2, data is “within limits”, that is it’s not “above maximum”.
Input 4 At 11:00am, data for Input 4 is below the minimum offset.
For Input 4, data is “below minimum”.
2 Max and 4 Min
  2 Max
false
and
and
4 Min
true

false

1 Max AND 3 Min OR 2 Max AND 4 Min evaluates to TRUE OR FALSE.

TRUE OR FALSE evaluates to TRUE. Thus a State 1 event is raised, and State 1 is reached.


Adding a Logic Process

The Sentinel Logic Process uses Boolean logic to use the outcome of up to four different inputs to establish various states.

Setting Process Values and Limits

Part of setting up the Logic process involves selecting values, such as the different inputs, the different limits, and the minimum and maximum offsets. Values can either be fixed, or they can be variable data taken from tags.

The following values are available. Select a value type from the drop-down list, then type in or select a value.

  • Fixed Value: If you choose this, type in a fixed numerical value. Note: This is not an option for Input 1.
  • Attribute: This option is only available if the test’s Source Type is Entity or Hierarchy. Click the ellipsis button to select an attribute of the source entities.
  • Source Tag: This option is only available if the Source Type is Tag.
  • Calculation: Click the ellipsis button to open the Edit Calculation window. 
    • If the Source Type is Entity or Hierarchy: Type a calculation, prefixed by ‘this’ as the Source Entity token, for example: {this:THP} + 34.
    • If the Source Type is Tag: Type a calculation, prefixed by ‘this’ as the Source Tag token, for example: {this} * 2.
  • Tag: Click the ellipsis button to select a tag.
  • Entity Attribute: Click the ellipsis button to select an entity. From here, select an attribute, or attribute value, for the selected entity.

Adding the Process

As with all Sentinel processes, the Logic Process is defined within a Sentinel Test page. In the Sentinel Test page:

1. Expand the Process panel.

2. Select Logic from the Process drop-down list.

The screen now shows the details for the Logic process.

C:\Users\gxl1129\AppData\Local\Temp\SNAGHTML3d5e1f52.PNG

Mode Settings

The mode settings apply to all of the offsets defined in the process. The following options are available:

  • Offset Mode: Percentage or Absolute Value. The offset mode determines how the max and min offsets for the various inputs are calculated from their defined limits.
  • Suppress all minimums if any input is within the limit of offsets: Select the check box if you want to suppress all minimums, when any input is within the offset limits.
  • End evaluating on false state: Select this check box to stop the process from continuing, after evaluating a state as false.
  • Skip previous states: Select this check box to prevent the process from evaluating previous states and start from the current active state. If at State N, the process will skip evaluation of States 1 to N-1 on next run.
  • Skip current state, when all states evaluated returns to default: This check box is only available if Skip previous states has been selected. Select this check box to stop the process from evaluating the current state and previous states. If at State N, the process skips evaluation of State 1 to N and starts at State N+1. Upon reaching the last State, the process will return to a default state.

Inputs

At least one and up to four different Inputs need to be specified for the Logic process.

Note: During processing, the inputs are evaluated in order of precedence (Input 1 having the highest precedent).

Input 1 (Required)

C:\Users\gxl1129\AppData\Local\Temp\SNAGHTML670ba2c4.PNG

3. From the Input drop-down list, select one of the following and then select a corresponding value:

  • Attribute (only available if the Source Type is Entity or Hierarchy)
  • Source Tag (only available if the Source Type is Tag)
  • Calculation
  • Tag
  • Entity Attribute

4. From the Limit drop-down list, select one of the following and then type in or select a corresponding value:

  • Fixed Value
  • Attribute (only available if the Source Type is Entity or Hierarchy)
  • Source Tag (only available if the Source Type is Tag)
  • Calculation
  • Tag
  • Entity Attribute

5. Optionally define a Max Offset.

Note: You must select either a Max Offset or a Min Offset, or both.

  1. Select the Max Offset check box.
  2. From the Max Offset drop-down list, select one of the following and then type in or select a corresponding value:
  • Fixed Value
  • Attribute (only available if the Source Type is Entity or Hierarchy)
  • Source Tag (only available if the Source Type is Tag)
  • Calculation
  • Tag
  • Entity Attribute

6. Optionally define a Min Offset.

  1. Select the Min Offset check box.
  2. From the Min Offset drop-down list, select one of the following and then type in or select a corresponding value:
  • Fixed Value
  • Attribute (only available if the Source Type is Entity or Hierarchy)
  • Source Tag (only available if the Source Type is Tag)
  • Calculation
  • Tag
  • Entity Attribute

7. Optionally define a duration.

  1. Select the Duration check box.
  2. Type integer values in the days, hours, mins (minutes), and secs (seconds) Duration Limit boxes to define a duration period. The default value is zero.
Inputs 2, 3 and 4 (Optional)

8. Select the check box to the left of the relevant Input panel (e.g. Input 2).

9. From the Input drop-down list, select one of the following and then select a corresponding value:

  • Fixed Value
  • Attribute (only available if the Source Type is Entity or Hierarchy)
  • Source Tag (only available if the Source Type is Tag)
  • Calculation
  • Tag
  • Entity Attribute

10. Capture the Limit, Max Offset, Min Offset and optional Duration for Inputs 2-4, following the instructions for defining Input 1.

Logic State Settings

At least one logic state (State 1) and up to eight logic states must be selected for the Logic Process.

For each logic state that you want to set up for the process, do the following:

11. Select the check box to the right of the logic state name.

Note: The State 1 check box is already selected, as this is a required state for this process.

12. Select the operands and operators to build up a logical expression for the state.

 Operands 1, 2, 3 and 4  Operators 1, 2 and 3

13. Select the first operand from the first drop-down list for State 1.

The operands all relate to the Min Offsets and Max Offsets of the various Inputs. All possibilities are listed in the drop-down; however, you may only select valid options (that is, options that are defined in the Inputs section). So, for example, you should not select Min 4 if you have not defined Input 4 as one of your inputs, or if you have not defined a Min Offset for Input 4.

The operand drop-down list comprises of the following:

- This equates to no selection, and is the default.
1 Min If the data for Input 1 is lower than the Min Offset for Input 1, for the defined duration (if applicable), 1 Min evaluates to True, otherwise False.
1 Max If the data for Input 1 is higher than the Max Offset for Input 1, for the defined duration (if applicable), 1 Max evaluates to True, otherwise False.
1 Out If the data for Input 1 is either higher than the Max Offset for Input 1, or lower than the Min Offset for Input 1, for the defined duration (if applicable), 1 Out evaluates to True, otherwise False.
1 In (“Within Limits”) If the data for Input 1 is between the Max Offset for Input 1, and the Min Offset for Input 1, for the defined duration (if applicable), 1 In evaluates to True, otherwise False.
If the Suppress all minimums if any input is within limits of offsets check box is selected, and any of the other inputs is “within limits”, then if data for Input 1 is below the Max Offset for Input 1, 1 In evaluates to True, otherwise False.
2 Min If the data for Input 2 is lower than the Min Offset for Input 2,for the defined duration (if applicable), 2 Min evaluates to True, otherwise False.
2 Max If the data for Input 2 is higher than the Max Offset for Input 2, for the defined duration (if applicable), 2 Max evaluates to True, otherwise False.
2 Out If the data for Input 2 is either higher than the Max Offset for Input 2, or lower than the Min Offset for Input 2, for the defined duration (if applicable), 2 Out evaluates to True, otherwise False.
2 In (“Within Limits”) If the data for Input 2 is between the Max Offset for Input 2, and the Min Offset for Input 2, for the defined duration (if applicable), 2 In evaluates to True, otherwise False.
If the Suppress all minimums if any input is within limits of offsets check box is selected, and any of the other inputs is “within limits”, then if data for Input 2 is below the Max Offset for Input 2, 2 In evaluates to True, otherwise False.
3 Min If the data for Input 3 is lower than the Min Offset for Input 3, for the defined duration (if applicable), 3 Min evaluates to True, otherwise False.
3 Max If the data for Input 3 is higher than the Max Offset for Input 3, for the defined duration (if applicable), 3 Max evaluates to True, otherwise False.
3 Out If the data for Input 3 is either higher than the Max Offset for Input 3, or lower than the Min Offset for Input 3, for the defined duration (if applicable), 3 Out evaluates to True, otherwise False.
3 In (“Within Limits”) If the data for Input 3 is between the Max Offset for Input 3, and the Min Offset for Input 3, for the defined duration (if applicable), 3 In evaluates to True, otherwise False.
If the Suppress all minimums if any input is within limits of offsets check box is selected, and any of the other inputs is “within limits”, then if data for Input 3 is below the Max Offset for Input 3, 3 In evaluates to True, otherwise False
4 Min If the data for Input 4 is lower than the Min Offset for Input 4 , for the defined duration (if applicable), 4 Min evaluates to True, otherwise False.
4 Max If the data for Input 4 is higher than the Max Offset for Input 4, for the defined duration (if applicable), 4 Max evaluates to True, otherwise False.
4 Out If the data for Input 4 is either higher than the Max Offset for Input 4, or lower than the Min Offset for Input 4, for the defined duration (if applicable), 4 Out evaluates to True, otherwise False.
4 In (“Within Limits”) If the data for Input 4 is between the Max Offset for Input 4, and the Min Offset for Input 4, for the defined duration (if applicable), 4 In evaluates to True, otherwise False.
If the Suppress all minimums if any input is within limits of offsets check box is selected, and any of the other inputs is “within limits”, then if data for Input 4 is below the Max Offset for Input 4, 4 In evaluates to True, otherwise False

14. Select the first operator from the next drop-down list for State 1.

This is used for the logical evaluation, and can be any of the following:

-, And, Or.

15. Select the remaining operands and operators that you want to use for the expression.

The final expression will look similar to this:

16. Continue adding logical expressions for up to 7 additional states, until you have all the states that you want for this process. For each additional state:

  1. Select the check box next to the state.
  2. Specify the Expression to evaluate, as per step 2.
  3. If required, apply a Restriction by selecting the check box below the expression.

Enabling a restriction allows you to restrict the time that the state can be evaluated as true. The options in the drop-down list are:

Evaluates true only within: This option evaluates the state as true only within the specified time period (DD:HH:MM:SS) of the previous state. This requires the process to only evaluate the state as true within the time restriction. If at State N with time restriction X, then any time after X of State N-1 being evaluated as true will indefinitely return false until the next time State N-1 is raised after departing State N-1.

Evaluates true after: This option evaluates the state as true only after the specified time period (DD:HH:MM:SS) of the previous states. This requires the process to only evaluate the state as true after the time restriction. If at State N with time restriction X, then any time before X of State N-1 being evaluating true will return false until the time restriction has been met.

17. If you have applied the above restriction, you also have the option of selecting Return to default state after exceeding restriction.

When selected, the process returns to the default state when restrictions have been exceeded, as follows:

  • When Evaluates true only within is being used, and any time after the time restriction where the state has yet to evaluate to true.
  • When Evaluates true only after is being used, and if the state evaluates true prior to the time restriction.

The logic states may now look something like this:

Adding Comments

18. Click the comment button at the top right of the panel.


Configuring States

For the Logic process, you can configure the following states, each with an optional state override and comments:

  • Default
  • State 1
  • State 2
  • State 3
  • State 4
  • State 5
  • State 6
  • State 7
  • State 8
  • Suppressed

You cannot change the severity of the Default state; however, you can add a state override and comments.

Note: Only configure states where you have set a limit.

 

Comments are closed