-
Key: DMN13-163
-
Status: closed
-
Source: Red Hat ( Matteo Mortari)
-
Summary:
Executive summary
The proposal targets the case of a Decision Service having a single output decision(s), for the result to be simply the value result of such single decision, instead of a context with 1 only entry, name of the single output decision, and value of that decision
Rationale and details
with reference to figure from the spec Figure 11.7: Routing Decision Service, the use of the decision service in a literal expression would currently require to write something like:
if Routing Decision Service( ..., ... ).Routing = "ACCEPT" then true else false
please notice specify the .Routing would sound redundant and arguably some may say user-unfriendly in the scenario of a Decision Service with a single output decision.
In the case of a Decision Service with a single output decision, we could more friendly have:
if Routing Decision Service( ..., ... ) = "ACCEPT" then true else false
In other words, the result of invoking the "Routing Decision Service" accordingly to this proposal would be:
Routing Decision Service : "ACCEPT"
and not:
Routing Decision Service : { Routing : "ACCEPT" }
as of today.
Naturally when a Decision Service contains multiple output DecisionS, then is always the context, for instance taking example from DMN Spec Figure 11.6: Bureau Strategy Decision Service the result will continue to be:
Bureau Strategy Decision Service : { Strategy : ..., Bureau call type: ... }
Proposal specification change
With reference to document formal/19-01-05, chapter "10.4 Execution Semantics of Decision Services", page 151
Replace the following:The execution semantics of S is FEEL(F): a function that when invoked with values from the FEEL semantic domain
bound to the parameters representing input data and input decisions, returns a context consisting of all the output
decisions' output values.with:
The execution semantics of S is FEEL(F): a function that when invoked with values from the FEEL semantic domain
bound to the parameters representing input data and input decisions, returns:- in the case of a single output decision(s), the single decision's output value.
- in the case of multiple output decisions, a context consisting of all the output decisions' output values.
-
Reported: DMN 1.2 — Mon, 20 May 2019 15:30 GMT
-
Disposition: Resolved — DMN 1.3
-
Disposition Summary:
clarify that single output decision service does not result in context but rather the single output value
Executive summary
The proposal targets the case of a Decision Service having a single output decision(s), for the result to be simply the value result of such single decision, instead of a context with 1 only entry, name of the single output decision, and value of that decision
Rationale and details
with reference to figure from the spec Figure 11.7: Routing Decision Service, the use of the decision service in a literal expression would currently require to write something like:
if Routing Decision Service( ..., ... ).Routing = "ACCEPT" then true else false
please notice specify the .Routing would sound redundant and arguably some may say user-unfriendly in the scenario of a Decision Service with a single output decision.
In the case of a Decision Service with a single output decision, we could more friendly have:
if Routing Decision Service( ..., ... ) = "ACCEPT" then true else false
In other words, the result of invoking the "Routing Decision Service" accordingly to this proposal would be:
Routing Decision Service : "ACCEPT"
and not:
Routing Decision Service : { Routing : "ACCEPT" }
as of today.
Naturally when a Decision Service contains multiple output DecisionS, then is always the context, for instance taking example from DMN Spec Figure 11.6: Bureau Strategy Decision Service the result will continue to be:
Bureau Strategy Decision Service : { Strategy : ..., Bureau call type: ... }
-
Updated: Mon, 30 Mar 2020 19:50 GMT
DMN13 — Decision Service output value in the case of single output Decision
- Key: DMN13-163
- OMG Task Force: Decision Model and Notation 1.3 RTF