Научная статья на тему 'Алгоритм преобразования IDEFO-модели в раскрашенную сеть Петри'

Алгоритм преобразования IDEFO-модели в раскрашенную сеть Петри Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
572
101
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МЕТОДОЛОГИЯ IDEFÜ / IDEFO METHODOLOGY / РАСКРАШЕННЫЕ СЕТИ ПЕТРИ / COLOURED PETRI NETS / АЛГОРИТМ / ALGORITHM / МАТЕМАТИЧЕСКАЯ МОДЕЛЬ / MATHEMATICAL MODEL

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Устимов Кирилл Олегович, Фёдоров Николай Владимирович

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Устимов Кирилл Олегович, Фёдоров Николай Владимирович

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

ALGORITHM OF CONVERSION OF IDEFO-MODEL TO COLOURED PETRI NET

The algorithm of conversion of IDEFO-model to Coloured Petri Net is described. IDEFO-model can be used for functional modeling of business-processes. Coloured Petri Net allows to conduct a simulation modeling. Mathematical descriptions of IDEFO-model and Coloured Petri Net are provided. The considering algorithm is based on these descriptions. The CPN’s colour set is per se a modeling language data type, however the syntax of CPNML doesn''t allow to operate with data types directly, it is necessary to define colour sets. Multisets are applied as position markings, arc expressions and other types of inscriptions. Mutlisets are enlarge the concept of Petri net''s tokens. The described algorithm allows to convert IDEFO-diagram of common kind that doesn''t contain tunnels and call arrows, to CPN. The derived model is the basic simulation model of business-processes. A CPN color set is in a sense the modeling language data type but the CPN ML syntax does not allow operating directly the data types, it is required to define color sets. Maltisets are used in position identification, expressions of arcs and other elements. Multisets expand definition of tokens in the Petri nets. The article considers the algorithm of CPN transformation of any standard type IDEFO-diagram without tunnels and arrows. The resultant model will be the reference simulation model of business-processes.

Текст научной работы на тему «Алгоритм преобразования IDEFO-модели в раскрашенную сеть Петри»

- © К.О. Устимов, Н.В. Федоров,

2014

УДК 519.876.5

К.О. Устимов, Н.В. Федоров

АЛГОРИТМ ПРЕОБРАЗОВАНИЯ ЮБРО-МОДЕЛИ В РАСКРАШЕННУЮ СЕТЬ ПЕТРИ

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

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

Методология ЮБРО широко применяется для моделирования бизнес-процессов. Функциональная модель ЮБРО позволяет описать структуру и функции системы, а также потоки информации и материальных объектов, преобразуемые этими функциями [1].

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

Хотя ЮБРО-модель и не позволяет проводить имитационное моделирование, она содержит достаточно данных для того, чтобы построить базовую имитационную модель в виде раскрашенной сети Петри (СРЫ) [2]. Для того чтобы описать алгоритм преобразования ЮБРО-модели в СРЫ, рассмотрим математические описания обеих моделей.

Модель ЮБРО

Рассмотрим недекомпозированную ЮБРО-модель. Она представляет собой одну ЮБРО-диаграмму, состоящую из следующих элементов:

-конечное множество блоков: В = ;Ь0,Ь, Ь2,Ь3,.г. где п>0. (п+1) —

мощность множества В: |В|™(П + 1) Ь^. — блок, определяющий саму диаграмму;

- конечное множество элементарных объектов: О = {о1,о2,о3,...о(},, где

^ > 0. 1 — мощность множества О. Элементарный объект означает неделимые данные или материальные объекты;

- конечное множество меток стрелок: М = {т^т2,ш3,...ш(},, где к > 0 . к

— мощность множества М. Каждая метка представляет собой множество элементарных объектов, обозначающих данные и материальные объекты, которые разделяются или объединяются в соответствующем сегменте стрелки. Метку

можно обозначить так: т, = {О,. ,о, ,0, ,...о, },, где к. > 0 . к — мощность

1 I ¡1 ¡2 ¡3 ¡к!) 1

множества Ш) Множества гт^ состоят из элементов множества О. Таки образом,

- конечное множество сегментов стрелок: 3 ■ где />01. ' — мощность множества Б. Каждому элементу Б1 множества Б ставится в со-

множество

ответствие элемент множества соответствий сегментов стрелок и меток;

- функции Р5ГС и Р5пк, определяющие, соответственно, начальные и конечные точки соединения сегментов стрелок. Эти две функции определяются одинаково, поэтому будем обозначать их буквой , когда можно подразумевать их обе. Функция Р^ отображает множество сегментов стрелок в множество, являющееся объединением множеств блоков и сегментов стрелок: ^ = В У .

