什么是DMN决策模型和符号?


DMN是决策模型和符号(Decision Model and Notation)的英文缩写,是由BMN背后的组织OMG管理的一个标准。
通过一种独立于供应商的图表语言(业务规则引擎语言DSL),使企业能够掌握驱动其自身业务运作的逻辑。
DMN是一个开放的标准。 像BPMN一样,它的概念和格式不是工具供应商或咨询公司的受保护的知识产权。
DMN 1.0于2015年9月正式发布,并由OMG的DMN修订任务组继续修订和更新。

DMN试图为商业/业务决策管理提供的解决方案类似十年前BPMN为业务流程管理所做的那样:
实际上,DMN比BPMN走得更远,它使企业用户能够使用图表和表格,而不是编程来创建完全可执行的决策服务......也就是我们今天所说的低代码。
DMN应该被认为是一种适用于任何类型的商业逻辑的低代码语言,而不仅仅是我们通常认为的商业决策逻辑。

DMN 是一种用于精确规范业务决策和业务规则的建模语言和符号。参与决策管理的不同类型的人都可以轻松阅读 DMN。其中包括: 指定规则并监控其应用程序的业务人员;业务分析师。
DMN 旨在与 BPMN 和/或 CMMN 一起工作,提供一种机制来对与流程和案例相关的决策进行建模。虽然 BPMN、CMMN 和 DMN 可以独立使用,但它们经过精心设计以相互补充。BPMN、CMMN和DMN真正构成了流程改进标准的“三冠王”。

使用 DMN 为您的组织决策建模将:

  • 允许在明确的决策表中简单可靠地定义业务规则
  • 使用易于阅读的图表帮助所有利益相关者了解复杂的决策领域
  • 为讨论和就业务决策的范围和性质达成一致提供自然基础
  • 通过需求的图形分解减少决策自动化项目的工作量和风险
  • 使用可以自动验证和执行的规范来简化决策系统的开发
  • 为预测分析模型的开发和管理提供结构化的上下文
  • 支持开发可重用决策组件库。

 
曾经的决策第一
十年前,DMN的种子在反叛"决策第一 "传统做法,在这种传统做法中,决策是自下而上地从电子表格、策略手册中 "收集涌现 "出来的,用于集中管理和自动化。
而DMN则要求企业了解日常运营所需的决策,并从这些决策中确定做出这些决策所需的信息。 将复杂的决策逻辑自上而下地分解为更简单的支持决策的网络,直至源输入数据,成为DMN的决策需求图的基础。 

但DMN定义的不仅仅是决策需求。 它还为每个决策内部的逻辑提供了一种低代码语言,即把决策的输入映射到其输出值的一种值表达式。
这种语言是基于模型的,而不是代码。
它依赖于标准化的表格格式,称为盒式表达式,以及一种强大但对商业友好的表达式语言,称为FEEL,用于表格单元格内的公式。 最著名的盒式表达式类型被称为决策表。

决策表早于DMN,但DMN对其格式和语法进行了严格的规定。 但是你不能仅用决策表来完全定义决策逻辑。

此外,DMN还提供了许多其他的盒式表达式:字面表达式、调用、上下文、关系等等。
一个完全实现DMN的工具,必须支持所有的盒式表达和FEEL。