Моделирование процесса, экземпляры которого отличаются набором операций, при помощи ветвлений и слияний типа "ИЛИ" и "Исключающее ИЛИ"

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

Ветвление и слияние типа "ИЛИ"

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

Ветвление и слияние типа "Исключающее ИЛИ"

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

Моделирование в нотации Процесс/Процедура

Ветвление и слияние типа "ИЛИ"

В нотации Процесс/Процедура ветвление и слияние типа "ИЛИ" не предусмотрены.

Ветвление и слияние типа "Исключающее ИЛИ"

При моделировании ветвления типа "Исключающее ИЛИ" в качестве точки ветвления используется фигура "Решение", у которой есть исходящие стрелки "Связь предшествования". В качестве точки слияния выступает фигура операции или фигура "Решение", у которой есть входящие стрелки "Связь предшествования", которые ранее вышли из одной фигуры "Решение" (Рис.1).


Рисунок 1. Моделирование ветвления и слияния типа "Исключающее ИЛИ" на диаграмме процесса в нотации Процесс/Процедура


Моделирование в нотации ЕРС

Ветвление и слияние типа "ИЛИ"

Для моделирования ветвления и слияния типа "ИЛИ" в нотации ЕРС используется оператор (Рис.2).


Рисунок 2. Моделирование ветвления и слияния типа "ИЛИ" на диаграмме процесса в нотации EPC


Время синхронизации задается для оператора "ИЛИ".


Пример использования параметра "время синхронизации"

В качестве примера рассмотрим процесс "Обслуживание клиента", диаграмма которого приведена на Рис.3.


Рисунок 3. Диаграмма процесса «Обслуживание клиента»


По условиям примера клиент может обратиться в компанию для приобретения либо продукта А, либо продукта Б, либо для приобретения обоих продуктов. После выяснения информации о заказе клиента сотрудники компании изготавливают один или оба продукта и отправляют заказ клиенту. Изготовление каждого продукта занимает разное время. Поэтому если клиенту необходимы оба продукта, то изготовленные продукты могут быть отправлены клиенту либо оба сразу, либо по отдельности по мере изготовления каждого.

Возможна ситуация, когда один из продуктов уже изготовлен, а до окончания изготовления второго продукта осталось не более 8 часов. В этом случае целесообразно подождать изготовления второго продукта и отправить весь заказ клиенту сразу.

Для моделирования данной ситуации для оператора слияния "ИЛИ" необходимо задать время синхронизации (Рис.4).


Рисунок 4. Задание времени синхронизации для оператора слияния OR


В результате, в случае, если компания будет изготавливать для клиента оба продукта, возможны 2 ситуации:

  • Отправка клиенту продуктов будет осуществлена 1 раз, если разность между временем окончания изготовления каждого из продуктов составит не более 8 часов.
  • Каждый продукт будет отправлен клиенту отдельно, если разность между временем окончания изготовления каждого из продуктов составит 8 часов и более.

Ветвление и слияние типа "Исключающее ИЛИ"

Для моделирования ветвления и слияния типа "Исключающее ИЛИ" в нотации ЕРС используется оператор (Рис.5)


Рисунок 5. Моделирование ветвления типа "Исключающее ИЛИ" на диаграмме процесса в нотации ЕРС


Моделирование в нотации BPMN

Ветвление и слияние типа "ИЛИ"

Для моделирования ветвления и слияния типа "ИЛИ" в нотации BPMN используются Неэксклюзивный и Комплексный шлюзы (Рис.6-7). Точка ветвления может быть также представлена в виде фигуры операции, у которой есть исходящие стрелки типа «Условный поток управления» (Рис.8). Время синхронизации задается для Неэксклюзивного или Комплексного шлюзов, отображающих точку слияния.


Рисунок 6. Моделирование ветвления и слияния типа "ИЛИ" с использованием Неэксклюзивного шлюза


Рисунок 7. Моделирование ветвления и слияния типа "ИЛИ" с использованием Комплексного шлюза


Рисунок 8. Моделирование ветвления типа "ИЛИ" при помощи стрелок типа "Условный поток управления" и слияния типа "ИЛИ" при помощи Неэксклюзивного шлюза


После выполнения экземпляра имитирующей операции "Процесс 1" дальнейшее построение экземпляра имитирующего процесса может продолжиться в соответствии с любой ветвью, для которой окажется верным условие, заданное в Окне свойств стрелки, исходящей из шлюза (Рис.6-7), или в Окне свойств стрелки типа "Условный поток управления", исходящей из фигуры операции (Рис.8).

Например, для Рис.6:
- если верно Условие 1, то будет создан экземпляр имитирующей операции "Процесс 3";
- если верно Условие 2, то будет создан экземпляр имитирующей операции "Процесс 4";
- если ни Условие 1, ни Условие 2 не верны, то будет создан экземпляр имитирующей операции "Процесс 2".

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

Ветвление и слияние типа "Исключающее ИЛИ"

Для моделирования ветвления типа "Исключающее ИЛИ" в нотации BPMN используются Эксклюзивный шлюз и Эксклюзивный шлюз по событиям . Для моделирования слияния типа «Исключающее ИЛИ» в нотации BPMN используются Эксклюзивный шлюз (Рис.9). Также смоделировать слияние типа «Исключающее ИЛИ» можно, если не добавлять шлюз слияния на диаграмму (Рис.10).


Рисунок 9. Использование Эксклюзивного шлюза для моделирования ветвления и слияния типа "Исключающее ИЛИ" в нотации BPMN
Рисунок 10. Использование Эксклюзивного шлюза по событиям и отсутствия шлюза слияния для моделирования ветвления и слияния типа "Исключающее ИЛИ" в нотации BPMN


На Рис.9 после выполнения экземпляра имитирующей операции "Процесс 1" дальнейшее построение экземпляра имитирующего процесса может продолжиться только в соответствии с одной ветвью, для которой окажется верным условие, заданное в Окне свойств стрелки, исходящей из шлюза:
- если верно Условие 1, то будет создан экземпляр имитирующей операции "Процесс 3";
- если верно Условие 2, то будет создан экземпляр имитирующей операции "Процесс 4";
- если ни Условие 1, ни Условие 2 не верны, то будет создан экземпляр имитирующей операции "Процесс 2".

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

На Рис.10 после выполнения экземпляра имитирующей операции "Процесс 1" дальнейшее построение экземпляра имитирующего процесса может продолжиться только в соответствии с одной ветвью, экземпляр имитирующего события которой возникнет первым:
- если первым возник экземпляр имитирующего события "Событие 1", то будет создан экземпляр имитирующей операции "Процесс 2";
- если первым возник экземпляр имитирующего события "Событие 2", то будет создан экземпляр имитирующей операции "Процесс 3".


Внимание!

После Эксклюзивного шлюза по событиям нотация BPMN также позволяет отображать фигуру операции, например, «Получение сообщений», которая выступает аналогом фигуры события с триггером «Сообщение" (Рис.11). Однако поскольку для модели операции нет возможности задать логические условия возникновения, с точки зрения имитации, такая диаграмма считается некорректной.


Рисунок 11. Диаграмма некорректного (с точки зрения имитации) использования Эксклюзивного шлюза по событиям
Актуальные новости, публикации и практики для бизнес-архитекторов и аналитиков
Driven by DokuWiki