заблокирована, т. е. никакой процесс продолжаться не может — это
тупик.
Пример использования сети Петри.
Рассмотрим моделирование
фрагмента ситуации, которая весьма характерна для организации до-
ступа в многопользовательской системе, на основе задачи “о пяти фи-
лософах” [5]. Фактор нечетности числа пользователей и четности чи-
сла ресурсов является здесь существенным. Поэтому в приводимом
примере четное число одновременно востребованных ресурсов и пять
пользователей. Далее покажем, что сетевая модель (например элек-
тронная энциклопедия)расширяется на большее число пользователей.
Пять пользователей пытаются сформировать собственный кон-
спект из двух разделов электронной энциклопедии. Пусть для ре-
дактрования своих материалов каждому пользователю одновременно
необходимы два раздела. Один из пользователей входит в энцикло-
педию, делает два запроса и начинает работать. При этом доступ к
ресурсам энциклопедии освобождается полностью. В процессе подго-
товки будущего конспекта пользователю следует повторить запросы.
Требуется построить такую модель, которая позволяла бы синхро-
низировать независимые действия пользователей и не допускала бы
взаимной блокировки, когда все пользователи входят в энциклопедию,
каждый из них может вызвать по два раздела, и никто не может начать
работать со всеми ресурсами.
Набор действий всех пользователей можно представить матри-
цей
М
размером
5
×
7
,
в которой
i
-
я строка
М
[
i, j
]
соответствует
действиям
i
-
го пользователя. Каждый из пользователей выполняет
семь действий:
М
[
i,
1]
—
i
-
й пользователь входит в энциклопедию;
М
[
i,
2]
—
i
-
й пользователь запрашивает первый раздел;
PH
[
i,
3]
—
i
-
й
пользователь запрашивает второй раздел;
PH
[
i,
4]
—
i
-
й пользователь
работает с разделами;
PH
[
i,
5]
—
i
-
й пользователь освобождает доступ
к первому разделу;
PH
[
i,
6]
—
i
-
й пользователь освобождает доступ ко
второму разделу;
PH
[
i,
7]
—
i
-
й пользователь выходит из энцикло-
педии.
Поведение каждого пользователя моделирует сеть Петри (рис. 5).
Каждому действию
i
-
го пользователя ставится в соответствие переход
в сетевой модели, который имеет тот же номер, что и строка в матрице
действий. Предполагается, что действия, связанные с разделами, поль-
зователь может осуществлять независимо и условно одновременно.
Одновременность означает, что два ресурса на время запроса доступ-
ны одному пользователю. В модели факт условной параллельности
действий отображается параллельными ветвями сети: переходы с но-
мерами
(
i,
2)
и
(
i,
3)
,
а также
(
i,
5)
и
(
i,
6)
могут сработать независимо
и одновременно.
20
ISSN 0236-3933. Вестник МГТУ им. Н.Э. Баумана. Сер. “Приборостроение”. 2012