Научная статья на тему 'Алгоритм проверки ограниченности числа точек управления в экземпляре бизнес-процесса'

Алгоритм проверки ограниченности числа точек управления в экземпляре бизнес-процесса Текст научной статьи по специальности «Математика»

CC BY
189
40
i Надоели баннеры? Вы всегда можете отключить рекламу.
Журнал
Проблемы управления
ВАК
Область наук
Ключевые слова
ИСПОЛНИМЫЙ БИЗНЕС-ПРОЦЕСС / СИСТЕМЫ УПРАВЛЕНИЯ / ТОЧКА УПРАВЛЕНИЯ / НАПРАВЛЕННЫЙ ГРАФ / EXECUTABLE BUSINESS PROCESSES / BUSINESS PROCESS MANAGEMENT SYSTEMS / CONTROL FLOW / DIRECTED GRAPH

Аннотация научной статьи по математике, автор научной работы — Миронов Андрей Михайлович, Михеев Андрей Геннадьевич, Пятецкий Валерий Ефимович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Due to errors in business process development in contemporary computerized business process management systems there is a chance of unlimited growth of control flows number in business process instance that can lead to unjustified overload of computer system resources. The paper reviews the task of business process scheme analysis is in order to avoid such situation and proposes the algorithm of checking if there is a finite number of control flows.

Текст научной работы на тему «Алгоритм проверки ограниченности числа точек управления в экземпляре бизнес-процесса»

И нформационные технологии в управлении

УДК 51-7

АЛГОРИТМ ПРОВЕРКИ ОГРАНИЧЕННОСТИ ЧИСЛА ТОЧЕК УПРАВЛЕНИЯ В ЭКЗЕМПЛЯРЕ БИЗНЕС-ПРОЦЕССА

A.M. Миронов, А.Г. Михеев, В.Е. Пятецкий

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

Ключевые слова: исполнимый бизнес-процесс, системы управления, точка управления, направленный граф.

ВВЕДЕНИЕ

Процессный подход [1—4] в организации управления предприятием в настоящее время один из наиболее перспективных. В соответствии с этим подходом предполагается, что деятельность предприятия представляется в виде множества бизнес-процессов. Он реализуется системами управления бизнес-процессами (СУБП), которые раздают задания исполнителям и контролируют их выполнение.

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

1. ПРОБЛЕМА НЕОГРАНИЧЕННОГО РОСТА ЧИСЛА ТОЧЕК УПРАВЛЕНИЯ В ЭКЗЕМПЛЯРЕ БИЗНЕС-ПРОЦЕССА

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

ка», «действие», «исключающий шлюз», «параллельный шлюз».

Для бизнес-процесса можно создавать выполняющиеся экземпляры. Каждый выполняющийся экземпляр содержит граф бизнес-процесса, по которому перемещаются точки управления, представляющие собой указатели на активные узлы графа. Точки управления перемещаются только по ребрам графа и только в направлении ориентации ребра. Изначально, при создании экземпляра бизнес-процесса, активным узлом служит только узел «начало»: в него помещается единственная точка управления, которая тут же переходит по исходящему из этого узла ребру в следующий узел графа.

Узлы схемы можно разделить на два класса. К одному из них относятся узлы «действия», а к другому — все остальные узлы, которые называются маршрутными. Узлы «действия» содержат одно входящее и одно исходящее ребро. При исполнении экземпляра бизнес-процесса в компьютерной системе в момент прихода точки управления в узел «действие» определенному исполнителю направляется задание. После выполнения исполнителем задания точка управления перемещается по исходящему ребру в следующий узел графа. В маршрутных узлах происходит выбор ребра (ребер) дальнейшего движения точки (точек) управления.

Рис. 1. Обозначения узлов: а — начало; б — завершение потока; в — действие; г — исключающий шлюз; д — параллельный шлюз

Маршрутный узел соответствует появлению, удалению, разветвлению/слиянию точек управления или выбору ребра (из нескольких присоединенных к узлу ребер), по которому точка управления переместится в следующий узел.

В выполняющемся экземпляре бизнес-процесса одновременно может быть несколько точек управления. Точка управления в маршрутном узле может разделиться на несколько точек управления, точки управления также могут ждать друг друга в другом маршрутном узле и далее слиться в одну точку управления.

