@emaarco/dmn-js-模拟
直接在 a 中模拟 DMN 决定表 日记 建模者——以具体输入来输入,并立即看到哪些规则是匹配的,哪些不匹配,以及决定的回报.

这个项目背后的想法
@emaarco/dmn-js-simulation 对DMN来说 bpmn-js-token-simulation 给 BPMN : 它允许您验证决定逻辑 在你做模特的时候,而不是在后来的流程代码,测试,或生产中发现错误. 它支持 所有 DMN 点击策略 (单位:千美元)UNIQUE, (中文(简体) ), FIRST, (中文(简体) ), ANY, (中文(简体) ), PRIORITY, (中文(简体) ), COLLECT 与 SUM编号 :MIN编号 :MAX编号 :COUNT, (中文(简体) ), RULE ORDER, (中文(简体) ), OUTPUT ORDER和 多决定 DRD 链式。 。 。 .
特征
- 决策表模拟 ——表上显示一个输入表;运行后突出对应的规则并读出结果. 规则因打击政策而放弃(例如:
FIRST编号 :PRIORITY)显示为阴暗 候选人,因此政策的效果是显而易见的. - 所有打击政策,包括:
COLLECT汇总和违反政策警告(例如:.UNIQUE页:1. - DRD 链式 ——模拟整个决定要求图:设定一次输入数据离开,每个决定按依赖顺序评价. 取消的决定突出并附有说明,说明其结果;进入一项决定反映了跑道的亮点.
- 下潜 - 安装像任何 dmn-js 模块通过
additionalModules· ;dmn-js是一个对等依赖,所以它驱动您已经使用的模型. - 可主题 ——所有UI都是类命名空间并被CSS变量所驱动,您可以覆盖.
安装
npm install @emaarco/dmn-js-simulation
dmn-js (qq 17)是一个同伴依赖——如果你还没有安装的话.
使用量
import DmnModeler from 'dmn-js/lib/Modeler'
import DmnSimulationModule from '@emaarco/dmn-js-simulation'
import '@emaarco/dmn-js-simulation/assets/dmn-js-simulation.css'
const modeler = new DmnModeler({
container: '#canvas',
decisionTable: { additionalModules: [DmnSimulationModule.decisionTable] },
drd: { additionalModules: [DmnSimulationModule.decisionRequirementsDiagram] },
})
await modeler.importXML(dmnXml)
只登记您需要的视图 。 这些模块还分别导出:
import { DmnSimulationTableModule, DmnSimulationDecisionRequirementsDiagramModule } from '@emaarco/dmn-js-simulation'
DRD 视图 : 确保您的应用程序导入 dmn-js 图标字体 (单位:千美元)
dmn-js/dist/assets/dmn-font/css/dmn-embedded.css与它的其他 样式表 — 否则 DRD 编辑器调色板图标会变为空白 .
没有模特儿评价
无框架评价核心也被导出,用于测试或无头用途:
import { DmnXmlReader, DecisionTableEvaluator } from '@emaarco/dmn-js-simulation'
const model = new DmnXmlReader().readDecisionTable(dmnXml)
const result = new DecisionTableEvaluator(model).evaluate(['Fall', 8])
// → { matchedRuleIndices, reportedRuleIndices, outputs, aggregation?, violation? }
new DmnModdleReader().readDecisionRequirementsDiagram(definitions) + 键 new DecisionRequirementsDiagramEvaluator(model).evaluate(inputValues) 对一整张DRD图也一样.
捐款
欢迎捐款——见 捐款额 用于单列波布局,脚本,以及如何在当地构建,测试和运行示例.
贷项
- 日记 以 页:1 ——DMN建模器 此添加插件.
- 灵感来自 bpmn-js-token 模拟BPMN 符号模拟器 页:1。 。 。 .
许可证
麻省理工学院 马可·沙克