Методика трансляции графического представления бизнес-процесса предприятия в раскрашенную сеть Петри

УДК 334.02

МЕТОДИКА ТРАНСЛЯЦИИ ГРАФИЧЕСКОГО ПРЕДСТАВЛЕНИЯ БИЗНЕС-ПРОЦЕССА ПРЕДПРИЯТИЯ В РАСКРАШЕННУЮ СЕТЬ ПЕТРИ Д.В. Александров, Д.Н Фадин

Кафедра информационных систем и информационного менеджмента, Владимирский государственный университет

Представлена членом редколлегии профессором В.И. Коноваловым

Ключевые слова и фразы: бизнес-процессы; преобразование бизнес-процессов; раскрашенные сети Петри; XML.

Аннотация: Рассматриваются вопросы, связанные с преобразованием бизнес-процессов предприятия в форму, удобную для выполнения имитационного моделирования. Предложена методика такого преобразования, а также представлен алгоритм конвертирования описания бизнес-процесса из формата XPDL в формат XCPNL.

В настоящее время разрабатываются многочисленные стандарты, целью которых является интеграция существующих методов и языков моделирования потоков работ, а также создание единого методического и технологического базиса моделирования автоматизированных потоков работ. Качественно новым шагом в моделировании потоков работ стало появление нотации Process Modeling Notation (BPMN), представленной консорциумом Business Process Management Initiative (BPMI) в 2003 г. Целью этого проекта является создание общей нотации для различных категорий специалистов: от аналитиков и экспертов до разработчиков программного обеспечения. BPMN-модель визуализируется с помощью диаграммы под названием Business Process Diagram (BPD), которая имеет два основных достоинства. Во-первых, она проста в использовании и понимании, применяя ее на начальном уровне сложности, можно найти общий язык с нетехническим персоналом. Во-вторых, поднимаясь на более высокий уровень сложности описания, можно постепенно подойти к естественному отображению на языке исполнения потоков работ. Определяя достаточный уровень абстракции, нотация BPMN позволяет наглядным образом описывать модели потоков работ безотносительно среды их функционирования. На базе такой «скелетной» реализации процесса можно получать различные варианты «исполняемого кода». Помимо этого, графическая нотация BPMN 1.0 определяет ряд дополнительных функциональных возможностей, делающих ее наиболее выгодным средством для перевода реальных потоков работ в формальную объектную модель:

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

- возможность прямого отображения в различные исполняемые языки потоков работ, например, Business Process Execution Language for Web Services (BPEL4WS) и Business Process Modeling Language (BPML);

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

Члены рабочей группы BPMI создали спецификацию BPMN 1.0 на основе различных существующих стандартов, таких как UML Activity Diagram, IDEF,

ebXML и др. Определены два основных назначения BPMN-диаграмм. Во-первых, они должны быть понятны различным пользователям от аналитиков и разработчиков потоков работ до работников компании, которые будут управлять потоком работ. Во-вторых, с помощью BPMN-нотации могут быть визуализированы XML-языки реализации потоков работ, такие как BPEL4WS и BPML.

Проблема выбора обменного формата

На данный момент пока не существует единого стандарта для обмена BPMN-диаграммами, хотя сегодня активно развиваются два основных направления: создание XML-схемы - надстройки над существующей схемой BPEL, и использование стандартного формата для обмена метаданными XML Metadata Interchange (XMI). Кроме того, в настоящее время консорциум OMG продолжает разрабатывать метамодель описания потоков работ Business Process Definition Metamodel (BPDM), охватывающую нотацию BPMN. Спецификация BPDM будет основана на стандартах MOF и XMI и, в результате, предоставит обменный формат для BPMN-диаграмм.

Активное участие в описании и стандартизации потоков работ принимает организация Workflow Management Coalition (WfMC). Разработанный коалицией WfMC в 1999 г. язык определения потоков работ Workflow Process Definition Language (WPDL) был описан с помощью формул Бэкуса-Наура. В 2002 г. язык WPDL был переписан, и его новая версия XPDL 1.0 (XML Process Definition Language) уже была основана на XML. В марте 2004 г. WfMC призвала своих членов вносить предложения по расширению языка XPDL, и в октябре 2005 г. появилось расширение XPDL 2.0, совместимое с XPDL 1.0. Все элементы BPMN, которые не были представлены в XPDL 1.0, есть в XPDL 2.0. Таким образом, все сущности графической нотации BPMN отображаются в соответствующие элементы и атрибуты XPDL 2.0. Этот язык может использоваться как общий обменный формат, а также как некоторое формальное представление между разработкой и средой исполнения (описание процесса происходит в одной среде, а его интерпретация в другой).

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

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

