Validating the Logic of a Process

Before you use a user process in Sentinel, you must validate the logic of the process to make sure it works.

Note: The validation function cannot check for input values that are to be provided at run time. E.g. That the correct index number is supplied.

  • To validate your process logic, click Debug > Build and Validate from the menu.

The validation may require several iterations, depending on the complexity of the process, and is performed in two main phases:

Phase 1:

  • Check for metadata in all components that have metadata specified in the properties panel.
  • Expand the sub-modules into the main process and check that the connections and data types are valid.

Phase 2:

  • Check that event components are connected to the Primary Input, directly or as part of the flow.
  • Check that windowing components have the Data Windowing Type set to Data Points or Time Period.
  • Validate data types on pins that can accept multiple data types.
  • Check that all input pins, flow pins, and output pins are connected, if required by the component.
  • Check that the data type at each end of every input and output connection for the component is resolved down to a specific data type.
  • Check that any write memory component has at least one corresponding read memory component.
  • Check that any read or delete memory components have at least one corresponding write memory component.
  • Check for matching data types of all memory components in a given memory key.

The information panel at the bottom of the screen displays all the debugging information from the validation test.

For the process to be usable in Sentinel, you must eliminate all errors.

Warnings will not prevent the process from working, and are provided for information purposes only. However, you should investigate all warnings and remove as many as possible to ensure your logic is correct. Some warnings may point to areas which may cause unintended logic or flow.

Eliminating Errors

All errors and warnings correspond to a particular component.

  • Double-click the error or warning in the information panel, to take you directly to the component in question.

The message itself tells you what the problem is. Errors may occur if:

  • Required metadata is not filled in or is filled in incorrectly.
  • Sub-modules are not correctly connected, internally or externally.
  • The primary input is not available to event components.
  • For the window components, the Data Windowing Type property is set to None.
  • A component does not have its input pin connected, if required.
  • A component does not have its flow pin connected, if required.
  • The data type at each end of every input and output connection for the component does not resolve down to a specific data type.
  • A write memory component does not have at least one corresponding read memory component, for a particular memory key.
  • A read or delete memory component does not have at least one corresponding write memory component, for a particular memory key.
  • Data types of all memory components in a given memory key do not match.

In the above example, the output pin of the Log component is not connected to anything. Although the process will still work with this warning, you can remove the warning by using the End component, as follows:

When you re-validate, the warnings will disappear.

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

 

Comments are closed