我在我的应用程序中使用camunda (角,java,spring)。
在向DMN表中添加新规则时,我希望验证规则是否是重叠的。
例如,下面是我的DMN表,
X=x=
<9 \x{e76f}\x{e76f}<9\x{e76f}\x{e76f} "ABC“
\x{e76f}\x{e76f}
考虑到用户是如此愚蠢:D,并且可以创建像上面这样的规则。
对于以上DMN,如果i/p为x= 10,y= 99,则满足这两种规则。
如果我使用唯一的命中策略,它不会在添加新规则时显示错误,而是在评估DMN表时显示给我。我不想这样:
如何避免规则重叠,同时使用camunda或camunda ?自行创建规则
发布于 2016-02-08 09:57:11
这目前是不可能的,因为它需要了解所有可能的输入组合。同时,要推断所有规则的重叠值范围也是相当困难的。
发布于 2016-02-08 12:15:49
正如塞巴斯蒂安指出的那样,没有内置的功能来实现这一点。然而,我们在一个项目中讨论了,您可以创建一个参数化的JUnit测试用例,并使用所有输入可能性排列来运行它。如果您使用没有唯一结果的输入调用决策表,您将得到一个异常。
干杯贝恩德
发布于 2016-12-17 11:40:10
看看https://arxiv.org/pdf/1603.07466v1.pdf,这可能会有帮助。文档中有一个指向dmn的github项目的链接,其中添加了规则验证,还链接到了一个在线版本,您可以在其中看到它是如何工作的。
https://stackoverflow.com/questions/35264681
复制相似问题