Методика построения цветных сетей Петри, моделирующих работу цифрового автомата

УДК 681.31

DOI 10.21685/2072-3059-2017-3-3

Е. А. Кизилов

МЕТОДИКА ПОСТРОЕНИЯ ЦВЕТНЫХ СЕТЕЙ ПЕТРИ, МОДЕЛИРУЮЩИХ РАБОТУ ЦИФРОВОГО АВТОМАТА

Аннотация.

Актуальность и цели. Целью работы является разработка методики, позволяющей построить цветную сеть Петри, моделирующую функционирование технических процессов или объектов по их исходному автоматному описанию.

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

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

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

Ключевые слова: цветная сеть Петри, абстрактный цифровой автомат, автомат Мили, автомат Мура.

E. A. Kizilov

A METHOD TO CONSTRUCT COLOURED PETRI NETS THAT SIMULATE DIGITAL AUTOMATON'S PERFORMANCE

Abstract.

Background. The aim of the work is to develop a methodology that allows to build a coloured Petri net that simulates the functioning of technical processes or objects according to their initial automatic description.

Materials and methods. The formal description of the Petri net simulating the given digital automaton consists in finding correspondence between a set of states and signals describing the digital automaton and a set of positions, transitions and markings describing the coloured Petri net.

Results. The work proposes a step-by-step template for constructing the Petri net and gives examples of the Petri net synthesis based on their initial description in the language of canonical equation systems.

Conclusions. The article proposes the technique for coloured Petri net construction, which provides adequate simulation of the abstract digital automaton's performance.

Key words: coloured Petri net, abstract digital automaton, Mealy automaton, Moore automaton.

Введение

Для изучения многих объектов и процессов в технике и экономике широко применяется их моделирование с использованием аппарата сетей Петри,

в том числе цветных и временных [1-4]. При этом построение сетей Петри носит эвристический характер, что вызывает трудности с обеспечением адекватности построенной модели объекту моделирования. В связи с этим был предложен композиционный подход к построению цветных временных сетей Петри, моделирующих телекоммуникационные системы [5, 6]: сеть формируется из отдельных структурных модулей - моделей коммутационных и оконечных устройств, которые, в свою очередь, компонуются из функциональных модулей - подсетей Петри, моделирующих определенные этапы обработки данных и/или состояния исследуемого объекта, исходно описанных как конечные автоматы. Поэтому авторами ставится задача разработать методику, формализующую построение цветной сети Петри (СП), моделирующей поведение цифрового автомата (ЦА).

В общем случае ЦА задается множеством М (V,Q,8), где V - входной алфавит (конечное множество), из которого формируются выходные цепочки, допускаемые автоматом; Q - множество состояний; q0 - начальное состояние ^о е Q; 5 - функция переходов, определенная как отображение 8: QхV ^ Q [7].

Существует несколько вариантов формального описания цифрового автомата: граф-схема, система канонических уравнений, таблицы переходов [8, 9].

Цветная СП задается в виде множества [10] СРЫ(Р,Т, А,XV,С,О,Е,I), где Р - конечное множество позиций; Т - конечное множество переходов; А = Р хТ и Т хР - множество направленных дуг; X - не пустое конечное множество цветов; V - конечное множество типов переменных; С : Р ^ X - функция множества цвета; О: Р ^ EXPRv - функция условия срабатывания перехода; Е: А ^ EXPRv - функция выражения дуги; I: Р ^ EXPRо - функция инициализации. Данное множество может быть представлено в виде графа, матрицы и т. д.

В цветных СП цвет маркера используется в функциях передачи маркера по дугам сети Петри. Функциональные СП позволяют уменьшить количество переходов за счет назначения дугам функций передачи маркера, что позволяет уменьшить количество переходов.

1. Методика формального описания сети Петри

