Граф требований к решениям (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