Определим поведение рассматриваемых в настоящей статье типов узлов, а также приведем их графические изображения в соответствии с международным стандартом ВРММ.

Узел «начало» соответствует точке начала исполнения бизнес-процесса. У него нет входящих ребер и есть только одно исходящее ребро. В момент запуска экземпляра бизнес-процесса в узел помещается точка управления, которая тут же выходит из него по исходящему ребру. В бизнес-процессе должен существовать единственный узел «начало». Обозначается «тонкой» окружностью (рис. 1, а).

Узел «завершение потока» должен иметь одно или более входящих ребер и ни одного исходящего. При попадании какой-либо точки управления в этот узел она удаляется. Экземпляр бизнес-процесса, в котором не осталось ни одной точки управления, считается завершившимся. Может су-

ществовать несколько узлов «завершение потока», но обязательно должен быть хотя бы один такой узел. Обозначается «жирной» окружностью (см. рис. 1, б).

Узел «действие» генерирует задание исполнителю, обозначается прямоугольником со скругленными углами, в центре которого пишется имя узла (рис. 1, в) и имеет одно входящее и одно исходящее ребро.

Узел «исключающий шлюз» может иметь несколько входящих и несколько исходящих ребер. Для каждой пришедшей в него точки управления выбирается, по какому из исходящих ребер она будет перемещена далее. Обозначается ромбом, в котором изображен «крестик» (рис. 1, г).

Узел «параллельный шлюз» обозначается ромбом, в котором изображен «плюс» (рис. 1, д). Может иметь несколько входящих и несколько исходящих ребер. Для каждого входящего ребра пришедшая по нему в параллельный шлюз точка управления ставится в очередь. Если для всех входящих ребер их очереди заполнены хотя бы одной точкой управления, то все точки управления, находящиеся на первой позиции очереди каждого входящего ребра, удаляются, а на каждом исходящем ребре генерируется точка управления.

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

На рис. 2 показан пример графа бизнес-процесса с быстро возрастающим числом точек управления. Во избежание такой ситуации на этапе проектирования для каждого определения бизнес-процесса устанавливается максимально возможное число точек управления в экземпляре бизнес-процесса. Если во время исполнения экземпляра оно будет превышено, то СУБП автоматически остановит выполнение данного экземпляра и даст сигнал администратору системы о возникнове-

Рис. 2. Граф с быстро возрастающим числом точек управления

нии нештатной ситуации. Однако на этапе проектирования бизнес-процесса не всегда можно оценить максимальное число точек управления в любом его экземпляре, и экземпляр бизнес-процесса может быть «неправильно» остановлен системой. Далее, если система даже «правильно» остановила экземпляр бизнес-процесса, то ситуация на предприятии после остановки экземпляра бизнес-процесса может оказаться сложной, поскольку по заданиям этого экземпляра сотрудники совершили определенные действия. Возможно, эти действия требуют обязательного выполнения каких-то других действий в строго определенные интервалы времени, и их отсутствие может привести к убыткам и другим отрицательным последствиям.

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

2. АЛГОРИТМ ПОСТРОЕНИЯ КРИТЕРИЯ

1.1. Функционирование графа

Будем располагать точки управления на ребрах непосредственно перед узлами графа. Поставим в соответствие каждому узлу Q графа, не являющемуся узлом «начало», набор всех возможных операторов вр®' т(-), которые изменяют число точек управления на входящих и выходящих из узла ребрах. Здесь т = 1, ..., Ь®, где Ь® — число возможных операторов для узла Q. Если, например, О — исключающий шлюз с одним входящим и двумя исходящими ребрами, то для него будет два оператора вр®'т(-): первый из них будет удалять точку управления на входящем ребре и помещать ее на первое исходящее ребро, а второй — удалять ее на входящем ребре и помещать ее на второе исходящее ребро.

Рассмотрим множество операторов вр®'т(-) для всех узлов графа. Оно соответствует всем возможным преобразованиям точек управления на входящих и исходящих ребрах всех узлов графа, поэтому перемещение точек управления по графу бизнес-процесса (функционирование графа) можно представить как последовательность выполнений операторов вр®'т(-).

На каждом шаге / функционирования графа определим множество узлов, которые активны на этом шаге:

