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


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


Рассмотрим фрагмент процесса, предоставленный на рисунке, на котором при помощи логического оператора «И» управляющий поток разделяется на три параллельных пути. Как видно из примера, проводится рассылка запроса на получение отзыва о кандидате: запрос отсылается двум предыдущим работодателям и ВУЗу. Эта рассылка осуществляется «с запасом», поскольку с одной стороны для принятия решения по кандидату требуется только два отзыва, а с другой - для экономии времени.


complexgeteway


Допустим, что для принятия какого-либо решения, нам достаточно наступления двух событий из трех. Как только поступают два отзыва, процесс продолжает выполняться. Последнее поступившее событие в расчет приниматься не будет, это значит, что соответствующий маркер процесса будет уничтожаться логическим оператором.


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


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


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