Формальное описание сети Петри, моделирующей заданный цифровой автомат, заключатся в нахождении соответствия между множеством М, описывающим цифровой автомат, и множеством СРК, описывающим сеть Петри: 8 ^ АхОхЕ ; Q ^ РхС; V ^ РхC,V £ Q.

Учитывая, что ЦА можно интерпретировать как частный случай сетей Петри [11], то может быть построено множество моделей сети Петри, моделирующих конкретный ЦА. Предлагается шаблон построения цветной СП, моделирующей поведение заданного абстрактного ЦА, включающий следующие шаги:

1. Входным и выходным сигналам ЦА ставятся в соответствие позиции СП.

2. Каждому состоянию автомата ставится в соответствие своя позиция. Нахождение маркера, цвет которого не имеет значения для алгоритма преоб-

разования, в этой позиции отмечает событие нахождения автомата в данном состоянии.

3. Каждому состоянию автомата ставится в соответствие один переход сети Петри.

4. Каждый переход сети Петри имеет следующие дуги:

- входные и выходные дуги, связанные с позициями состояний;

- входные и выходные дуги, связанные с позицией входного сигнала;

- входные и выходные дуги, связанные с позицией выходного сигнала.

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

6. Задается начальная разметка:

- определяется наличие и цвет маркеров во входных и выходных позициях;

- выбирается маркированная позиция состояния, соответствующая начальному состоянию автомата.

2. Пример построения сети Петри, моделирующего автомат Мура

Для примера рассмотрим переход от цифрового автомата к сети Петри на примере абстрактного ЦА Мура, заданного графом переходов (рис. 1).

Составим систему канонических уравнений (СКУ) и систему уравнений выходных сигналов по имеющемуся графу переходов:

Шаг 1. Определим цвет маркеров, которые будут находиться в позициях входных и выходных сигналов.

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

Значение цвета маркера 0 соответствует наличию входного сигнала х0 и т.д. Саму же позицию обозначим Х. Соответствие входных сигналов циф-

Рис. 1. Граф автомата Мура

S0 = SjXQ v S2х0 v S3x0 v S0 (x0 v x2 v x3) Sj = S0 xj v S2 xj v Sjxj

52 = Sjx2 v S2x2

53 = Sjx3 v S2 x3 v S3

y0 = S0

yi = Sj v S3

_ y2 = S2

рового автомата и значений цветов СП определим как хк ^ к, при хк е V, к е X, где хк - значение входной сигнал ЦА, а к - соответствующее ему значение цвета маркера в позиции Х.

Аналогичным образом описываем выходные сигналы, а именно маркеры, соответствующие выходным сигналам, будут находиться в позиции У, а значение маркеров может изменяться от 0 до 2 в соответствии с формируемым выходным сигналом согласно формуле (1).

Шаг 2. Определить позиции сети Петри, которые будут ставиться в соответствие состояниям автомата. Для упрощения будем обозначать позицию, соответствующую состоянию 50 - 50 и т.д. Левая часть СКУ - это состояние, в которое перейдет цифровой автомат при выполнении условия, записанного в правой части. При этом условием перехода может являться как переход из другого состояния, так и сохранение состояния автомата.

Для рассматриваемого автомата получаем множество состояний автомата: Q = (50,51,52,5з).

Учитывая, что нами ранее были введены две позиции для обозначения входного и выходного сигналов ЦА, то множество позиций сети Петри определится как: Р = (50,51,52,53, X ,У).

Активное состояние цифрового автомата будем отмечать нахождением в соответствующей ему позиции сети Петри маркером цветом 5, принимающими значение 1.

Шаг 3. Ставим каждому состоянию цифрового автомата в соответствие переход сети Петри: соответствующий состоянию 50 переход обозначим Т0 и т.д. Множество переходов сети Петри: Т = (Т0,Т1,Т2,Т3).

Шаг 4. Множество дуг А сети Петри можно разделить на подмножества дуг: входящих в переход - А и исходящих от перехода - А .

