Boxed Expression Editor for Business Knowledge

The boxed expression editor for business knowledge is the formal definition of business knowledge.

Purpose

It describes logic using nested table structures. These contain FEEL expressions ("Friendly Enough Expression Language") which are textual notations for formal specification of decision logics.

Call

You make the call by selecting a business knowledgeOpen from the context menu.

Structure

If you open a business knowledge's boxed expression, then the context sensitive Design and Page Layout tabs appear; these tabs contain functions for editing boxed expressions and making expression settings.

The document window tab indicates which business knowledge is displayed in the table.

A business knowledge can be reused by multiple decisions and business knowledges. It is used by a decision or another business knowledge via a knowledge requirement. The outmost boxed expression of a business knowledge is, therefore, a function definition;.

The workspace contains possible recursive nested boxed expressions. The following types of boxed expressions exist:

  • Base Elements

    •  Literal Expression (Ctrl+L)

      A literal expression contains one single FEEL expression. A FEEL expression always has one value taken from the expression's evaluation.

    •  Context

      Variables can be defined in a context. These have a boxed expression as value respectively.

      A context might also have a result that is taken from a FEEL expression. The context's variables are often combined in this expression.

    •  Filter

      Filters constrain the visual depiction of collections. The top part is an expression which depicts the collection to be filtered, The bottom part between the square brackets contains the filter expression. In accordance with the specification, the expression must be resolved in a collection in the top part and the expression in a Boolean value in the bottom part.

    •  For Iterator

      There are three types of loop: for, some and every.

      A "For" loop contains the three entries "For", "In" and "Return". The right part of "For" contains the name of the iterator variables. The "In" row contains an expression which needs to be resolved in a collection which should iterate. The last row contains the expression which each element in the collection is processed with.

      The "Every" and "Some" loops have a similar structure; the only difference is the first row is either "Every" or "Some". The right part of first row contains the name of the iterator variables. The second row contains an expression which needs to be resolved in a collection which should be verified. The last row "Satisfies" contains an expression which is evaluated for each element and which needs to be resolved in a Boolean value.

    •  Condition

      The condition provides a visual depiction of an "If" statement with the three rows "If", "Then" and "Else". In the right part, a FEEL expression is expected; the expression in the "If" part needs to be resolved in a Boolean value.

  • Functions

    •  Invocation

      For a function call, a value is specified from the function definition of a called business knowledge. Parameter values are set using boxed expressions.

    •  Function Definition

      A function definition has formal parameters and a boxed expression which is used to evaluate a value from the parameters.

      Function definitions can be defined using FEEL, Java or PMML.

  • Decision Tables

    •  Decision Table

      A decision table contains rules that map combinations of input values to output values.

      A hit policy determines how the result is determined from applicable rules.

  • Lists

    •  List

      Entries in the list are FEEL expressions.

  • Relations

    •  Relation

      A relation is a table with homogeneous columns regarding type. Cell content is FEEL expressions.

Supported Procedures in the Boxed Expression Editor