Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Decision models provides a common notation that is easily understandable by all business users. The business analysts who need to design initial decision requirements, the technical developers who are responsible for automating the decisions in processes and business people who will monitor and manage these decisions are all targets of this mechanism. Emakin decision model is based on DMN standards which is published by Object Management Group.

...

Business knowledge models are mathematical formulations to apply referenced documents. BKM functions written in FEEL syntax and an example of PMT (calculates the payment for a loan) function can be defined as BKM function.

(amount * rate / 12) / (1 – (1 + rate / 12) ** -term)

...

For decision logic modeling, there is a language called FEEL for defining and assembling decision tables, calculations, if/then/else logic, simple data structures. Please see the FEEL reference for more details.

Decision Table

Decision table is a logical expression for decision elements in model. Please refer to Decision Table for more details.

Executing Decisions

Decisions can be called as a "decision service" from scripting environment and also can be called from emakin rest service

Scripting Environment

To call a decision from scripting calling convention is;

var result = $Decisions.<DecisionName>( inputData );

DecisionName donates denotes the name of decision in graph.

InputData can be a javascript object or xml data. Also combining xml data and JSON objects is supported.

Please note that if the decision has only one output expression, the result is a direct value of result output. If the decision has more than one output expression, then the result is always a javascript object and output expressions are property of this result object.

Javascript Object Example 

Code Block
var result = $Decisions.MyDecision({
  Product : 'Candy',
  Units : 30
});

Xml Data Example

Code Block
var result = $Decisions.MyDecision( $Xml.SelectSingle('Order') );

Please refer to scripting reference for more details and examples.

Rest Service

Please refer to the rest service documentation for more details.

An Example of a Decision Model

Dish decision table

Beverages decision table


...