Информация об атрибутах диаграммы потоков работ, которые не нашли своих аналогов в XPDL, может быть сохранена с помощью расширяющих элементов XPDL.

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

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

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

Благодаря графовой структуре XPDL-описаний бизнес-процессов упрощается процедура их преобразования в раскрашенную сеть Петри, представленную на специально разработанном для этой цели языке XCPNL [1].

XML Color Petri Net Language (XCPNL) представляет собой XML-схему, в которой описаны все разрешенные теги языка. Файл, созданный по схеме XCPNL, можно назвать файлом сети Петри, этот файл может содержать описание как одной сети, так и нескольких независимых сетей Петри. Для данного языка разработан графический редактор, позволяющий создавать и моделировать раскрашенные сети Петри (рис. 2).

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

Этап 1. Описание бизнес-процесса в графическом редакторе на основе нотации BPMN.

Этап 2. Сохранение созданного описания бизнес-процесса в XML-формате на основе нотации XPDL 2.0.

Этап 3. Конвертация описания бизнес-процесса из XPDL 2.0 в XCPNL, который является XML-представлением раскрашенной сети Петри.

Этап 4. Выполнение имитационного моделирования полученной сети Петри и обработка результатов моделирования.

Алгоритм конвертирования описания бизнес процесса из XPDL в XCPNL

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

На первом этапе формируется матрица связности М, которая фиксирует элементы XPDL-описания бизнес-процесса и связи между ними.

Шаг 1. Формирование матрицы связей между действиями

M = {m | mk i е {< NumberActivities > 0},к = 1..n,l = 1..n},

где n - общее количество действий в описании бизнес-процесса, а также устанавливается индекс i = 1 .

Шаг 2. Заполнение матрицы. Проверяется условие:

если i > r , то tmp = NumberPositions [i] ; mtmp tmp = 1; i = i +1 и переход на начало шага 2; иначе i = 1 и переход к шагу 3.

Рис. 1. Схема процедуры преобразования процесса

Рис. 2. Конструктор сетей Петри

Шаг 3. Если i > NumberActivities, то переход к шагу 4, иначе i = 1 и переход к шагу 10.

Проверка на наличие блоков Split.

Шаг 4. Если Split = 1, то переход к шагу 5, иначе переход к шагу 7.

Шаг 5. Увеличение размерности матрицы M на единицу по обеим координатам. n = n +1 и присвоение индексу j = 1.

Шаг 6. Если j < n — 1, то если mi j = 1, то mi j = 0 ; mi n = 1; j = j +1 и переход к шагу 6.

Проверка на наличие блоков Join.

Шаг 7. Если Join = 1, то переход к шагу 8, иначе переход к шагу 3.

Шаг 8. Увеличение размерности матрицы M на единицу по обеим координатам. n = n +1 и присвоение индексу j = 1 .

Шаг 9. Если j < n — 1, то если mj i = 1, то mj i = 0 ; mni = 1; j = j +1 и переход к шагу 9.

Определение начального элемента.

Шаг 10. Устанавливается индекс i = 1, флаг tmp = 0 - для определения пустых строк и переменную Start = 0 - обозначает индекс стартового действия в бизнес-процессе.

Шаг 11. Если i < n , то j = 1, переход к шагу 12, иначе переход к шагу 15. Шаг 12. Если j < n, то если mi j = 1, то tmp = 1; j = j +1, переход к шагу 12. Шаг 13. Если tmp = 1, то tmp = 0 , Start = i.

Шаг 14. Если Start Ф 0 , то переход к шагу 15, иначе переход к шагу 11. Определение конечного элемента.

Шаг 15. Устанавливается индекс i = 1, флаг tmp = 0 - для определения пустых строк и переменную Finish = 0 - индекс конечного действия в бизнес-процессе. Шаг 16. Если i < n , то j = 1 и переход к шагу 17, иначе переход к шагу 20. Шаг 17. Если j < n, то если mj i = 1, то tmp = 1; j = j +1, переход к шагу 17. Шаг 18. Если tmp = 1, то tmp = 0 , Finish = i.