Определим дуги, связывающие переходы и позиции сети Петри, соответствующие состояниям ЦА: V/ : 5/ ^ Ау (5j,Tj) - для входных дуг перехода Т; У(( Ф1): 5^ = 5/Хк ^ Ар (Т,5^) - для выходных дуг перехода Т/.

Множество исходящих дуг одного перехода обозначим А/ = и Ар .

Особо стоит отметить ситуации сохранения состояния автомата. Так как в автомате Мура выходной сигнал соответствует определенному состоянию автомата, то сохранение состояния автомата не может привести к изменению выходного сигнала. Следовательно, при анализе правых частей уравнений СКУ не анализируются переходы, связанные с сохранением состояния автомата.

Для примера рассмотрим формирование множества исходящих дуг для перехода Т1. Так как данный переход входящей дугой связан с позицией 51 сети Петри, то будем анализировать только те уравнения формулы (1), где присутствует состояние ЦА 51. В первом уравнении формулы (1) при наличии входного сигнала х0 автомат переходит из состояния 51 в 50, следовательно в множестве дуг будет присутствовать дуга из перехода Т1 в позицию 50. Во втором уравнении при наличии входного сигнала х1 автомат сохраняет свое состояние 51. Для предотвращения зацикливания сети Петри при сохра-

нении состояния автомата переход Т1 не срабатывает при наличии входного сигнала XI. В третьем уравнении СКУ автомат при наличии входного сигнала х2 переходит из состояния 51 в «2. К множеству дуг добавляется дуга от перехода Т1 к позиции «2. В четвертом уравнении при наличии входного сигнала х3 автомат переходит из состояния «1 в «3, следовательно к множеству добавляется дуга из перехода Т1 в позицию «3. Получаем следующее множество дуг, связанных с переходом Т1: ^ = ((«1,Т1),(Т1,«0),(Т1,«2),(Т1,«3)).

Аналогичным образом определяем дуги, связывающие переходы и позиции, соответствующие состояниям ЦА для остальных переходов сети Петри. В результате для каждого перехода сети Петри получаем множества дуг:

Ао = (( 0,Т 0),(Т 0, «1)), А = ((«1,Т1), (Т1,« 0), (Т1,« 2), (Т1,« 3)), А2 = ((« 2, Т 2), (Т 2,« 0), (Т 2, «1), (Т 2,«3)), А3 =((« 3, Т 3),(Т 3,« 0)).

Все переходы сети Петри, которые зависят от входного сигнала и сопровождаются изменением выходного сигнала, должны быть связаны с позициями Х и У двунаправленными дугами: А-х, А-у - дуги от позиций Х, У

к соответствующему --му переходу; А-Х, А+ - дуги от --го перехода к позициям Х, У. Множества дуг связывающих позиции X, У и переходы сети Петри, определим как

АХ = A0X и А^ОХ и А1Х и AlX и А2-Х и А2Х и А-Х и А3+Х = = (( X, Т 0),(Т 0, X),(X, Т 1),(Т 1, X),(X, Т 2),(Т 2, X),(X, Т 3),(Т 3, X));

АУ = А0У и А+У А1У и А+У и А-У и А;+У и А3У и А+У = = ((У ,Т 0), (Т 0, У), (У, Т1), (Т1, У), (У ,Т 2), (Т 2, У), (У ,Т 3),(Т 3, У)).

Множество дуг сети Петри А является объединением описанных выше подмножеств дуг А = Ад и А1 и А2 и А3 и Ax и Ау .

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

V-, j, - ф 7 := хк ^ ((+, к) — е^, е^ е Е, к е x,

где е7- - разметка, соответствующая дуге (а+- , к) и принадлежащая множеству Е, содержащему все разметки дуг; к - значение цвета в позиции Х сети Петри.

№ 3 (43), 2017 Технические науки. Информатика, вычислительная техника Например для дуги А(Т1,52) разметка дуги будет следующей:

Г 5 при х = 2,

e21 =

0 при x Ф 2,

что отражает факт передачи маркера в позицию 52 при наличии входного сигнала х2.

Особо следует отметить особенности разметки исходящих дуг перехода к выходной позиции У: так как формировать выходной сигнала необходимо совместно с формированием очередного состояния автомата, связанного с выходным сигналом, то значение маркера в выходной позиции будет определяться значением маркера во входной позиции, при котором формируется соответствующее состояние автомата:

Vm, т ф р: 5/ = 51, ур = 5, ут = 5/ ^ (у, т ) еп, еу е Е, т е у,

где еу - разметка дуги сети Петри, соответствующая изменению выходного сигнала при переходе автомата в состояние 5/ из 5,, а т - значение цвета в позиции У сети Петри. При этом по дугам из позиций X или У к переходу передается маркер с разметкой дуги х и у соответственно:

(5 0,Т 0),(51, Т 1),(5 2,Т 2),(5 3, Т 3),(Т 0,51) ^ 5,

Г 5 при х = 0, I 0 при х Ф 0,

E =

(T1,5 0),(T 2,5 0),(T 3,5 0) 5 при x = 2,

(T1,5 2) ^ (T1,5 3) ^ (T 2,51) ^ (T2,53) ^

0 при x Ф 2, 5 при x = 3, 0 при x Ф 3, 5 при x = 1, 0 при x Ф 1, 5 при x = 3, 0 при x Ф 3,

(X,T0),(X,T 1),(X,T2),(X,T3),(T0,X),(T 1,X),(T2,X),(T3,X) ^ x, (7, T 0),(7, T1),(7 ,T 2),(7 ,T 3) ^ y, (T0,7) ^ 1,

0 при x = 0, (T 1,7) ^ ^ 2 при x = 2, 3 при x = 1,

0 при x = 0,

1 при x = 1, 3 при x = 1,

(T 2,7) (T 3,7 )-

0.

Условие срабатывания перехода определяется как дизъюнкция условий передачи маркера по всем исходящим дугам для данного перехода. Для рассматриваемого примера множество условий срабатывания переходов О сети Петри определится как

G =

T0 ^ х = 1,

T 1 ^ х = 0 v х = 2 v х = 3, T 2 ^ х = 0 v х = 1 v х = 3, T 3 ^ х = 0.

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

Далее необходимо определить начальную разметку сети Петри. В начальный момент времени цифровой автомат находится в состоянии S0, следовательно и в сети Петри в начальный момент времени маркер со значением «1» будет находиться в позиции S0. В соответствии с системой уравнений выходных сигналов, так как в начальный момент времени автомат находится в состоянии S0, формируется выходной сигнал y0, следовательно в позиции Y сети Петри будет находиться маркер со значением «0». До формирования какого-либо входного сигнала автомат должен сохранять свое состояние.

Исходя из этого из первого уравнения СКУ определяем, что автомат сохраняет свое состояние при входных сигналах х0, х2, х3. Примем, что в начальный момент времени имеется входной сигнал х0, следовательно в позиции Х сети Петри будет находиться маркер со значением «0». Получаем множество начальной разметки сети Петри:

S0 ^ 1,

S 1 ^0, S 2 ^0, S 3 ^0, X ^ 0, Y ^ 0.

Выполнив рассмотренные выше шаги, мы получили формальное описание сети Петри, моделирующей алгоритм работы заданного ЦА.

В пакете CPN Tools, используя полученное выше формальное описание сети Петри, построим модель (рис. 2), имитирующую поведение абстрактного цифрового автомата. Для проверки адекватности простроенной сети Петри исходному ЦА был выполнен анализ с использованием пакета CPN Tools изменения разметки сети Петри при изменении цвета маркера в позиции входного сигнала, который показал ее полное соответствие реакции автомата на различные входные сигналы.

I =

3. Пример построения сети Петри, моделирующей автомат Мили

Отличия цифровых автоматов Мили и Мура заключаются в формировании выходного сигнала:

- для цифрового автомата Мура выходной сигнал формируется при нахождении цифрового автомата в определенном состоянии: S ^ У ;

- в цифровом автомате Мили выходной сигнал формируется при переходе цифрового автомата из текущего состояния под действием выходного сигнала: S х X ^ У .

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

Для примера рассмотрим цифровой автомат Мили, заданный графом на рис. 3.

Рис. 3. Граф автомата Мили

Заданному цифровому автомату будут соответствовать следующие СКУ и система уравнений выходных сигналов:

Sq = S^q v S2х0 v S0(х0 v х2 v х3), < S1 = Sqх1 v S1 (х! v х2), S2 = S^3 v S2 (1 v х2 v х3),

Уо =(S1 v S2 )хQ, < У1 = Sqхо v (Sq v S1 v S2 )х1 v (Sq v S2 )х2 v (Sq v S1 v S2 )х3, У2 = ^1х2.

Применяя рассмотренную выше методику, получим формальное описание сети Петри и, используя пакет моделирования CPN Tools, получим сеть Петри (рис. 4), моделирующую поведение заданного цифрового автомата Мили.

Предложенная методика может быть распространена на моделирование автомата с унитарным кодированием входных и выходных сигналов.

f—> г

f\l тЧ тЧ

Л V Л Л

> II II

тЧ Л о > 4—' тЧ 00

V (U ТЗ

> Е О г\|

О С (D (U ч— О тЧ тЧ

(U Г\| 0) 1Л X Л Л

тз с (D II (U 1Л 0) 1Л (D II о II г\|

X (U С (U

ц- о -С 4->

> У

тЧ

Заключение

Таким образом, предложенная методика по заданному описанию ЦА позволяет построить цветную сеть Петри, адекватно моделирующую его поведение. Методика апробирована авторами для моделирования в среде CPN Tools различных алгоритмов диспетчеризации очередей в телекоммуникационной аппаратуре с поддержкой качества обслуживания, при выполнении работ ФЦП «Исследования и разработки по приоритетным направлениям развития разработки научно-технологического комплекса России на 2014-2020» ( соглашение № 14.574.21.0045 от 06.19.2014).

Библиографический список

1. Котов, В. Е. Сети Петри / В. Е. Котов. - М. : Наука, 1984. - 161 с.

2. Питерсон, Дж. Теория сетей Петри и моделирование систем : пер. с англ. / Дж. Питерсон. - М. : Мир, 1984. - 264 с.

3. Jensen, K. Coloured Petri Nets: Basic Concepts, Analysis Methods and Practical Use / K. Jensen. - New York : Springer-Verlag, 1992. - 234 p.

4. Зайцев, Д. А. Моделирование телекоммуникационных систем в CPN Tools / Д. А. Зайцев, Т. Р. Шмелева. - Одесса : ОНАТ, 2006. - 68 с.

5. Механов, В. Б. Применение сетей Петри для моделирования телекоммуникаций с поддержкой качества обслуживания / В. Б. Механов // Телематика-2010 : тр. XVII Всерос. науч.-метод. конф. - СПб : СПбГУ ИТМО, 2010. - Т. 2. - С. 283-284.

6. Механов, В. Б. Преобразование конечного автомата в цветную сеть Петри / В. Б. Механов, Е. А. Кизилов, Н. Н. Коннов // Телематика-2010 : тр. XVIII Всерос. науч.-метод. конф. - СПб : СПбГУ ИТМО, 2011. - Т. 1. - С. 238-240.

7. Hopcroft, J. E. Introduction to Automata Theory, Languages, and Computation / John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman. - М. : Вильямс, 2002. - 528 p.

8. Вашкевич, Н. П. Достоинство формального языка, основанного на концепции недетерминизма, при структурной реализации параллельных систем логического управления процессами и ресурсами / Н. П. Вашкевич, Р. А. Бикташев // Известия высших учебных заведений. Поволжский регион. Технические науки. - 2011. -№ 1 (17). - С. 3-11.

9. Вашкевич, Н. П. Недетерминированные автоматы и их использование для реализации систем параллельной обработки информации : монография / Н. П. Вашкевич, Р. А. Бикташев - Пенза : Ид-во ПГУ, 2016. - 394 с.

10. Jensen, K. Coloured Petri Nets: modelling and validation of concurrent systems / Kurt Jensen, Lars M. Kristensen. - New York : Springer, 2009. - 382 p.

11. Захаров, Н. Г. Синтез цифровых автоматов : учеб. пособие / Н. Г. Захаров, В. Н. Рогов. - Ульяновск : УлГТУ, 2003. - 136 с.

References

1. Kotov V. E. Seti Petri [Petri nets]. Moscow: Nauka, 1984, 161 p.

2. Piterson Dzh. Teoriya setey Petri i modelirovanie sistem: per. s angl. [The theory of petri nets and system simulation: translation from English]. Moscow: Mir, 1984, 264 p.

3. Jensen K. Coloured Petri Nets: Basic Concepts, Analysis Methods and Practical Use. New York: Springer-Verlag, 1992, 234 p.

4. Zaytsev D. A., Shmeleva T. R. Modelirovanie telekommunikatsionnykh sistem v CPN Tools [Telecommunication system simulation via CPN Tools]. Odessa: ONAT, 2006, 68 p.

5. Mekhanov V. B. Telematika-2010: tr. XVII Vseros. nauch.-metod. konf. [Telematics-2010: proceedings of XVII All-Russian scientific and methodological conference]. Saint-Petersburg: SPbGU ITMO, 2010, vol. 2, pp. 283-284.

6. Mekhanov V. B., Kizilov E. A., Konnov N. N. Telematika-2010: tr. XVIII Vseros. nauch.-metod. konf. [Telematics-2010: proceedings of XVII All-Russian scientific and methodological conference]. Saint-Petersburg: SPbGU ITMO, 2011, vol. 1, pp. 238240.

7. Hopcroft J. E., Motwani R., Ullman J. D. Introduction to Automata Theory, Languages, and Computation. Moscow: Vil'yams, 2002, 528 p.

8. Vashkevich N. P., Biktashev R. A. Izvestiya vysshikh uchebnykh zavedeniy. Povolzhskiy region. Tekhnicheskie nauki [University proceedings. Volga region. Engineering sciences]. 2011, no. 1 (17), pp. 3-11.

9. Vashkevich N. P., Biktashev R. A. Nedeterminirovannye avtomaty i ikh ispol'zovanie dlya realizatsii sistem parallel'noy obrabotki informatsii: monografiya [Stochastic automata and their application in data parallel processing systems: monograph]. Penza: Id-vo PGU, 2016, 394 p.

10. Jensen K., Kristensen L. M. Coloured Petri Nets: modelling and validation of concurrent systems. New York: Springer, 2009, 382 p.

11. Zakharov N. G., Rogov V. N. Sintez tsifrovykh avtomatov: ucheb. posobie [Digital automata synthesis: teaching aid]. Ulyanovsk: UlGTU, 2003, 136 p.

Кизилов Евгений Александрович соискатель, Пензенский государственный университет

E-mail: jk6001@yandex.ru

Kizilov Evgeniy Aleksandrovich Applicant, Penza State University

УДК 681.31 Кизилов, Е. А.

Методика построения цветных сетей Петри, моделирующих работу цифрового автомата / Е. А. Кизилов // Известия высших учебных заведений. Поволжский регион. Технические науки. - 2017. - № 3 (43). - С. 36-47. Б01 10.21685/2072-3059-2017-3-3