— если узел О — параллельный шлюз, то он активен на шаге I, если для каждого ребра /, входя-

щего в узел О, число точек управления на нем больше нуля;

— каждый из остальных узлов активен на шаге I, если существует ребро /, входящего в узел О, для которого число точек управления на нем больше нуля.

Если узел О на шаге / активен, то на этом шаге может быть выполнен оператор вр®' т(-), в результате изменяется число точек управления на ребрах графа. Если узел О на шаге / не активен, то ни один из операторов вр®'т(-) для этого узла на шаге / выполнить нельзя, так как для его выполнения «не хватит» точек управления на входящих в него ребрах.

Поясним действие операторов вр®' т(-) для различных типов узлов.

• Если узел О является узлом-действием, то для него будет существовать единственный оператор вр®'т(-), который удаляет точку управления на входящем ребре, и добавляет точку управления на исходящем ребре.

• Если узел О — исключающий шлюз, то оператор вр®' т(-) удаляет точку управления на одном из входящих ребер и добавляет ее на одно из исходящих ребер. Число операторов будет равно числу входящих ребер, умноженному на число исходящих ребер.

• Если узел О — параллельный шлюз, то для него будет существовать единственный оператор вр®(-), который удаляет точку управления на каждом входящем ребре и добавляет ее на каждое исходящее ребро.

• Если узел О — завершение потока, то оператор вр®' т(-) удаляет точку управления на одном из входящих ребер. Число операторов будет равно числу входящих ребер.

1.2. Алгоритм анализа множеств точек управления

Пусть (/р ..., /) — список всех ребер графа бизнес-процесса, первое в нем ребро, исходящее из начального узла.

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

Для каждого шага / > 0 обозначим вектор целых неотрицательных чисел:

СР, = (СР/..... СР,(/,)). (1)

32

СОЫТВОЬ БС!ЕМСЕ8 № 1 • 2015

Нетрудно видеть, что в силу определения поведения узлов графа, для каждого i > 0 векторы CP¡ и CP¡. + 1 связаны соотношениями вида

CP¡ + ! = CP¡. + V.

(2)

Здесь знак «плюс» означает покомпонентное