Шаг 19. Если Finish Ф 0, то переход к шагу 20, иначе переход к шагу 16. Определение типов встречающихся элементов.

Последовательный перебор всех соответствующих строк и столбцов матрицы M, ввод дополнительных переменных stroka и stolbec , а также создание одномерного массива.

Elements = {element | elementk е {< ElementType >,0},k = 1..n} .

Шаг 20. Установить индекс i = 1 и переменные stroka = 0 и stolbec = 0 .

Шаг 21. Если i < n , то j = 1 и переход к шагу 22, иначе переход к шагу 29. Шаг 22. Если j < n, то stroka = stroka + mi j и stolbec = stolbec + mj i.

Шаг 23. Если stroka = 1 and stolbec = 1, то Elements[i] = Action .

Шаг 24. Если stroka = 1 and stolbec > 1, то Elements [i] = Join .

Шаг 25. Если stroka > 1 and stolbec = 1, то Elements[i] = Split.

Шаг 26. Если stroka = 0 and stolbec > 1, to Elements [i] = Start.

Шаг 27. Если stroka > 1 and stolbec = 0 , to Elements[i] = Finish .

Шаг 28. stroka = 0 , stolbec = 0 , j = j +1, переход к шагу 22.

Шаг 29. Завершение алгоритма.

Colour Int = integer;

Colour Trans = Int;

Colour StatElementExt = product Trans * Int * Int;

Colour Element = product Int * Trans; < n, s, now >

Рис. 3. CPN-модель типовой операции бизнес-процесса

На втором этапе сформированная матрица связности обрабатывается и получается представление рассматриваемого бизнес-процесса в виде раскрашенной сети Петри на языке ХСРМЬ. Строке i матрицы связности будет соответствовать фрагмент сети Петри, имеющий п входов и m выходов, где m - количество не нулевых элементов в /'-ой строке, а п - количество не нулевых элементов в /'-ом столбце матрицы связности, соответственно. Таким образом, для каждого из элементарных блоков ХРБЬ будет создана своя модель в виде фрагмента сети Петри, который содержит одну или несколько простейших операций [2]. На рис. 3. представлен пример СР№модели типовой операции бизнес-процесса.

Список литературы

1. Фадин, Д.Н. Язык описания раскрашенных сетей Петри ХСРМЬ / Д.Н. Фа-дин // Экономика и экономическое образование : межвуз. сб. науч. ст. - Владимир, 2005. - Ч. 2. - С. 122-124.

2. Фадин, Д.Н. Моделирование бизнес-процессов предприятий на основе аппарата раскрашенных сетей Петри / Д.Н Фадин // Автоматизированная подготовка машиностроительного производства, технология и надежность машин, приборов и оборудования : материалы Междунар. науч.-практ. конф.- Вологда, 2005. - Т. 2. -С. 184-187.

Methodology of Translation of Graphic Presentation of Company Business Process in Colored Petri Net

D.V. Alexandrov, D.N. Fadin

Department of Information Systems and Information Management,

Vladimir State University

Key words and phrases: business processes; business processes transforman-tion; colored Petri nets; XML.

Abstract: The paper deals with matters associated with transformation of company business processes into the form acceptable for simulation modeling. The method of such transformation is proposed; the algorithm of converting business process description from XDPL format into XCPNL format is presented.

Methodik der Translation der graphischen Darstellung des Businesses-Prozesses des Unternehmens in das ausgemalte Petrie-Netz

Zusammenfassung: Im Artikel werden die Fragen, die mit der Transformation der Businesse-Prozesse des Unternehmens in die fur die Erfullung der Imitationmodel-lierung bequeme Form verbunden sind, betrachtet. Es ist die Methodik solcher Transformation angeboten, und auch es ist der Algorithmus der Konvertierung der Beschreibung des Businesses-Prozesses aus dem Format XPDL in das Format XCPNL vorgeschlagen.

Methode de la translation de la presentation graphique du business-processus de l’entreprise dans le reseau peint de Petri

Resume: Dans l’article sont examinees les questions liees a la transformation des business-processus de l’entreprise dans une forme commode pour l’execution du modelage d’immitation. Est proposee la methode d’une telle transformation ainsi que l’algorithme du convertissage de la description du business-processus XPDL dans le format XCPNL.