. Например, выражение ^ ( ^ { Ь.1 /ег

Ь:

означает, что сегмент стрелки Ь1 начинается на блоке Ь и заканчивается

ветвлением на сегменты 11, Ь и к .

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

- каждая диаграмма будет иметь свое множество блоков:

Б1=Кл.-Ч-ч.....¿¡в} где !п > о. -1}

— мощность множества В).

ё

Ь1 — блок, определяющий саму диаграмму. Множество В = ^ В1 содержит

1=1

все блоки всех диаграмм и все диаграммы, где d — общее количество диаграмм;

каждая диаграмма будет иметь свое множество сегментов стрелок:

^ ~ где Ь^® . — мощность множества . Множест-

ё

во 5 = ^ Б1 содержит все сегменты стрелок всех диаграмм, где d — общее ко-

1=1

личество диаграмм;

- функция Р^ по аналогии с блоками и сегментами стрелок может быть об-

Р55 с V — У

щая: г 1 и частная: 1 1 1 'г;

- конечное множество элементарных объектов остается общим для всех диаграмм;

- конечное множество меток стрелок остается общим для всех диаграмм;

функция декомпозиции D:B ^ в определяет какая диаграмма декомпо-

D(b: J = к

зицией какого блока является. Например, выражение "Л"*!г/ ■'о означает,

К Ь{ Ъ;

что диаграмма является декомпозицией блока хк . Если блок не име-

ет декомпозиции, то

Раскрашенная сеть Петри

Сеть Петри [3] состоит из четырех элементов: множество позиций Р, множество переходов Т, входная функция Р1 и выходная функция И0. Сеть Петри С

является четверкой: . Элементы сети Петри:

- конечное множество позиций: Р-'РЛЫЪ.....Рп*

мощность множества Р;

- конечное множество переходов: Т = ... мощность множества Т;

функции: Р*:Г-Ц»

где

где

n > 0 . n —

m > 0 . m —

Например,

- входная и выходная

означает, что позиции Pk1; Рк, и Рк, являются входными по отношению к переходу tj. Для общего обозначения входной и выходной функций будем использовать F10 F'® .

Множество позиций и множество переходов не пересекаются: Р^Т = ii _ Таким образом, сеть Петри является двудольным ориентированным мульти-графом.

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

Множество цветов в CPN по сути является типом данных языка моделирования, однако синтаксис CPN ML не позволяет оперировать непосредственно типами данных, необходимо определить множества цветов. Синтаксис объявления множества цветов в языке CPN ML следующий: ralset <имя множества цветов> = <тип данных>;

Здесь <имя множества цветов> — любой возможный идентификатор CPN ML. <тип данных> — простой или сложный тип данных. Вот несколько примеров объявления множеств цветов: colset NO = int; colset DATA = string; colset NOxDATA = product NO*DATA; Мультимножества

Мультимножества применяются в маркировках позиций, выражениях дуг и др. элементов. Мультимножества расширяют понятие фишек сетей Петри. Синтаксис определения мультимножества в CPN ML такой:

<кол-во фишек>"<значение> ++ <кол-во фишек>"<значение> ++ ...

Элементы мультимножества всегда принадлежат к одному и тому же множеству цветов. Рассмотрим следующий пример:

val v = Г5 ++ 240 ++ 741;

В этом примере объявляется константа v, значением которой является мультимножество целого типа: одна фишка со значением «5», две фишки со значением «10» и семь фишек со значением «11». Таким образом, в отличие от обычный сетей Петри, каждая фишка может иметь значение определенного типа, а маркировка позиции может содержать разное количество фишек с различными значениями.

Маркировка позиций

В CPN с каждой позицией должно быть связано множество цветов, которое определяет, фишки какого типа могут находиться в данной позиции. Одно и то же множество цветов может быть связано с разными позициями. Для каждой позиции определяются три описания. Первое описание определяет тип фишек, которые могут содержаться в позиции. Например, перечисление определяется так так: colset items = unit with item;

Второе описание определяет начальную маркировку позиции. Например, позиция может иметь начальную маркировку в виде 10-и фишек со значением «item». Третье описание определяет текущую маркировку позиции.

Выражения дуг

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

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

Переходы

Переходы в CPN в отличие от обычных сетей Петри обозначаются прямоугольниками. Срабатывание, как и в обычных сетях Петри, изменяет маркировки связанных с ним позиций в соответствии с выражениями дуг. Переходы могут содержать дополнительные объявления на языке CPN ML, которые в рамках данной работы не рассматриваются.

Алгоритм преобразования IDEF0 в CPN

Рассмотрим алгоритм преобразования модели IDEF0, состоящей из d диаграмм, в CPN.

1. Для каждой метки стрелки IDEF0-модели е M определить множество цветов CPN следующим образом: colset t_m_i = string;

2. Для каждой IDEF0-диаграммы Vb¡ е B, i е [1, d],, , где B — множество

всех блоков IDEF0-модели, выполнить действия:

2.1. Сформировать множество основных переходов СРЫ Т^. Для каждого блока ГОЕРО-диаграммы УЬ, е В,, 1 е [1, п,],, где В — множество всех бло-

) 1 1

ков диаграммы Ь1д, п1 — общее количество блоков диаграммы Ь1д, создать переход СРЫ Л е Т"азв..

ч 1

2.2. Сформировать множество позиций СРЫ Р и множество дополнительных переходов Т^. Для каждого сегмента стрелки ГОЕРО-диаграммы

У Б, е Б,, 1 е [1, Ц ], где ^ — множество всех сегментов стрелок диаграммы Ы0,

^ 1 1

И — общее количество сегментов стрелок диаграммы Ы0, выполнить действия: 2.2.1. Создать позицию СРЫ е р1.

гГЦМ

2.2.2. Если

2.2.2.1. Если

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

то: > 1

tfdd € Tf'iá

создать дополнительный переход CPN

hSdd

и соединить дугой позицию Pij и переход Ч

2.2.2.2. Если

\*ГЫ

= i

t-

aáá

соединить дугой позицию Pij и переход , соответствующий позиции Pik (см. п. 1.2.2.1), соответствующей сегменту стрел-

S; = Ff*

2.2.3. Если

ns (ruh*

соединить дугой позицию Pij и переход

гг _ i-pbase .i -"radíl

2.3. Множество переходов CPN Ч Ч - Ч

2.4. Для каждой позиции CPN VP¡ е P¡ выполнить действия:

v 1

2.4.1. Связать с позицией Pij множество цветов t_m_k, соответствующее метке сегмента стрелки Sij.

2.4.2. Определить начальную маркировку позиции Pij в соответствии с множеством цветов t_m_k следующим образом: val init_p_ij = l,Mdata_k";

vai = (wi,Vpi =Ff°(ti))

2.5. Каждой дуге f h k назначить выражение val a_i_j = 1"'data_r";, где позиция имеет начальную маркировку 1"'data_r".

2.6. Для каждого блока IDEFO-модели Vb,. е B выполнить действия:

„ , . Ь: - Dfb: О"

2.6.1. Если jf \ 'к'

bj "SÍ, =

i» м 1 выполнить действия:

pEEj _ \ s D. J = b.

2.6.1.1. Если ' '^i'" i и i ifc, то выполнить следующие дей-

то для каждого сегмента стрелки диаграммы

ствия:

2.6.1.1.1. Сделать сокетом позицию Pi], соответствующую сегменту Si] .

