设为首页 | 收藏本站
18515218668

解读DMN中的盒装表达式

发表时间:2026-04-04 16:57作者:Together规则引擎
文章附图

在DMN规范中,“盒装表”通常是指以表格形式呈现的盒装表达式(Boxed Expressions),它是决策逻辑层的图形化表示法,旨在将复杂的逻辑拆解为易于理解的视觉单元。

4.png

以下是与“盒装表”相关的核心概念及其详细说明:

1.核心定义:盒装表达式

盒装表达式是决策逻辑的一种表格化表示形式,通过将逻辑“装入框内”,使其能够与决策需求图(DRD)中的元素(如决策或业务知识模型)逻辑关联。

l   递归性:盒装表达式是递归定义的,这意味着一个盒装表(如盒装上下文)中可以包含另一个盒装表达式(如决策表)。

l   命名框:顶层的盒装表达式通常带有一个名称框,其中包含对应的DRG元素名称。

2.最常见的盒装表:决策表(Decision Table)

决策表是DMN中最重要、最常用的盒装表形式。

l   结构:它由输入子句(Input Clauses)、输出子句(Output Clauses)和一组决策规则(Decision Rules)组成,每一行(或列)代表一条逻辑规则。

l   展示方向:支持水平方向(规则为行)、垂直方向(规则为列)和交叉表(Crosstab)三种布局方式。

l   语义:它通过对输入值进行离散化处理,将输入组合映射到具体的输出值。

3.其他类型的盒装式表格

除了标准的决策表,FEEL语言还引入了其他具有表格特征的盒装表示法:

l   关系(Relation):这是一种专门的盒装表,它是同质水平上下文的垂直列表。它看起来像传统的关系型数据库表,列名仅在顶部出现一次,下方每一行代表一个数据条目。

l   盒装上下文(Boxed Context):表现为由“名称-值”对组成的集合。

在纵向布局中,左侧列为条目名称,右侧列为对应的值(即表达式)。

当决策表作为上下文条目时,可以共享单元格以节省空间。

l   盒装调用(Boxed Invocation):用于展示如何调用业务知识模型或决策服务。它以表格形式列出参数名称及其对应的绑定表达式。

l   盒装列表(Boxed List):以垂直或水平单元格序列展示$n$个条目的集合。

4.视觉规范与符号

l   双线标识:盒装表(如决策表)在输入子句与输出子句之间、以及子句与规则条目之间使用双实线进行视觉隔离。

l   颜色与样式:规范建议(但不强制)对输入、输出和注释子句使用不同的背景颜色,以增强可读性。

l   命中策略标识:决策表的左上角(水平布局)或左下角(垂直布局)通常包含一个字符,代表其命中策略(如U代表Unique,C代表Collect)。

总结提示:

盒装表的主要作用是在业务人员可读的自然语言描述与机器可执行的FEEL表达式之间建立一种标准化的图形映射,从而有效减少“业务与技术”之间的理解偏差。

文章分类: DMN建模
分享到:
精选文章
公众号
关于我们
联系方式
让您的业务更自动化、智能化!
联系邮箱:   zhangyi@rongtek.com      wangyilong@rongtek.com
咨询热线:185 1521 8668        183 3562 2627
电话:010-8200081