Where to Start a Process

A process flows in a forward manner from left to right, following the path of the connected flow pins. When the process encounters a component that does not have the data it requires, the process may temporarily flow backwards in order to obtain that data, and then will resume the forward flow.

A process can start from different points within the flow. Where you decide to start your process will depend on the order in which you want your data to be processed.

Let's use the following process to illustrate how this works. There are two useful start points in this process:

At the Get Single component for Temp 1:

At the Get Single component for Temp 2:

Both start points will process the data, however the result will be different for each start point. The following diagrams illustrate how the user process differs when you start at different points.

Starting at Temp 1

Temp 1 = 9, Temp 2 = 0. Expected result: Default state

1. The data for Temp 1 is retrieved first and is sent to the first output pin to a > Boolean operator.

2-4. The Boolean operator needs a comparison, so it follows its other input pin backwards to retrieve the data for Temp 2.

5. When Temp 2 is sent back to the Boolean operator, 25 is added to it via the + math operator. The data for Temp 2 that is received by the Boolean operator is therefore 25.

6. The Boolean operator then makes the comparison. Since Temp 1 (9) is not greater than Temp 2 (25), nothing happens. The process now ends because there is no further path to follow — the Flow Sequence component is missed because the Boolean operator does not flow backwards.

The logic in this process is such that it will never work as intended, because the starting point is in the wrong place.

Starting at Temp 2

Temp 1 = 9, Temp 2 = 0. Expected result: Default state

1. The value for Temp 2 is retrieved first and is sent to the first output pin to a > Boolean operator.

2-3. The Boolean operator needs a comparison, so it follows its other input pin backwards to retrieve the value for Temp 1.

4-5. The Boolean operator then makes the comparison. Since Temp 1 (9) is greater than Temp 2 (0), the Flow Sequence pin is triggered, and the process follows the first output pin.

6-7. The > Boolean operator retrieves its inputs, Temp 1 and Temp 2. When Temp 2 is sent back to the Boolean operator, 25 is added to it via the + math operator. The value for Temp 2 that is received by the Boolean operator is therefore 25. The Boolean operator then makes the comparison. Since Temp 1 (9) is not greater than Temp 2 (25), the process returns to the Flow Sequence, and the next output pin is followed.

8-9. The > Boolean operator retrieves its inputs, Temp 1 and Temp 2. When Temp 2 is sent back to the Boolean operator, 10 is added to it via the + math operator. The value for Temp 2 that is received by the Boolean operator is therefore 10. The Boolean operator then makes the comparison. Since Temp 1 (9) is not greater than Temp 2 (10), the process returns to the Flow Sequence, and the next output pin is followed.

10. The final output pin from the Flow Sequence produces a Default state.

The logic in this process works as intended, because the starting point is in the correct place.

Related: Sentinel Studio PrimersCreating a User Process, Component Logic Functions

Comments are closed