Сервис имитационного моделирования бизнес-процессов

Пример моделирования бизнес-процесса: умножение задач

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

Моделирование базовой процедуры анализа биоматериала

В качестве демонстрационного процесса возьмем упрощенную процедуру анализа биоматериала в медицинской лаборатории. Для получения результата анализа пациент должен сдать кровь, а сотрудник лаборатории провести её анализ и уведомить пациента. Смоделируем эту процедуру, разместив на модели следующие объекты модели бизнес-процесса:

Пример моделирования бизнес-процесса сбора биоматериала 1
Пример моделирования бизнес-процесса сбора биоматериала

Вариант №1: 1 клиент и 2 обязательные параллельные задачи

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

Переименуем нашу функцию анализа и добавим на модель ещё одну аналогичную функцию "Анализ крови №2", запустив их параллельно сразу после забора крови. Одна пробирка с биоматериалом помещается в один аппарат, с длительностью 1 час, а вторая пробирка во второй.

Пример моделирования бизнес-процесса сбора биоматериала 2
Пример моделирования 1 клиент и 2 параллельных задачи с правилом распределения И (AND)

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

Вариант №2: 1 клиент и 2 исключающие параллельные задачи

Теперь рассмотрим пример, когда пациенту надо сделать не два анализа, а только один из них. Изменим Правило распределения задач к потребителям функции "Забор биоматериала" на ИЛИ с вероятностью 50%. Это означает, что пациенту с одинаковой вероятностью будет сделан либо Анализ №1 либо Анализ №2.

Пример моделирования бизнес-процесса сбора биоматериала 3
Пример моделирования 1 клиент и 2 параллельных задачи с правилом распределения исключающее ИЛИ (XOR)

Вариант №3: 1 клиент и 2 неисключающие параллельные задачи

А как смоделировать вариант, когда врач может назначить проведение анализов №1 и №2 с независимой вероятностью относительно друг друга? Такое правило распределения называется неисключающее ИЛИ (OR) и не реализовано функционалом сервиса. Но реализовать дизъюнктор можно с помощью комбинации правил XOR и дополнительного объекта модели, как показано на следующем рисунке.

Пример моделирования бизнес-процесса сбора биоматериала 4
Пример моделирования 1 клиент и 2 параллельных задачи с правилом распределения неисключающее ИЛИ (OR)

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

Вариант №4: соответствие нотации EPC

Приведём эту модель, скорректированную для проведения имитационного моделирования, к нотации моделирования бизнес-процессов EPC. Для этого необходимо добавить:

Пример моделирования бизнес-процесса сбора биоматериала 5
Финальная модель процедуры анализа биоматериала в нотации EPC