сложение, и V = (V1, ..., у") целочисленный вектор,

каждая компонента V1 которого определяется тем, как было изменено соответствующее множество СР( 1 на шаге /: для каждого у = 1, ..., п

• V1 = —1, если значение СР(/) было уменьшено на единицу (с ребра была удалена точка управления);

• V1 = 1, если значение СР.( 1 было увеличено на

¡1

единицу (на ребро была добавлена точка управления);

• V1 = 0, если на шаге i значение СР(не изменилось.

Обозначим символом V совокупность всех векторов V, которые могут быть вторыми слагаемыми в правых частях соотношений вида (2), т. е. V представляет собой совокупность возможных изменений числа точек управления на ребрах графа, соответствующую применению всех операторов

вр®'т(-) для всех узлов графа.

Вследствие конечности числа узлов графа и конечности числа его ребер, число операторов вр®' т(-) тоже конечно, следовательно, совокупность V также будет состоять из конечного числа векторов.

Определим индуктивно совокупность СР векторов целых неотрицательных чисел размерности п:

- (1, 0, ..., 0) е СР;

— если и е СР, V е V и все компоненты вектора и + V неотрицательны, то и + V е СР.

Из данного определения следует, что множество СР содержит все векторы вида (1).

Таким образом, если множество СР конечно, то совокупность векторов вида (1) тоже конечна, т. е. число точек управления на ребрах графа ограничено.

Обозначим 2+ множество целых чисел, больших или равных нулю, к которому добавлен новый

элемент да. Мы будем рассматривать 2+ как линейно упорядоченное множество, в котором элемент да является наибольшим и отношение порядка на остальных элементах совпадает с отношением порядка на целых числах.

Запись 2+" означает совокупность всех векторов длины п, компоненты которых являются эле-

ментами множества 2+. Будем рассматривать 2+ как частично упорядоченное множество, порядок на котором определяется следующим образом:

(а1, ..., а") < (Ь1, ..., Ь") о а1 < Ь1, Зi, а1 < Ь\

а" < Ь"

где (а1, ..., а"), (А1, ..., Ь") е 2+", 1 < I < п.

Будем считать, что элементы множества 2+ можно складывать с числами из {—1, 0, 1}: если

а е 2+ и Ь е {—1, 0, 1}, то запись а + Ь означает:

— элемент да, если а = да;

— обычную сумму а и Ь, если а ^ да.

Будем употреблять следующее обозначение: для

каждого вектора и е 2+" и каждого i е {1, ..., п}

запись и1 означает ^ю координату вектора и.

Для анализа ограниченности множества точек управления определим проверочный граф, который обозначим СР+. Определим для графа метки узлов и ребер:

— для каждого узла Х определим в качестве метки \Х | вектор из 2+";

— для каждого ребра Е определим в качестве метки \Е \ вектор из V.

Если из узла Х графа СР+ исходит ребро в узел У, имеющее метку V, то будем обозначать этот факт

записью X -— У

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

Напомним, что узел У какого-либо графа называется достижимым из узла X, если либо X = У, либо существует путь из узла X в узел У, т. е. последовательность (е1, ..., ек) ребер этого графа такая, что из узла X выходит ребро е1, а в узел У входит ребро ек и если к > 1, то для каждого i = 1, ..., к — 1 конец ребра е; совпадает с началом ребра е} + 1. Если узел У достижим из узла X, то этот факт мы будем обозначать записью X — У.

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

Затем итеративно выполняется последовательность действий, заключающаяся в том, что к уже

построенным узлам и ребрам добавляются новые узлы и ребра. Новая итерация данной последовательности происходит, только если список ЯК не пуст, в этом случае первый узел этого списка (обозначим его символом X) исключается из списка и выполняются следующие действия.

1. Если имеется не принадлежащий списку узел Уф X такой, что \Х | = | У |, то все ребра, ведущие в узел X, перенаправляются в узел У, и узел X удаляется.

Иначе для каждого V е V такого, что X + V е в проверочный граф добавляются новый узел У с меткой \Х \ + V и ребро из узла X в узел У с меткой V и, кроме того, узел У добавляется в конец списка необработанных узлов

2. Если среди обработанных узлов существует пара У1, У2 такая, что У1 ^ У2 и \УА\ < \У2\, то у узла У2 изменяется метка. Новая метка \У2\ узла У2 определяется как

\ у2 1 =

_ [ да, если IУ А1 < IУ2У

У2 если IУ А* = 1У21

Далее соответствующие компоненты (на тех же позициях, на которых в векторе \ У2\ находятся элементы да) изменяются на да у меток всех узлов, достижимых из узла У2.

Данное действие может выполняться несколько раз до тех пор, пока среди всех пар обработанных узлов проверочного графа будут существовать пары, для которых выполняется условие, сформулированное в п. 2.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Из описания алгоритма следует, что на каждом шаге его работы количество ребер, выходящих из каждого узла, не превосходит V \.

Лемма 1. Если процесс построения графа СРж длится бесконечно долго, то граф СРт содержит бесконечный путь из начального узла такой, что все узлы, входящие в этот путь, различны.

Доказательство. Из описания алгоритма построения графа СРш следует, что каждый его узел достижим из начального узла.

Если бы граф СРш был конечным, то алгоритм его построения завершал бы свою работу после конечного числа шагов, так как после последнего добавления обработанного узла к множеству узлов графа СРш список

может только уменьшаться, и он уменьшается с каждой итерацией работы этого алгоритма.

Таким образом, граф СРш бесконечен, и каждый его узел достижим из начального узла. Обозначим этот начальный узел символом Х1. Как было отмечено, из каж-

дого узла графа СРш (в частности, из узла Х1) выходит конечное число ребер.

Обозначим записью |Ур ..., Ук} совокупность тех узлов графа СРш, которые являются концами ребер, выходящих из узла Х1 и не совпадают с ним.

Удалим из графа СРш все ребра, концами которых является Х1. Получившийся граф обозначим той же записью СРш. Нетрудно видеть, что каждый узел графа СРш, отличный от узла Х1, достижим из некоторого узла у. из упомянутой совокупности.

Для каждого I = 1, ..., к обозначим через СРш(у) подграф графа СРш, состоящий из тех узлов, которые достижимы из узла У и всех ребер, которые выходят из этих узлов.

Нетрудно видеть, что узел Х1 не входит ни в один из этих графов. Если бы все графы СРх(Х), I = 1, ..., к, были конечны, то граф СРш тоже был бы конечен, так как каждый из его узлов либо начальный, либо принадлежит объединению множеств узлов графов СРш (Х), I = 1, ..., к.

Поэтому существует узел (обозначим его Х2) графа СРш такой, что существует ребро из узла Х1 в узел Х2, и граф СРш (Х2) бесконечен и не содержит узла Х1.

Граф СРш (Х2) обладает теми же свойствами, что и исходный граф СРш: он бесконечен, и, кроме того, если считать узел Х2 начальным узлом графа СРш (Х2), то можно утверждать, что каждый узел графа СРш (Х2) достижим из начального узла этого графа, и из каждого узла графа СРш (Х2) выходит лишь конечное число ребер.

Поэтому аналогичными рассуждениями можно установить, что существует узел (обозначим его Х3), графа СРш (Х2), который не совпадает с узлом Х2 (а также с узлом Х1), такой, что существует ребро из его начального узла Х2 в узел Х3, и граф СРш (Х3) (узлами которого являются узлы графа СРш, достижимые из узла Х3), бесконечен и из каждого его узла выходит лишь конечное число ребер.

Мы можем продолжать данные рассуждения неограниченно: можно построить бесконечную последовательность различных узлов Х1, Х2, Х3, ... такую, что для каждого к > 1 существует ребро из узла Хк _ 1 в узел Хк и граф СРх(Хк) (узлами которого являются узлы графа СРш, достижимые из узла Хк) бесконечен и из каждого его узла выходит лишь конечное число ребер.

Последовательность Х1, Х2, Х3, ... является искомым бесконечным путем из начального узла графа СРш, причем этот путь состоит из различных узлов. ♦

Теорема 1. Описанный алгоритм построения графа СРт всегда завершает свою работу после конечного числа шагов.

Доказательство. Если данный алгоритм не завершает свою работу, то, согласно лемме 1, граф СРш содержит бесконечный путь из начального узла, причем

34

СОЫТВОЬ БтЕМСЕБ № 1 • 2015

этот путь состоит из различных узлов. Обозначим последовательность узлов, из которых состоит этот путь,

X, х2, хз, ...

(3)

Определим последовательность индексов г1, ¡2, ¡3, ..., обладающую свойством:

¡1 < ¡2 < ¡3 ... и 1X11 < |Х2|1 < |хгз|1 < ...

(4)

Среди элементов [|ХI1 > 1} существует наименьший элемент, обозначим индекс этого элемента через ¡1. Далее, среди элементов [|Х- |1|г > г\} существует наименьший элемент, обозначим индекс этого элемента через ¡2. Согласно определению элементов |Х11 и |Х2|1, имеет место неравенство |Хг^|1 < |Х2|1.

Продолжая этот процесс (т. е. определяя аналогичным образом элементы |Х3|1, и т. д.), получим искомую последовательность индексов ¡1 < г2 < ¡3 ..., обладающую свойством (4).

Удалим из исходной последовательности (3) члены с индексами, не принадлежащими последовательности ¡1 < ¡2 < ¡з ..., и обозначим получившуюся последовательность той же записью (3). Согласно построению, первые координаты элементов (3) образуют неубывающую последовательность.

Действуя аналогичным образом, строим подпоследовательность последовательности (3), в которой вторые координаты образуют неубывающую последовательность.

Обозначим получившуюся последовательность той же записью (3). Таким образом, в получившейся последовательности (3) уже и первые и вторые координаты образуют неубывающую последовательность.

Продолжая далее аналогичным образом, можно построить такую последовательность (3), в которой все п координат образуют неубывающую последовательность, т. е. верна цепочка неравенств

1X1 < Х21 < Х31 < ... (5)

Поскольку по предположению все векторы, входящие в исходный бесконечный путь, различные, то, следовательно, все неравенства в цепочке (5), строгие, т. е.

1X1 < Х21 < Х31 ... (6)

Кроме того, поскольку последовательность Х1, Х2, Х3, ... является подпоследовательностью исходного бесконечного пути, то

Х1 —^ Х —^ Х3 ...

Для каждого г > 1 существует такой момент построения графа СРш, на котором узлы X и X + 1 станут обработанными, и метки этих узлов не будут изменяться в последующие моменты построения графа СР .

Пусть г > 1 и метка |Х-1 имеет вид (|Х-11, ..., |Х-1"). Согласно правилам построения графа СРш, метки |Х | и |Х + 1| будут обладать свойством:

Чк е [1, ..., п} ОД* = Х + / или Х + / = ю. Поэтому для каждого к е [1, ..., п} последователь -ность |Х/, |Х2|к, |Х/ ... обладает свойством: либо все ее элементы равны друг другу, либо, начиная с некоторого номера, ее элементы равны да.

Следовательно, начиная с некоторого номера все члены последовательности |Х1|, |Х2|, |Х3|, ... равны друг другу. Но это противоречит цепочке строгих неравенств (6).

Таким образом, наше исходное предположение о том, что алгоритм построения графа СРш может не завершать свою работу, неверное. ♦

Лемма 2. Для каждого ребра X — У графа СР+ и

каждого i е {1, ..., п} \У\' = 1X1' + V1 или \У\' = да и

X1 = да ^ \У\1 =

да.

(7)

Доказательство. Лемма доказывается индукцией по построению графа СРш.

В начальный момент граф СРш не имеет ребер, поэтому утверждение леммы для него справедливо.

Если ребро Х —— У было добавлено к графу СРш в текущий момент на основании п. 1 в описании алгоритма построения графа СРш, то свойство (7) будет верно по определению метки |У |. Если в текущий момент изменяются метки начала или конца Х — У в соответствии с п. 2 в описании алгоритма построения графа СРш, то:

— если при этом изменяется метка |Х|, то, поскольку узел У достижим из узла Х, то, согласно п. 2, | У | изменяется в тех же компонентах (они заменяются на да), следовательно, свойство (7) будет верно;

— если же при этом изменяется лишь метка | У | (которая может изменяться лишь путем замены некоторых ее компонентов на да), то свойство (7) будет верно по очевидным причинам. ♦

Пусть X — произвольный узел графа. Обозначим: и(X) — множество, состоящее из всех векторов и е СР, обладающих свойством Уi е {1, ..., п}

X!1 ф да ^ и1 = \X\; для каждого целого числа к > 1 Ц(Х, к) — множество, состоящее из всех векторов и е и^), обладающих свойством:

Уi е {1, ..., п} X = да ^ и1 > к; для каждой пары и, и' векторов из множества СР запись и — и' означает, что либо и = и, либо существует последовательность V1, ..., V векторов из V такая, что

и1 + У1 е СР (и1 + Ух) + V2 е СР

(((Ц + + ^2) + ..^ - 1) е СР

(((ц + + ^2) + ... ^т) = и.

Лемма 3. Для каждого узла Xграфа СРж множество U(X) непусто, и для каждого и е U(X) и каждого к > 1 существует вектор и' е и(X, к) такой, что и ^ и'.

Доказательство. Докажем лемму индукцией по построению графа СРш. В начальный момент граф СРш содержит единственный узел Х с меткой (1, 0, ..., 0). В данном случае и(Х) = {|Х|}.

Пусть в некоторый момент построения графа СРш утверждение леммы было верно для каждого узла Х этого графа, который был добавлен до этого момента.

Докажем, что в этом случае утверждение леммы также будет верно для каждого узла этого графа после выполнения в текущий момент действий, указанных в п. 1 или 2 в описании алгоритма построения графа СРш.

1. Если в текущий момент к графу СРш был добавлен узел У в соответствии с п. 1 в описании алгоритма построения этого графа, т. е. |У | = |Х| + V, где Х обладает свойством, изложенным в формулировке леммы, и V е V, то нетрудно видеть, что

{и + Пи е и(Х)} = и(У), Ук > 1 {и + ^и е и(Х, к + 1} с и(Х, к),

откуда следует, что свойство в формулировке леммы 3 будет верно также и для узла У.

2. Пусть в текущий момент:

— среди обработанных узлов существует пара У1, У2 удовлетворяющая условию из п. 2 в описании алгоритма построения графа СРш, т. е. узел У2 достижим из узла У1

и |У1| < |У,|;

— для каждого узла У, достижимого из узла У2, его метка заменяется на метку |У|, где V/ е {1, ..., и}

|У| ' =

да, если | У;|' < | У2|', |У| если \У;\'

|У2'.

(8)

Докажем, что тогда утверждение леммы будет верно также и для новой метки | У узла У.

V V V

Пусть У1 = Х0 — Х1 — ... — Хр = У2 — путь из узла У в узел У2.

Обозначим V = V + ... + V. Из леммы 2 следует, что V/ е {1, ..., и}

|У2|'' = |У1|' + V или |У2|' = да,

|У1|'' = да ^ \У2\' = да. (9)

Из неравенства | 1 < |У2| и соотношения (9) следует, что для каждого / е {1, ..., и}:

— если |У/ < |У2|'' < да, то V = 0,

— если |У/ < |У2|'' < да, то V > 0.

По индуктивному предположению, для узла Х0 верно утверждение леммы 3. В частности, существуют вектор ио е и(Х0) и вектор и' е и(Х0, 1) такой, что ио — и'.

Поскольку отрицательные компоненты вектора V равны — 1, то из и' е и(Х0, 1) следует, что и = и' + V е СР.

Поскольку V/ е {1, ..., и} |Х|' Ф да следует, что |Х0| ' Ф да

и |Х/ = Х0|' + |' = и' + V/ = (и')'" + VI = и;, то, следовательно, и е и(Х1).

Аналогичным образом устанавливается существование векторов и2, ..., и", свойствами: V/ е {2, ..., р}

2 р

и. е и(Х); V/ е {1, ..., и} из |Х.| ' Ф да следует, что Щ_ 1|' Ф да

и Х' = Х _ 1|' + } = и/-; + / = и;.

Из приведенных соотношений следует, что введенные векторы и0 и ир обладают свойствами (напомним,

что Х0 = У и Хр = У2):

и, е и(У1), ир е 0^); и{, — и,

Обозначим символом т наибольшую из компонент вектора и0. По предположению, для узла У2 справедливо утверждение леммы 3, в частности, существует вектор и' е и( У2, т) такой, что и — и. Из этого соотношения и из того, что и0 — ир следует соотношение и0 — и.

Заметим, что и0 < и. Действительно, для каждого / е {1, ..., и}:

— если |У2|' = да то из и' е и^, т) следует, что (и')' > т, однако и' < т;

— если |У2| ' ф да, то |У1|' ф да, и так как |У1| < |У2|, то

и' = |У1| '' < |У2| ' = (и)'.

Из соотношений и0 — и' и и0 < и' следует, что существует вектор V е Zтакой, что и' = и0 + V Отсюда несложно вывести, что для каждого вектора Z е СР такого, что и0 < Д верно соотношение Z — Z + V Следовательно, для каждого к > 1 вектор и0 + kV принадлежит множеству СР, и и0 — и0 + к^

При достаточно больших значениях к:

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

— компоненты вектора и0 + кР, соответствующие таким индексам /, для которых V ' > 0, могут быть сделаны сколь угодно большими;

— компоненты вектора и0 + кР, соответствующие таким индексам /, для которых V ' = 0, при этом останутся такими же как у вектора и0.

Согласно определению новой метки | ' узла У2 (см. соотношение (8)), отсюда следует, что после замены метки узла У2 с | У2| на | ' граф с новой меткой узла У2 будет обладать свойством, изложенным в формулировке леммы 3.

Аналогичным образом устанавливается, что после замены меток согласно п. 2 у всех узлов, достижимых из узла У2, граф с новыми метками этих узлов будет обладать свойством, изложенным в формулировке леммы 3. ♦

36

СОЫТВОЬ БС!ЕМСЕ8 № 1 • 2015

Теорема 2. Для каждого I е {1, ..., п} множество СРсостоящее из 1-х координат векторов из множества СР, является неограниченным тогда и только тогда, когда существует узел X е СРт такой,

что его метка |Х|г = да.

Доказательство. Пусть узел X таков, что для некоторого индекса I е {1, ..., и} верно соотношение XI1 = да. Согласно лемме 3, множество ЩХ) непустое. Выберем произвольный вектор Щ0 е Щ(Х). По лемме 3, существует

вектор Щ1 е Щ(Х, Щ). По определению множеств вида

Щ(Х, к), имеет место неравенство > Щд. Далее, по

лемме 3, существует вектор Щ2 е Щ(Х, и[). По определению множеств вида Щ(Х, к), имеет место неравенство

> . Продолжая этот процесс неограниченно, мы получим последовательность векторов Щ0, Щ1, Щ2, ... такую,

что все элементы последовательности |Щ0|', |Щ1|', |Щ2|', ... различны, т. е. мы нашли бесконечное подмножество в множестве СР'. Таким образом, множество СР1 бесконечно.

Если же индекс I е {1, ..., и} таков, что для каждого узла X графа СРт верно неравенство XI1 *■ то из алгоритма построения графа СРх непосредственно вытекает, что имеет место равенство множеств

{Щ'|Щ е СР} = {/X/1X е СРш}. Поскольку граф СРх конечен, то множество {/X/1 IX е СРш} конечно, и, следовательно, множество

{Щ11Щ е СР} тоже конечно, что и требовалось доказать. ♦ Следовательно, критерий можно сформулировать таким образом: если ни один вектор из множества {|Х||Х е СРне содержит символа да, то число точек управления при любом варианте функционирования исходного графа будет ограничено, а если для некоторого индекса I е {1, ..., п} в графе СРж имеется узел X, такой, что |Х|г = да, то не исключен вариант функционирования исходного графа, когда число точек управления на ребре, соответствующем индексу I, будет неограниченно возрастать.

ЗАКЛЮЧЕНИЕ

В настоящей статье приведен пример решения проблемы неограниченного возрастания числа точек управления в экземпляре бизнес-процесса. Однако при автоматизации предприятий на основе процессного подхода возникают и другие проблемы, например, связанные с бесконечными циклами на графе бизнес-процесса или рекурсивными вызовами подпроцессов. Авторы планируют исследовать эти проблемы в последующих работах.

Изложенный в настоящей статье алгоритм был применен на практике в программном обеспечении с открытым кодом [5], которое доступно на международном портале разработчиков свободного программного обеспечения по адресу http://sourceforge.net/projects/runawfe.

ЛИТЕРАТУРА

1. Калянов Т.Н. Моделирование, анализ, реорганизация и автоматизация бизнес-процессов. — М.: Финансы и статистика, 2006. — 240 с.

2. Елиферов В.Г., Репин В.В. Бизнес-процессы: Регламентация и управление. — М.: Инфра-М, 2005. — 319 с.

3. Koulopoulos T. The Workflow Imperative. — N.-Y.: John Wiley & Sons, Inc., 1995.

4. Михеев А.Г, Орлов М.В., Пятецкий В.Е. Комплексный подход к процессному управлению предприятием // Автоматизация в промышленности. — 2013. — № 1. — С. 65—68.

5. Михеев А.Г, Орлов М.В. Система управления бизнес-процессами и административными регламентами // Программные продукты и системы. — 2011. — № 3. — С. 126—130.

Статья представлена к публикации членом редколлегии Ф.Т. Алескеровым.

Миронов Андрей Михайлович — канд. физ.-мат. наук, ст. науч. сотрудник, Институт проблем информатики РАН, г. Москва, S (495) 841-87-11, И amironov66@gmail.com,

Михеев Андрей Геннадьевич — канд. физ.-мат. наук, доцент, Национальный технологический университет МИСиС, г. Москва, И andrmikheev@gmail.com,

Пятецкий Валерий Ефимович — д-р техн. наук, зав. кафедрой, Национальный технологический университет МИСиС, г. Москва.

Содержание сборника «Управление большими системами», 2014, вып. 53

Беляева А.В. Учет пространственных факторов в массовой оценке объектов недвижимости: сравнение эффективности различных методов. — С. 6.

Иванов Н.Н. Аналитико-имитационное моделирование обобщенных стохастических сетевых графиков. — С. 27. S Соловьев А.И. Декомпозиция задачи оптимального потребления на дискретном рынке. — С. 45. S Мишкуров П.Н. Повышение точности динамической оптимизации вагонопотоков на основе использования расчетных периодов переменной длительности. — С. 58. S Белов Р.В., КазанинД.К., Огородников К.О. Методы коррекции инерциальных оценок координат при управлении группой подвижных объектов. — С. 76.

Тексты статей доступны на сайте http://ubs.mtas.ru/

i Надоели баннеры? Вы всегда можете отключить рекламу.