Defining Decision Logics

You can set rules and functions for a decision or business logic using the boxed expression editor.

How to Proceed when Defining Decisions

  • Identify decisions in business processes (gateways, including data used, conditions etc.)
  • Specify relevant specifications, guidelines, information and information sources (data sources, rules, conditions etc.)
  • Determine constraints for decisions (regulations)
  • Model basics for a decision (decision requirements) in the decision diagram*
  • Type decision elements (e.g. structure definitions for relevant decision data)*
  • Define decisions using boxed expressions*
  • Create reusable decisions as business logics*
  • Simulate decisions*
  • Implement report and update processes to enable continuous optimization

* These steps are explicitly supported by Innovator.

Typing Decision Elements

Decisions and information used require a type. This also applies for structure elements in boxed expression, such as e.g. context variables or decision table inputs.

FEEL primitive types can be used, such as e.g. "number", "string" and "boolean". You can find these in the FEEL Types namespace.

You can implement complex data types using structure definitions. To do this, create a structure definition with entries. Their types can be FEEL primitive types or other structure definitions. Groups can also be used if required.

Structure definitions, groups or entries are interpreted as lists if the is collection property is activated.

Alternatively, a structure definition can be assigned using properties of the linked classifier. This is a type, i.e. a FEEL primitive type or another structure definition. The structure definition then adopts this type. The is collection property changes the structure definition to a list.

Example: a structure definition with the linked string classifier and the is collection property set defines a list of strings.

Restriction

Structure groups and entries in structure definitions with linked classifier are not evaluated.

Assigning a Structure Definition as Variable Type of a Decision

Context

Decisions require a type.

FEEL primitive types can be used, such as e.g. "number", "string" and "boolean". You can find these in the FEEL Types namespace.

You can assign complex data types using structure definitions. To do this, create a structure definition with entries. Their types can be FEEL primitive types or other structure definitions.

How to proceed

  1. Select the Decision which you want to type.

  2. In the Propertiestool window for the Variable Type property, click on .

    The Determine variable type for Input Data '0' dialog appears.

  3. To assign a Structure Definition, click on the structure element with the structure definitions to the left in the tree, select the type on the right and confirm with OK.

    The type is assigned Decision.

Creating a Decision's Structure

Context

Use a Context base element if you want to not merely create a single element but flexibly design the structure. You can use Context blocks to group logical elements that belong together.

How to proceed

  1. Double-click on the Decision which you want to create.

    The table editor for boxed expressions opens.

  2. Click with the right mouse button in the Empty Expression block and select the  Context in the context menu.

    A Context block is created.

  3. To carry on structuring the Context block, click with the right mouse button in the context menu's Empty Expression block and select the  Context in the context menu again.

    A Context block in the Context block above is created.

  4. Click with the right mouse button in the entry block and select the  Context Entry (Ctrl++) in the context menu.

    The Context Entry is created. You can create the decision logic structure in this way.

Creating a Function Definition (FEEL)

Context

Function definitions produce results that are used within the logic of a decision.

How to proceed

  1. Click with the right mouse button in the Empty Expression block of a conetxt entry and select the  Function Definition (FEEL) in the context menu.

    A Function Definition is created.

  2. Click with the right mouse button in the () function block and select Modify (F2).

    The Edit Function Parameters dialog appears.

  3. To create a function parameter, click on Create.

    A parameter is created and can be edited.

  4. To type a function parameter, click on Set Type....

    The Determine type for '0' element dialog appears.

  5. To assign a FEEL type, click on FEEL Types in the tree, select the type on the right and confirm with OK.

    The type is assigned to the parameter.

  6. Repeat from step 7 for further function parameters if required.

    Close parameter editing by clicking on Close.

    You have now created a FEEL function definition with typed parameters within a context structure.