Диссертация (1152223), страница 77
Текст из файла (страница 77)
Анализ всех остальных паттернов показывает, что они редуцируются в сети свободного выбора.Это даёт основание утверждать, что в общем случае диаграмма процесса в нотации BPMNотображается в СП ассиметричного выбора. Таким образом, получено подтверждение сделанного ранее, но бездоказательное наблюдения, что современные СУБП моделируются при помощи СП свободного выбора [308].p1p1t1p2t2OR joinp3t3p6t6А)AND splitp4t4p7t1p5t5OR joinAND splitp2t2OR joinOR joinp5p6t6p7t5OR joinOR joinp8p8Б)В)Рисунок 5.27 - Пример соединения логических операторовИсточник: составлено автором.Свойства СП, структурно эквивалентной модели процесса в нотации BPMNПокажем, что СП является чистой (pure), в ней не может быть самозацикливаний.
Рассмотрим четыре возможные комбинации элементов, показанные на рисунке 5.28:А)Б)В)Г)Рисунок 5.28 - Варианты самозацикливания СПИсточник: составлено автором.Позиция связана циклом с последующим переходом. Это «нереальная» для BPMN ситуация, т.к.
операция процесса не может отозвать задание, выполнение которого на данном шаге303уже завершено, а позиция пассивна и не может вернуть задание.Позиция связана циклом с предшествующим переходом. Этот вариант описывает ситуацию, когда исполнитель прервал работу над заданием, чтобы продолжить её позднее, заданиевозвращается во входную очередь. Этот сценарий является штатным для СУБП, но не моделируется на схеме BPMN, поэтому мы исключаем его из рассмотрения на модели СП.Переход связан с позицией, которая лежит не на пути от начала к концу процесса. Аналогично предыдущему случаю, работа приостановлена, задание переведено в служебное состояние. Этот сценарий так же является штатным для СУБП, но оно не моделируется на схемеBPMN, поэтому мы можем исключить его из рассмотрения на модели СП.Переход расположен не на пути от начала к концу процесса.
Эту конструкцию неправильно трактуют как исполнение операции в цикле. Разделив собственно операцию и проверкуусловия, мы превращаем зацикливание в обычный цикл, который может быть редуцирован.Сети Петри для моделирования бизнес-процессовПереопределим сеть Петри бизнес-процессов (СПБП), уточним критерии бездефектнойзавершаемости. Процесс в нотации BPMN начинается со стартового события, которое трактуется как работа, инициирующая экземпляр процесса. В СП работе ставится в соответствие переход, назовём его стартовым и обозначим tС.
Терминальное событие процесса мы будем так жетрактовать как работу, она возвращает в вызывающий процесс статус завершения текущего,обозначим его tТ . Мы ранее определили, что модель процесса в нотации BPMN может иметьнесколько стартовых и несколько терминальных переходов, причём, срабатывание одного любого из стартовых переходов tСi приведёт к срабатыванию только одного из завершающих переходов tТj. Теперь мы можем формально определить BP-сеть показанную на рисунке 5.29-А:Имеется несколько позиций-источников tСi ∈ T, таких что • tСi = 0;Имеется несколько позиций-стоков tТj ∈ P, таких что tТj• = 0;Каждая вершина v ∈ P ∪ T находится на некотором пути от одного из истоков tСi к одномуиз стоков tТj.Граф является связным, в нем нет изолированных областей, куда нельзя передать управ-ление.
В начале ни одна из позиций сети не содержит маркеров. Исполнение начинается, когдасрабатывает одно любое из стартовых событий tСi. Срабатывание двух стартовых событий, вт.ч. одновременное, следует исключить, так как система не может находиться сразу в двух состояниях одновременно. Работа процесса нормально завершается, когда срабатывает одно любое из терминальных событий tТj, после этого ни одна позиций сети больше не содержит маркеров. Если терминальный переход недостижим или в сети остаётся хотя бы один маркер или304срабатывают несколько терминальных переходов, условие нормального завершения не выполняется. BP-сеть назовем бездефектной, если:Для любого стартового перехода tСi ∈ T существует последовательность срабатываний,приводящая срабатыванию ровно одного терминального перехода tТj.
Иными словами,единожды стартовав в результате любого стартового события, процесс достигнет однойточки завершения.После срабатывания любого терминального перехода tТj в сети не остаётся позиций, вкоторых находится хотя бы один маркер;Сеть является живой (активной), в ней нет мёртвых переходов - означает, что все терми-нальные переходы являются живыми, т.е. все завершающие состояния достижимы. Сеть является ограниченной (bounded)Как известно, сеть, содержащая исток не является активной, а сеть, имеющая сток не является безопасной [304]. Поэтому мы определим расширенную BP-сеть, назовём её BP, как показано на рисунке 5.29-Б. Добавим от терминального перехода в сторону стартового т.н. «замыкающую дугу», которая проходит через специальную позицию, назовём её p0.
Смысл замыкающей дуги в следующем. В начальной маркировке позиция p0 единственная, которая содержит маркер, в этот момент стартовый переход tСi является подготовленным. Стартовое событие,произошедшее первым, инициирует экземпляр процесса. В результате срабатывания tСi маркерпокинет позицию p0, вход окажется заблокирован от нового старта. Если произойдёт другоестартовое событие, то оно не окажет влияния на работающий экземпляр. Если исполнениепроцесса завершается бездефектно, то после срабатывания завершающего перехода tТj маркерснова помещается в позицию p0.
Вход будет разблокирован. Свойство, когда в результате выполнения процесса маркер возвращается в домашнюю позицию p0. называется реверсивностьюсети. После того, как сеть завершит работу и маркер достигнет позиция p0, в остальных позициях не должно оставаться других маркеров. Для этого сеть должна обладать свойством сохранения относительно вектора взвешивания.
Таким образом, чтобы процесс оказался вполне завершаемым, он должен удовлетворять структурным свойствам реверсивности и сохранения.tC1ПРОЦЕССFINISH 1tC2ВнешниесобытияБ)ПРОЦЕССFINISH 1tC2ВнешниеFINISH 2tCitC1tT1ВнешниесобытияtTj СобытияSTARTВнешниеFINISH 2tCitT1tTj СобытияSTARTp0А)Домашняя маркировкаРисунок 5.29 - BP-сеть (А) и BP-сеть (Б)Источник: составлено автором.Модель процесса в нотации BPMN использует завершающее событие, чтобы проинфор-305мировать родительский процесс о результате своего завершения потомка. Статусы завершенияальтернативны, так что в случае успешного завершения произойдет возврат в вызывающийпроцесс, а в случае отказа — обработка ошибочной ситуации.
Таким образом, СПБП можетиметь несколько альтернативных завершающих переходов t зj, где j равно числу альтернатив.Все они связанны замыкающими дугами с позицией p0.Аналитический метод верификации исполняемой модели бизнес-процессаАнализ бездефектной завершаемости процесса будем проводить путём проверки егоструктурных свойств с использованием фундаментального уравнения СП [304]. Напомним, чтоматрица инцидентности A = [a ij] есть прямоугольная матрица размером (n ×m) причём каждаястрока соответствует одному из переходов, а каждый столбец — одной из позиций. Содержимое любой ячейки матрицы равно разнице между суммой всех дуг, входящих в данную позицию из соответствующего перехода, и суммой всех выходящих дуг, направленных в сторонутого же перехода.
P-инвариант — это вектор-строка, её размер равен числу позиций {n} в анализируемой сети Петри. Если существует неотрицательный P-инвариант, такой что его произведение на матрицу инцидентности равно 0, то соответствующая СП является сохраняющей, анайденный P-инвариант и есть искомый вектор взвешивания. T-инвариант — это векторстолбец, его размер равен числу строк {m} в анализируемой сети Петри. Если существует неотрицательный T-инвариант, такой что его произведение на матрицу инцидентности равно 0, тосеть обладает свойством реверсивности. Найденный T-инвариант есть вектор числа срабатываний, возвращающий сеть в начальное состояние.
Таким образом, анализ свойств сети сводитсяк построению матрицы инцидентности и поиску P- и T-инвариантов.Найденные ранее условия сохранения и реверсивности являются необходимым, но не являются достаточным условием нормального завершения, покажем это. Даже установив свойства реверсивности и сохранения BP-сети, мы не доказали следующего:Для каждого стартового перехода tСi ∈ T существует последовательность срабатываний, приводящая нормальному завершению процесса.
Иначе говоря, для некоторых стартовых событийможет не оказаться искомого сценария завершения процесса;Для каждого завершающего перехода может не существовать такой маркировки, при которойон может сработать, иначе говоря, некоторые терминальные состояния могут оказаться недостижимы.После срабатывания любого стартового перехода tСi на выходе сработает только один терминальный переход.Без доказательства этих условий проверка окажется неполной. Мы воспользуемся теоремой о рангах матрицы инцидентности, которая позволяет сделать важные выводы, которые306справедливы для сетей свободного выбора.