Фёдоров И.Г.
Московский государственный университет экономики, статистики и информатики (МЭСИ), Москва, кандидат технических наук, профессор IFedorov@mesi.ru
Метод выявления ошибок в модели бизнес-процесса с использованием сетей Петри
КЛЮЧЕВЫЕ СЛОВА:
Верификация бизнес-процессов, сети Петри, BPMN, BPMS.
АННОТАЦИЯ:
Исполняемые модели бизнес-процессов, как и программы, нуждаются в доказательстве бездефектного завершения. Существующие сегодня критерии не позволяют проводить анализ произвольной сети математическими методами. В работе переопределяются критерии бездефектного завершения, которые могут быть вычислены математическими методами. Т.о., предлагаемый метод формальной верификация исполняемой модели бизнес-процесса сетями Петри м.б. использован для автоматической проверки бездефектности средствами BPMS.
Введение
Исполняемая модель бизнес-процесса, как и программа, нуждается в доказательстве бездефектного завершения. Единожды стартовав, процесс должен завершиться за конечное число шагов, для этого - не содержать ловушек и бесконечных циклов. Вопросы анализа бездефектного завершения является очень актуальным, поскольку сложность моделей постоянно возрастает, а встроенные в среду моделирования средства проверки пока являются далеко не совершенными. Основная нагрузка по отладке модели ложится на плечи аналитика, который не имеет достаточной математической подготовки, что бы анализировать процесс инженерными методами [1].
Большое число работ, посвященных анализу бездефектного завершения бизнес-процесса, выполнены в техническом университете Эйндховена (Ти/е) [2], [3], [4], [5], [6]. Все они используют подход, основанный на отображении бизнес-процесса в сети Петри (СП) с целью дальнейшего его анализа формальными математическими методами. Базовые концепции этих работ формировались в период, когда на рынке доминировали системы управления потоком работ. Сейчас большую популярность приобрели системы управления бизнес-процессами. В следствие некоторых отличий этих систем, критерии бездефектного завершения нуждаются в уточнении.
Данная работа ставит перед собой задачи: уточнить критерий
бездефектности модели бизнес-процесса в нотации BPMN, найти формальный метод доказательства ее завершаемости. Рассматриваются модели, имеющие несколько входов, все они являются альтернативными, и выходов, они также альтернативные, причем одно инициирующее стартовое событие создает ровно один отклик на его выходе.
Сети Петри потоков работ
Для моделирования систем потоков работ в TU/e был выделен специальный подкласс - сети Петри потоков работ (СППР) [5], обладающий следующими свойствами. Сеть содержит единственную начальную позицию, называемую исток, не имеющую входных дуг, и одну конечную позицию, называемую сток, она не имеет выходных дуг. Сеть является связной - если произвольная позиция достижима из истока, то существует последовательность срабатываний переходов, переводящих маркер из этой позиции в сток. В начале, ни одна из позиций сети не содержит маркеров. Исполнение начинается, когда маркер помещается в начальную позицию и завершается, когда он достигает конечной.
В СППР маркер обычно ассоциируется с экземпляром обрабатываемого задания - материальным объектом или информационной сущностью. Считается, что статус исполнения определяется положением маркера в сети, а изменение объекта в результате обработки не анализируется. Переход ассоциируется с работой, событием или перемещением, он изменяет состояние системы путем передвижения маркера из позиции в позицию. Позиция пассивна, она не изменяет и не перемещает маркер, только сохраняет его между переходами.
Критерием бездефектности СП принято считать свойства ее живости и безо-пасность. Первое свойство говорит об отсутствии тупиков, второе позволяет моделировать двоичный триггер. Проверка указанных свойств осуществляется путем построения дерева достижимости.
Анализ применимости СППР для моделирования процессов в нотации BPMN
Авторы СППР рассматривают модели с одним входом и одним выходом. Проверим, насколько СППР применима для анализа бизнес-процессов в нотации BPMN?
3.СППР имеет единственную начальную позицию-исток. Нотация BPMN допускает много стартовых событий на одной модели, но рекомендует, что бы они были альтернативными.
4.Сеть «начинает работать» когда во входную позицию помещается маркер. К сожалению, это правило не определяет, что произойдет, если в уже работающую сеть в начальную позицию будет помещен еще один маркер. Может возникнуть коллизия, когда два маркера будут двигаться по сети один за другим.
5.СППР имеет единственную конечную позицию сток. Нотация BPMN допускает много завершающих событий на одной модели, но рекомендует, что бы они были альтернативными.
6.В качестве критерия отсутствия тупиков авторы предлагают анализировать свойство живости и безопасности. Однако известно, что СП, содержащая исток и сток не является безопасной и живой [7]. Видимо поэтому, авторы добавляют в модель т.н. замыкающий маршрут, направленный от стока к истоку [4]. Однако сущность этого дополнительного маршрута остается неясной.
7.Когда маркер достигнет стока, в остальных позициях сети не останется других маркеров. Рассмотрим коллизию, связанную с генерацией маркеров (см. Рисунок 3). Поток управления вначале разветвляется на узле «И», при этом, один маркер создает потоки в двух параллельных ветвях. Затем ветви объединяются на узле «ИЛИ», который пропускает далее маркеры из обеих параллельных ветвей. Возникает коллизия, один входной маркер порождает несколько выходных. При этом свойство безопасности не нарушается, после объединения ветвей, маркеры могут продвигаться вперед, так что в любой момент времени маркеры, поступившие из параллельных ветвей, окажутся в разных позициях. Когда первый достигнет стока условие завершения не будет выполнено.
Р1
ЧЧ-ЗЧЧ-З
ТЗ Т4
12
Рисунок 1. Процессный паттерн СР10
8.В качестве рекомендации по разработке бездефектной модели авторы предлагают т.н. хорошо структурированные схемы, где операторы ветвления и слияния «И» используются только попарно. Действительно, такая конструкция гарантирует бездефектность. На момент создания анализируемых критериев большинство систем управления потоками работ позволяли создавать только хорошо структурированные модели процессов [3]. Тем самым, их создатели намеренно ограничивали изобразительные возможности и мощность моделирования, однако защищали аналитиков от возможных ошибок.
9.С принятием в качестве стандарта моделирования BPMN 2.0 [8] ситуация кардинально изменилась. Нотация позволяет моделировать схемы, которые не соответствуют критерию хорошей структурированности. Хотя мощность моделирования возросла, аналитик оказался один на один с проблемой обеспечения бездефектности полученной модели.
10.Авторы не различают переходы СП, которые отображают операции процесса и переходы, которые отображают логические операторы, допускают объединять их в один переход на схеме СППР. Это делается, что бы упростить полученную модель. Мы будем отдельно изображать переходы, которые соответствуют операциям процесса и те, которые соответствуют логическим операторам [9]. Впоследствии,
воспользовавшись правилами редукции СП, которые сохраняют структурные свойства, мы позднее удалим «лишние» узлы.
Обоснование выбора способа анализа процесса СП
Различают поведенческие и структурные свойства СП [7]. Свойство называют поведенческим, если оно справедливо для определенной начальной маркировки сети, это же свойство называют структурным, если оно справедливо для любой допустимой маркировки. Структурное свойство является более строгим, чем поведенческое, поскольку справедливо для всех допустимых маркировок.
В большинстве работ Ти/е предполагается анализ поведенческих свойств модели. Например, обсуждавшиеся выше критерии бездефектной завершаемости - свойства живости и безопасности, являются поведенческими. Это накладывает на способы отображения исходного процесса в СП требование поведенческой эквивалентности. В работе [6] анализируются сложности, возникающие при таком отображении, некоторые проблемы еще не разрешены. Анализ проводится методом построения дерева достижимости. Авторы сообщают, что при числе узлов, равном двадцати, возникают проблемы с производительностью вычислителя.
Однако возникает вопрос о целесообразности поведенческого моделирования процесса в нотации BPMN с помощью СП. Во-первых, СППР не моделирует данные, т.ч. нельзя определить направление, по которому логический оператор маршрутизирует поток управления. Это не позволяет анализировать поведение отдельного экземпляра процесса. Во-вторых, системы BPMS позволяют проводить имитационное испытание процесса непосредственно в среде моделирования, причем с учетом поведение процесса при любых сочетаниях данных.
Вместе с тем, доказав структурное свойство процесса, мы сможем утвер-ждать, что оно выполняется при любых сочетаниях данных. Отказавшись от необходимости обеспечить поведенческую эквивалентность СП и бизнес-процесса, мы существенно упростим их взаимное отображение. Мы сосредоточимся на анализе структурных свойств модели бизнес-процесса.
Анализ свойств модели бизнес-процесса
Рассмотрим набор свойств бизнес-процесса, которые мы положим в основу уточненных критериев доказательства бездефектности. Во-первых, модель не должна иметь тупиков, для этого соответствующая СП должна быть живой и сильно связной.
Во-вторых, докажем важное свойство бизнес-процессов - одно инициирующее стартовое событие создает ровно один отклик на его выходе. Будем иметь в виду, каждый результат на выходе бизнес-процесса д.б. индивидуально идентифицируем, так что бы было возможно посчитать результативность процесса за определенный интервал времени [10]. Если предположить, что одно входное воздействие может сгенерировать
несколько выходных, то следует допустить, что их число может оказаться неисчислимо большим. Но это противоречит требованию счетности результата. Конечно, можно представить модель, которая на одно входное воздействие будет генерировать выходной сигнал с определенной периодичностью, однако вряд ли это задача моделирования бизнес-процесса, скорее вопрос программирования конечного автомата.
Сети Петри для моделирования бизнес-процессов
Переопределим сеть Петри бизнес-процессов (СПБП), уточним критерии бездефектной завершаемости. Процесс в нотации BPMN начинается со стартового события, которое трактуется как работа, инициирующая экземпляр процесса. В СП работе ставится в соответствие переход, назовем его стартовым и обозначим Завершающее событие процесса мы будем так же трактовать как работу, она возвращает в вызывающий процесс статус завершения текущего, обозначим его tз. От завершающего перехода в сторону стартового направлена «замыкающая дуга», она проходит через специальную позицию, назовем ее Р0. Смысл замыкающей дуги в следующем. В начальной маркировке позиция Р0 единственная, которая содержит маркер, в этот момент стартовый переход Ъ является подготовленным, так что его срабатывание инициирует процесс. В результате срабатывания маркер покинет позицию Р0, вход окажется заблокирован от нового старта. Если исполнение процесса завершается бездефектно, то после срабатывания завершающего перехода tз маркер снова помещается в позицию Р0. Вход будет разблокирован (см. Рисунок 2-А).
А) Б)
Рисунок2. СП для моделирования бизнес-процессов
В результате выполнения процесса маркер возвращается в домашнюю позицию Р0. Это свойство называется реверсивностью сети. После того, как сеть завершит работу и маркер достигнет позиция Р0, в остальных позициях не должно оставаться других маркеров. Для этого сеть должна обладать свойством сохранения относительно вектора взвешивания. Таким образом, что бы процесс оказался вполне завершаемым, он должен удовлетворять структурным свойствам реверсивности и сохранения.
Настало время расширить наше определение. Нотация BPMN допускает несколько стартовых событий, они д.б. альтернативными [11].
СПБП может иметь несколько стартовых переходов, назовем из tсi, где 1 есть число событий. Все стартовые события tсi, связаны замыкающими дугами с позицией Р0 и являются альтернативными. Событие, произошедшее первым, инициирует экземпляр процесса и, тем самым, заблокирует остальные входы. Если произойдет другое запланированное событие, то оно не окажет влияния на работающий экземпляр, но может породить другую копию процесса (см. Рисунок 2-Б).
Модель процесса в нотации BPMN использует завершающее событие, что бы проинформировать родительский процесс о результате своего завершения потомка. Статусы завершения альтернативны, так что в случае успешного завершения произойдет возврат в вызывающий процесс, а в случае отказа - обработка ошибочной ситуации. Таким образом, СПБП может иметь несколько альтернативных завершающих переходов tзj, где ] равно числу альтернатив. Все они связанны замыкающими дугами с позицией Р0.
Проверка бездефектной завершаемости СПБП
Анализ бездефектной завершаемости процесса будем проводить путем проверки его структурных свойств с использованием фундаментального уравнения СП [7]. Напомним, что матрица инцидентности А = [а ц] есть прямоугольная матрица размером (п хт) причем каждая строка соответствует одному из переходов, а каждый столбец - одной из позиций. Содержимое любой ячейки матрицы равно разнице между суммой всех дуг, входящих в данную позицию из соответствующего перехода, и суммой всех выходящих дуг, направленных в сторону того же перехода. Р-инвариант - это вектор-строка, ее размер равен числу позиций {п} в анализируемой сети Петри. Если существует неотрицательный Р-инвариант, такой что его произведение на матрицу инцидентности равно 0, то соответствующая СП является сохраняющей, а найденный Р-инвариант и есть искомый вектор взвешивания. Т-инвариант - это вектор-столбец, его размер равен числу строк {т} в анализируемой сети Петри. Если существует неотрицательный Т-инвариант, такой что его произведение на матрицу инцидентности равно 0, то сеть обладает свойством реверсивности. Найденный Т-инвариант есть вектор числа срабатываний, возвращающий сеть в начальное состояние. Таким образом, анализ свойств сети сводится к построению матрицы инцидентности и поиску Р- и Т-инвариантов.
Покажем, что предлагаемые критерии бездефектности эквивалентны исходным, определенным в Ти/е . Согласно теореме о рангах матрицы инцидентности, существование неотрицательных инвариантов является необходимым, но не является достаточным [12] условием живости и безопасности. Необходимо проверить, что ранг матрицы инцидентности равен числу кластеров минус один. Кластер - это объединение переходов и позиций одной сети Петри, такое, что каждый переход группируется со своими входными позициями, а если какая-либо позиция является входной
для нескольких переходов, то эти переходы со своими входными позициями включаются в тот же кластер.
Исходная сеть является чистой, ни одна из позиций не связана ни с одним переходом одновременно входящими и исходящими дугами, это важно при составлении матрицы инцидентности. Алгоритмы вычисления инвариантов [13], вычисления ранга матрицы и нахождения ее кластеров известны и описаны в литературе. Таким образом, предлагаемый матричный метод анализа позволяет решить поставленную задачу проверки бездефектности существующих моделей процессов. Выводы:
Данная работа решает задачи: уточнить критерий бездефектности модели бизнес-процесса в нотации BPMN, найти формальный метод доказательства ее завершаемости.
Новизна работы заключается в рассмотрении моделей процессов, имеющих несколько входов, все они являются альтернативными, и выходов, они также альтернативные, причем одно инициирующее стартовое событие создает ровно один отклик на его выходе. Предлагается отказаться от моделирования поведенческих свойств бизнес-процесса и построения дерева достижимости, сконцентрировать внимание на его структурных характеристиках. Удалось переопределить сеть Петри бизнес-процесса, которая может иметь альтернативные входные и выходные позиции, что исключает коллизии при старте и завершении процесса. Сеть имеет домашнюю маркировку, которая разрешает срабатывание только одного из стартовых событий. В качестве структурных свойств, определяющих бездефектную завершаемость выбраны: реверсивность и консервативность. Для проверки свойств предлагается проконтролировать существование неотрицательных P и T-инвариантов СПБП, проверить выполнимость теоремы о рангах.
Практическая значимость результатов заключается в том, что вычислительные затраты оказываются меньшие, по сравнению с традиционным подходом. Построение дерева достижимости имеет экспоненциальную сложность в зависимости от размерности решаемой задачи, так сеть с двумя десятками элементов может иметь более 5000 допустимых маркировок [14]. Анализ структурных свойств менее трудоемок - имеет полиномиальную сложность. Поскольку алгоритмы вычисления этих свойств, можно рекомендовать встроить их в среду моделирования BPMS.
Литература:
1. Silver B. // BPMS Watch. 2006. URL: http://brsilver.com/whats-wrong-with-this-picture-part-3/
2. van der Aalst W., van Hee K., ter Hofstede A.,Sidorova N., Verbeek H., Voorhoeve M., Wynn M., "Soundness of Workflow Nets: Classification, Decidability, and Analysis," Formal Aspects of Computing, Vol. Volume 23, No. Issue 3, May 2011. pp. 333-363.
3. Kiepuszewski B., ter Hofstede A., and van der Aalst W., "Fundamentals of Control Flow in Workflows," Vol. 39, No. 3, 2002.
4. van der Aalst W., 'A class of Petri nets for modeling and analyzing business processes," Computing Science Report, Eindhoven Univ. of Technology , Vol. 95, No. 26, 1995.
5. van der Aalst W., "The application of Petri nets to workflow management," Journal of Circuits, Systems and Computers, Vol. 8, No. 1, 1998. pp. 21-66.
6. Dijkman R., Dumas M., Ouyang C., "Formal Semantics and Analysis of BPMN Process Models using Petri Nets," No. http://eprints.qut.edu.au/7115/01/7115.pdf, 2007.
7. Murata T, "Petri Nets: Properties, Analysis and Applications," Proceedings of the IEEE, , Vol. 77, No. 4, April 1989.. pp. 541-80.
8. OMG, "Business Process Model and Notation (BPMN) Version 2.0," 2012.
9. Фёдоров И., "Метод отображения исполняемой модели бизнес-процесса в сети Петри," Экономика, статистика, информатика. Вестник УМО, No. 4, Сентябрь 2013.
10. Sharp А. M.P. Workflow Modeling, Artech House Publishers. Artech House Publishers.
11. OMG. Business Process Model and Notation (BPMN) 2010. URL: http://www.omg.org/spec/BPMN/2.0
12. Desel J. Espaza J., Free Choice Petri Nets. Cambridge University Press, 1997.
13. Schmidt K. Computation of Invariants for Algebraic Petri Nets // Workshop on Concurrency, Specification and Programming (CS&P'93), Proceedings. Warsaw, Poland,. 1993. pp. 196-218.
14. Wynn M. T. and Verbeek H.M.W. and van der Aalst W M. and ter Hofstede A. H. and Edmond D., "Business Process Verification - Finally a Reality!," Business Process Management Journal, Emerald, Vol. 15, No. 1, 2007. pp. 74 - 92.