Граф требований к решениям (DRG)
|
Этот раздел перенесён из документации Camunda 7 и в дальнейшем будет доработан с учётом особенностей OpenBPM Engine |

Граф требований к решениям (DRG) моделирует область принятия решений, показывая наиболее важные элементы, задействованные в ней, и зависимости между ними. Моделируемыми элементами являются решения, входные данные и источники знаний.
Визуальное представление DRG называется диаграммой требований к решениям (DRD).
В XML граф DRG представлен элементом definitions.
<definitions xmlns="https://www.omg.org/spec/DMN/20191111/MODEL/" id="dinnerDecisions" name="Dinner Decisions" namespace="http://camunda.org/schema/1.0/dmn">
<decision id="dish" name="Dish">
<!-- ... -->
</decision>
<decision id="beverages" name="Beverages">
<!-- ... -->
</decision>
</definitions>
Имя графа требований к решениям (DRG)

Имя описывает DRG. Оно задаётся в атрибуте name элемента definitions.
<definitions xmlns="https://www.omg.org/spec/DMN/20191111/MODEL/"
id="dinnerDecisions"
name="Dinner Decisions"
namespace="http://camunda.org/schema/1.0/dmn">
<!-- ... -->
</definitions>
Идентификатор графа требований к решениям (DRG)

Идентификатор — это технический идентификатор DRG. Он задаётся в атрибуте id элемента definitions.
Каждый DRG должен иметь уникальный идентификатор при развёртывании в Camunda 7.
Движок использует этот идентификатор в качестве ключа определения требований к решениям развёрнутого
DecisionRequirementsDefinition.
<definitions xmlns="https://www.omg.org/spec/DMN/20191111/MODEL/"
id="dinnerDecisions"
name="Dinner Decisions"
namespace="http://camunda.org/schema/1.0/dmn">
<!-- ... -->
</definitions>
Решение

Граф требований к решениям может содержать одно или несколько решений. Решение имеет имя, которое отображается на DRD, и идентификатор. Логика решения внутри решения должна быть либо таблицей решений, либо литеральным выражением решения.
Решение представлено элементом decision внутри XML-элемента definitions.
<definitions xmlns="https://www.omg.org/spec/DMN/20191111/MODEL/" id="dish" name="Desired Dish" namespace="party">
<decision id="beverages" name="Beverages">
<decisionTable id="decisionTable">
<!-- ... -->
</decisionTable>
</decision>
</definitions>
Требуемые решения

Решение может иметь одно или несколько требуемых решений, от которых оно зависит.
Требуемое решение представлено элементом requiredDecision внутри XML-элемента informationRequirement.
Оно имеет атрибут href, значение которого начинается с #, за которым следует идентификатор решения требуемого решения.
<decision id="beverages" name="Beverages">
<informationRequirement>
<requiredDecision href="#dish" />
</informationRequirement>
<!-- ... -->
</decision>
Входные данные

Входные данные обозначают информацию, используемую в качестве входных данных одним или несколькими решениями.
Они представлены элементом inputData внутри элемента definitions.
<definitions xmlns="https://www.omg.org/spec/DMN/20191111/MODEL/" id="dinnerDecisions" name="Dinner Decisions" namespace="http://camunda.org/schema/1.0/dmn">
<inputData id="guestsWithChildren" name="Guests with children?" />
<decision id="beverages" name="Beverages">
<informationRequirement>
<requiredInput href="#guestsWithChildren" />
</informationRequirement>
<!-- ... -->
</definitions>
Обратите внимание, что входные данные не имеют семантики выполнения и игнорируются движком DMN OpenBPM.
Источник знаний

Источник знаний обозначает авторитетный источник для решения.
Он представлен элементом knowledgeSource внутри элемента definitions.
<definitions xmlns="https://www.omg.org/spec/DMN/20191111/MODEL/" id="dinnerDecisions" name="Dinner Decisions" namespace="http://camunda.org/schema/1.0/dmn">
<knowledgeSource id="cookbook" name="Men's Cookbook" />
<decision id="dish" name="Dish">
<authorityRequirement>
<requiredDecision href="#cookbook" />
</authorityRequirement>
<!-- ... -->
</definitions>
Обратите внимание, что источник знаний не имеет семантики выполнения и игнорируется движком DMN OpenBPM.
Лицензия и атрибуция
Эта документация была создана на базе материала "Camunda 7 Docs" от Camunda, находится под лицензией Creative Commons Attribution-ShareAlike 3.0 Unported License .
Оригинал документации: https://docs.camunda.org