2.6.1.1.2. Для каждого сегмента стрелки Sjt диаграммы bj0. VSjt е Sj :

пусть сегменту Sjt соответствует метка mq, т.е. (Sjt, mq) е CSm , тогда если {Si,, mq) е CSm , т.е. сегменту Si] соответствует метка mq , то сделать портом

позицию Pjt, соответствующую сегменту Sjt.

2.6.1.1.3. Связать сокет Pi] с портом Pjt. 3. Конец алгоритма

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

- СПИСОК ЛИТЕРАТУРЫ

1. Р 50.1.028 — 2001. Рекомендации по стандартизации. Методология функционального моделирования.

2. Kurt Jensen, Lars M. Kristensen. Coloured Petri Nets. Modelling and Validation of Concurrent Systems — Springer, 2009

3. Дж. Питерсон. Теория сетей Петри и моделирование систем. Пер. с англ. М.В. Горбатовой, под ред. В.А. Горбатова. — Москва. МИР, 1984

4. Устимов К.О., Федоров Н.В. Применение раскрашенных сетей Петри для реинжиниринга бизнес-процессов. // Вестник академии промышленности и менеджмента: Выпуск 7. — М.: МГИУ, 2008 — с. 89-96

5. Устимов К.О., Федоров Н.В. Компьютерное моделирование бизнес-процессов на основе IDEF0-моделей. Алгоритмический подход. // Вестник академии промышленности и менеджмента: Выпуск 8. — М.: МГИУ, 2008 — с. 111-116

6. В.А. Горбатов, А.В. Крылов, Н.В. Федоров САПР систем логического управления. М.: Энергоатомиздат, 1988 -232 с.

