Исключающий логический оператор (исключающий гейтвей «ИЛИ») используется для моделирования альтернативных путей выполнения процесса. Этот оператор используется как для разделения потока, так и для объединения. На рисунке ниже показано два варианта отображения символа исключающего «ИЛИ»: пустой ромбовидный символ и ромбовидный символ со знаком «Х» посередине. При моделировании рекомендуется придерживаться единообразного подхода и использовать только один из вариантов этого символа.


01_bpmn_xor_gateways


Разделяющий исключающий логический оператор может содержать множество выходов, между которыми принимается решение о дальнейшем следовании управляющего потока. Условия отображаются или на связях обычным текстом, или сохраняются в атрибутах связей в виде логических выражений, которые в дальнейшем могут быть обработаны процессными движками. К примеру, в BPMS Bizagi для этого используется модуль Define Expressions, позволяющий задать условия для связей:
 

02_bpmn_bizagi_xor


Следует понимать, что логический оператор отображает только логику в процессе – в рамках логического оператора не выполняются никакие действия. Это касается всех видов логических операторов. Если требуется смоделировать действие, принимающее решение, то в этом случае моделируется исключающий логический оператор, следующий за функцией (рисунок ниже).
 

03_bpmn_xor_using


При отображении логического оператора не запрещается моделировать несколько входящих и исходящих связей, однако, отображение такой комбинации объединения и разделения должно однозначно интерпретироваться. Поэтому рекомендуется отображать два логических оператора – один для объединения, другой для разделения. Следует отметить, что эта рекомендация касается не только исключающего ИЛИ, но и других логических операторов.
 

04_bpmn_xor_recomendations


Многие диаграммы имеют вид, представленный на рисунке ниже, когда вопрос располагается на символе логического оператора, а на исходящих связях указываются варианты ответа. В стандарте BPMN приводится ряд рисунков с таким подходом к моделированию, его можно применять в отдельных случаях построения бизнес-моделей. Если текст вопроса достаточно объемный, или применяется символ со значком «Х», текст вопроса может отображаться в виде артефакта - текстовой аннотации.
 

05_bpmn_text_under_xor


Логика применения логического оператора XOR предполагает, что истинным может быть только одно условие и один выход. Так, если в приведенном на рисунке ниже случае заменить значение нижней ветки с «сумма < 100» на «сумма < 200», то в этом случае будет нарушено правило применения логического оператора, поскольку у второй снизу ветки значения будут находиться между 100 и 200.
 

06_bpmn_multi_xor


Один из выходов может быть определен как выход по умолчанию. Выход по умолчанию выбирается тогда, когда условия всех остальных выходов не являются истинными. Выход по умолчанию обозначается при помощи дополнительной косой черты на исходящей связи, на рисунке ниже приводится пример отображения пути по умолчанию:
 

07_bpmn_multy_xor2


Если исключающий оператор используется для объединения процесса (рисунок ниже), то в этом случае необходимо убедиться, что только один из входов одномоментно принимает управляющий поток. Для этого необходимо всегда использовать правило, по которому предыдущий разделяющий логический оператор должен быть такого же типа, т.е. XOR.
 

08_bpmn_merging_xor


Рассмотренный тип логического оператора выбирает выходы на основе расчета данных, поэтому он часто называется исключающий логический оператор, основанный на данных. Существует также так называемый событийный исключающий логически оператор, который мы рассмотрим в следующих статьях.
 

Более подробно о применении логических операторов и подходах к моделированию в нотации BPMN вы можете узнать на нашем тренинге Введение в стандарт BPMN 2.0

Читайте также:


Более подробно о применении методологии BPMN вы можете узнать из книги Томаса Альвеера "BPMN 2. Введение в стандарт моделирования бизнес-процессов"