Элемент процесса [Исключающее “ИЛИ” по событиям]
Логический оператор [Исключающее “ИЛИ” по событиям] используется для ветвления процесса в случае, когда альтернативные пути определяются не условными потоками, а промежуточными обрабатывающими событиями: получением различных сообщений, сигналов либо таймеров.
Это могут быть случаи, когда решение о выборе одной из альтернатив принимается вне процесса. Например, процесс подписания договора ожидает от процесса проведения переговоров сигнал о решении, которое принял клиент. При этом дальнейшие действия процесса зависят от того, каким будет это решение (Рис. 161).
Процесс пойдет по тому пути, для которого первым наступит соответствующее событие. В данном случае, если клиент ответил положительно, осуществится переход к действию “Подписать договор”, если отрицательно — то процесс завершится. В любом случае произойдет обработка только одного из ожидаемых событий — того, которое наступит раньше.
Исходящими потоками логического оператора [Исключающее “ИЛИ” по событиям] являются потоки управления. Логика срабатывания оператора определяется промежуточными событиями: [Обработка сообщения], [Обработка сигнала] либо [Обработка таймера].
При активации первого обрабатывающего события оператор перестает реагировать на остальные ожидаемые события.
Смотрите также