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
...