Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DMN: B-FEEL implementation #1742

Open
4 tasks done
gitgabrio opened this issue Jan 8, 2025 · 2 comments · May be fixed by apache/incubator-kie-drools#6213
Open
4 tasks done

DMN: B-FEEL implementation #1742

gitgabrio opened this issue Jan 8, 2025 · 2 comments · May be fixed by apache/incubator-kie-drools#6213
Assignees
Labels
area:dmn Related to DMN area:engine Related to the runtime engines type:new-feature Something is missing, we need to build it!

Comments

@gitgabrio
Copy link

Verify/implement the new B-FEEL version inside DMN.
B-FEEL should be optionally enabled (i.e., disabled by default) setting expression language to

“https://www.omg.org/spec/DMN/20240513/B-FEEL/”

Verify the specs

B-FEEL - Proposal.docx

Requires

to be fixed, before

@baldimir @yesamer

@gitgabrio gitgabrio added area:dmn Related to DMN type:new-feature Something is missing, we need to build it! area:engine Related to the runtime engines labels Jan 8, 2025
@gitgabrio gitgabrio self-assigned this Jan 8, 2025
@jomarko
Copy link

jomarko commented Jan 9, 2025

@gitgabrio hi, I tried to check what change, if any, is needed on the Editor side and this question came to my mind. Is it valid, that more implementations can be specified in the model?

In the root of the model, Editor has this:
Screenshot 2025-01-09 080955

However, we have also this on the expression cell level:
Screenshot 2025-01-09 081022

Is a valid scenario, lets say model root set expression as FEEL and some expression cell set it as B-FEEL or vice versa?

Also, I wonder what is your opinion about Expression langugage to be plain text input versus maybe dropdown of values?

@gitgabrio
Copy link
Author

@jomarko
thanks for spotting that!
So, first of all expressionLanguage can be overridden

From spec:

An instance of Definitions may specify an expressionLanguage, which is a URI that identifies the
default expression language used in elements within the scope of this Definitions. This value may be
overridden on each individual LiteralExpression.

About "plain text input versus maybe dropdown of values", specs (IINW) does not provide a defined list of allowed ones, just mention that expressionLanguage maybe anything in URI format (there is also a mention to XPATH 2, e.g.

An instance of LiteralExpression may include importedValues, which is an instance of a subclass
Import that identifies where the text of the LiteralExpression is located. importedValues is an
expression that selects text from an imported document. An instance of LiteralExpression SHALL NOT
have both a text and importedValues. The importType of the importedValues identifies the type of
document containing the imported text and SHALL be consistent with the expressionLanguage of the
LiteralExpression element. The expressionLanguage of the importedValues element identifies
how the imported text is selected from the imported document. For example, if the importType indicates an
XML document, the expressionLanguage of importedValues could be XPATH 2.0.

To sum-up, we'll need to discuss and review the implementation with @baldimir and @yesamer, to double-check the current implementation about this detail.

Thanks again!!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:dmn Related to DMN area:engine Related to the runtime engines type:new-feature Something is missing, we need to build it!
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants