1. BPM. Неделя 3 Mathias Weske – openHPI course on Business Process Modeling and Analysis – 2013
Перевод и адаптация на русский язык Дмитрий Оськин кафедра ЭИ БГЭУ
Анализ поведения процессов
2. Анализ поведения процессов
3.1. Поведение процессов
3.2. Бездефектность структуры процесса
3.3. Разъяснение бездефектности
3.4. Симуляция процесса
4. Поведение процесса
Поведение модели процесса может быть охарактеризовано, как
набор всех возможных последовательностей выполнения действий
по процессу
● Рассмотрим следы, остающиеся в результате возникновения событий
и выполненных действий
● В результате получим семантику следа (trace semantic)
5. Поведение процесса
Примеры следов:
- claim received, register claim, decide on claim coverage, prepare letter of
approval, claim approved
- claim received, register claim, decide on claim coverage, prepare letter of
rejection, claim rejected
6. Поведение процесса
При анализе поведения процесса не
учитывается в каком состоянии находится
экземпляр действия процесса.
Это обусловлено тем, что мы интересуемся
логическим порядком действий, а не самим
действием
7. Поведение процесса
В процессах, с произвольным порядком выполнения параллельных
действий, существует допустимое множество следов.
Например:
- iABDCEFo, iABCDEFo, iADEBCFo, …
- за iA всегда следует набор любой порядок действий B,C,D,E, при котором действие В
возникает раньше С, а действие D раньше Е, за которыми следуют действия FO
8. Поведение процесса
● Цикл порождает след произвольной длины
Например
Одна итерация цикла: iABDCEFADEBCFGo, …
Две итерации цикла: iABDCEFADEBCFADEBCFGo, …
И т.д.
10. Критерии бездефектности
● Бездефектность является общим
критерием правильности модели и
определяется при помощи сетей Петри
Методику разработал Wil van der Aalst
В рамках курса адаптируем бездефектность к уровню BPMN
11. Бездефектность структуры процесса
Бездефектность предполагает, что структура процесса не содержит
дефектов.
Модель процесса является бездефектной по структуре, если:
- существует лишь одно событие начала i (для „входа“ процесса),
- существует лишь одно событие завершения o (для „выхода“ процесса),
- каждый узел в модели процесса находится на пути от i до o
Бездефектность структуры модели процесса является необходимым,
но не достаточным условием для бездефектности
- Если структура не бездефектна, то модель не бездефектна.
13. Бездефектность структуры процесса
Модели процесса со множеством событий завершения не бездефектны по
структуре
Такие модели не могут быть бездефектными, даже если в процессе не
проявляются поведенческие аномалии
Поэтому такие модели трансформируют в бездефектные
14. Бездефектность структуры процесса
Перед началом формального анализа:
● удаляются маркеры, информация и вовлеченные в модель процесса роли
● лишь после этого модель трансформируют в бездефектную по структуре
Допущение:
● Все события завершения в данной модели эксклюзивные, т.е. нет следов для которых
возможно несколько завершающих событий.
Если это допущение не учтено, то трансформация будет выполнена с ошибками
15. Бездефектность структуры процесса
Модель процесса с эксклюзивными событиями завершения
трансформируется в бездефектную посредством:
- удалением событий завершения
- введением XOR шлюза слияния
- добавлением нового события завершения
16. Бездефектность структуры процесса
Примечание
Разные события завершения теперь не заданы в явной форме
Это хорошо лишь до тех пор, пока модель используется для нужд анализа
18. Бездефектность структуры процесса
В этом случае модель трансформируется в бездефектную следующим
образом:
- Добавляется XOR разделитель
- Далее разделитель соединяют со всеми событиями начала процесса, которые преобразуются
в промежуточные события
19. Бездефектность структуры процесса
Перечисленные на предыдущих слайдах операции
преобразуют модель в бездефектную по структуре
Примечания:
- Такие преобразования служат лишь для проверки структурной бездефектности процесса
- Подобные модели не удобны для практического использования.
21. Разъяснение бездефектности
● Допустим, что модель бездефектна по структуре.
● Бездефектность:
(1) Если процесс запущен, то он должен достичь точки o завершения процесса,
не зависимо от решений, принимаемых по ходу процесса.
(2) Если и когда процесс достиг точки о, то он должен быть полностью завершен, т.е. с
этого момента не должно выполняться никаких действий
(3) Каждое действие участвует, как минимум в одном выполнении процесса (след
процесса)
● Примечание
○ Бездефектность это основной критерий корректности модели, как нормализованное
состояние базы данных
○ Бездефектность позволяет удостовериться, что все экземпляры процесса ведут себя
корректно
22. Свойства бездефектности
Свойства (1), (2) и (3) на примере
Формально, процесс находится в ситуации взаимной блокировки (deadlock), после того как
достигнет точки о.
Однако, такое поведение задано намерено, так что ничего не нарушает бездефектность
23. Не бездефектное поведение процесса
Такое поведение можно определить, выявив противоречие в одном
из свойств бездефектности
● Противоречие (1)
Процесс застревает и не может достичь конечной точки o
Deadlock
● Противоречие (2)
Остаются не завершенные действия, после достижения точки о
Livelock
● Противоречие (3)
Есть действия, которые никогда не выполняются
Dead activities
24. Противоречие (1) Deadlock
После того как принимается решение “invalid amount” процесс может
находиться в состоянии взаимной блокировки (deadlock)
Нарушается свойство (1)
25. Противоречие (2) Livelock
Процесс продолжается бесконечно, даже после достижения точки о
Процесс зацикливается (livelock), если структура построена таким образом, что провоцирует
создание бесконечного числа работ
26. Противоречие (2). Не завершенное
действие
Если процесс достиг точки о, а действие еще продолжается
Противоречие (3) на практике встречается достаточно редко.
27. Как создать бездефектный процесс.
Используйте только структурно выверенные модели
● Каждый шлюз имеет один разделитель и один соединитель одного
типа
● Цикл не должен блокировать структуру
Однако такой подход может привести к усложнению структуры
модели
Поэтому лучше всего использовать специализированное ПО с
возможностью проверки бездефектности
29. Симуляция процесса
Пошаговая симуляция
● Понимание поведения процесса (качественная оценка)
Симуляция одного экземпляра
● Количественная оценка одного экземпляра
● назначение ресурсов и дополнительных свойств для конкретного
экземпляра
Симуляция множества экземпляров
● Параллельный запуск множества экземпляров для получения
информации о времени и стоимости выполнения экземпляров
● Детальное представление о требуемых ресурсах
30. Пошаговая симуляция
Применение
● Используется при разработке модели, для общего понимания поведения модели
● Перемещение по модели шаг за шагом
Техническая реализация
● Симуляция осуществляется человеком с применением специальных тех. средств
● Тех. средства рассчитывают зависимости действий и запускают переходы состояний
В процессе симуляции пользователь запускает переходы состояний
действий от ready до terminate, а также выборку условий
31. Пошаговая симуляция
Пользователь запускает переход действия “register calm” из состояния
“ready” в состояние “terminated” для экземпляра модели
33. Количественная симуляция
Количественная симуляция позволяет оценить производительность
процесса до его внедрения
● Как долго выполняется экземпляр процесса?
● Сколько стоит один экземпляр процесса?
Для экземпляра требуется дополнительная информация по времени
исполнения и цене управляющих действий
34. Симуляция процесса “ страховая
выплата”
Сравнить стоимость и время выполнения на одобрение/ отказ страховой выплаты
Дано:
● Время на действия по процессу:
○ регистрация заявки: 5 min
○ решение по страховке: 15 min
○ подготовка письма с одобрением: 8 min
○ подготовка письма отказа: 15 min
● Затраты
○ З/п персонала: 40 € ⁄ час, отправка одного письма: 1.5 €
35. Симуляция одного экземпляра
Время и затраты на подготовку положительного ответа
Калькуляция затрат:
регистрация заявки: 5 min ∙ 40 € ⁄ 60 min = 3.33 €
решение на покрытие страховки: 15 min ∙ 40 € ⁄ 60 min = 10 €
подготовка письма: 8 min ∙ 40 € ⁄ 60 min = 5.33 € + 1.5 €
36. Симуляция одного экземпляра
Время и затраты на подготовку отрицательного ответа
Калькуляция затрат:
регистрация заявки: 5 min ∙ 40 € ⁄ 60 min = 3.33 €
решение на покрытие страховки: 15 min ∙ 40 € ⁄ 60 min = 10 €
подготовка письма: 15 min ∙ 40 € ⁄ 60 min = 10 € + 1.5 €
37. Множество экземпляров
● Для выявление дополнительной информации следует проводить симуляцию с
множеством экземпляров процесса
○ Частота возникновения(arrival times)
○ Доступные ресурсы
■ Организационные структуры, например число работников
■ Время занятости работников
○ Симуляция начала и завершения
■ Количество случаев
■ Временные интервалы
При симуляции запускается множество экземпляров, агрегируются издержки и
производственные показатели. Можно выявить узкие места, перегруженные и недогруженные
участки процесса