7. Н.В. Федоров, О.Н. Игнатов Метод имитационного моделирования инвестиционных проектов на основе динамических продуцирующих сетей ГИАБ номер 7 2010

8. Устимов К.О. Автоматизация реинжиниринга бизнес-процессов на основе IDEF0-моделей // Системы управления знаниями. Реинжиниринг бизнес-процессов. Тезисы докладов — М.: МЭСИ, 2010

9. Устимов К.О. Автоматизация реинжиниринга бизнес-процессов на основе современных CASE-технологий // Горный информационно-аналитический бюллетень. Отдельный выпуск № 2. 2010. Труды студентов и молодых ученых-1 — М.: Горная книга, 2010

10. Устимов К.О., Федоров Н.В. Автоматизация построения имитационной модели бизнес-процессов на основе методологии IDEF0 и раскрашенных сетей Петри. // Горный информационно-аналитический бюллетень {научно-технический журнал) № 12 — М.: Горная книга, 2013. Г¥ТШ

КОРОТКО ОБ АВТОРАХ -

Устимов Кирилл Олегович - аспирант, e-mail: [email protected]

Федоров Николай Владимирович - кандидат технических наук, доцент, зам. зав. кафедрой, e-mail: [email protected]

кафедра информационной безопасности, Московский государственный индустриальный университет (ФГБОУ ВПО «МГИУ»).

UDC 519.876.5 x-

ALGORITHM OF CONVERSION OF IDEFO-MODEL TO COLOURED PETRI NET

UstimovK.O., Graduate student, e-mail: [email protected]

FedorovN.V., Candidate of Engineering Sciences, Assistant Professor, e-mail: [email protected] Moscow State Industrial University.

The algorithm of conversion of IDEFO-model to Coloured Petri Net is described. IDEFO-model can be used for functional modeling of business-processes. Coloured Petri Net allows to conduct a simulation modeling. Mathematical descriptions of IDEFO-model and Coloured Petri Net are provided. The considering algorithm is based on these descriptions.

The CPN's colour set is per se a modeling language data type, however the syntax of CPNML doesn't allow to operate with data types directly, it is necessary to define colour sets.

Multisets are applied as position markings, arc expressions and other types of inscriptions. Mutlisets are enlarge the concept of Petri net's tokens.

The described algorithm allows to convert IDEFO-diagram of common kind that doesn't contain tunnels and call arrows, to CPN. The derived model is the basic simulation model of business-processes.

A CPN color set is in a sense the modeling language data type but the CPN ML syntax does not allow operating directly the data types, it is required to define color sets.

Maltisets are used in position identification, expressions of arcs and other elements. Multisets expand definition of tokens in the Petri nets.

The article considers the algorithm of CPN transformation of any standard type IDEFO-diagram without tunnels and arrows. The resultant model will be the reference simulation model of business-processes.

Key words: IDEFO methodology, Coloured Petri Nets, algorithm, mathematical model.

REFERENCES

1. Standardization Guidelines. Functional Modeling Procedure. R 50.1.028, 2001.

2. Kurt Jensen, Lars M. Kristensen. Coloured Petri Nets. Modelling and Validation of Concurrent Systems — Springer, 2009

3. Peterson J., 1981. Petri Net Theory and the Modeling of Systems, Prentice Hall.

4. Ustimov K., Fedorov, N.V. The use of colored Petri nets for re-engineering of busi-ness processes.//Bulletin of the Academy of Industry and Management: Issue 7. - Moscow: MGIU, 2008 - p. 89-

5. Ustimov K., Fedorov, N.V. Computer modeling of business processes based on the 1DEF0- models. An algorithmic approach.//Bulletin of the Academy of Industry and Management: Issue 8. - Moscow: MGIU, 2008 - p. 111-116.

6. Gorbatov V.A., Krylov, A.V., Fedorov, N.V. CAD logic control systems. M. Energoatomizdat, 1988 -232 p.

7. Fedorov N., Ignatov O. Simulation method of investment projects based on dynamic networks of producing G1ABA room in July 2010.

8. Ustimov K.O. Automation of business process reengineering based on 1DEF0- models /systems/knowledge management. Re-engineering of business processes. Abstracts - M: Mesi, 2010.

9. Ustimov KO Automation of business process reengineering based on modern CASE- technol-ogy//Mining information - analytical bulletin. A separate issue number 2. 2010. Proceedings of students and young scientists -1 - M: Mining book, 2010.

10. Ustimov K., Fedorov, N.V. Automation of a simulation model of business processes based on the 1DEF0 methodology and colored Petri nets.// Mining information - analytical bulletin. № 12/ - 2013.

96

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