Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Автоматы и сети Петри. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
Рис. 7. Граф сети Петри
1
p
1
t
1))(,(#)),,((#
1111
tIpAtp
0))(,(#)),,((#
1111
tOpApt
)1,0,1,2,1(
2
t
2
t
2
t
2
t
2
t
2
t
))(,(#))(,(#)()('
jijiii
tOptIppp
есть
Легко заметить, что комплект дуг для позиции
и
и перехода
Аналогично можно определить комплекты дуг для остальных позиций и переходов. Граф маркированной сети Петри с маркировкой
имеет вид, представленный ниже.
Рис. 8. Маркированная сеть Петри
.
После срабатывания перехода на рис. 9. Из каждой входной для
сколько из нее направлено стрелок в
вершину добавилось количество фишек, равное количеству стрелок из в нее. В вершинах, не соединенных с
граф будет иметь вид, показанный
вершины удалилось столько фишек,
. В каждую выходную для
, ничего не изменяется. Это и есть
правило образования новой маркировки
. Если в вершине фишек меньше,
41
чем идущих из нее в переход стрелок, то этот переход сработать не
2
t
),...,,(
21 n
pppP
),...,,(
21 m
tttT
nm
RRR
иначе. ,0
);( ,1
ji
ji
tOp
rR
иначе. ,0
);( ,1
ji
ji
tIp
rR
R
R
может. В этом заключается правило проверки разрешенности перехода.
Рис. 9. Граф сети Петри после срабатывания перехода
Заметим, что граф сети Петри является двудольным, так как каждая его вершина принадлежит к одному из двух типов (позиции или переходы), а каждая дуга идет от вершины одного типа к вершине другого типа.
Представление сети Петри в матричном виде
Помимо графического и аналитического (с использованием структуры) представления, сеть Петри может быть представлена в матричном виде. Для сети Петри с множеством позиций
иметь размер
и множеством переходов
. Определить ее можно по формуле
матрица будет
, где
.
Следует заметить, что элементы матриц
и
совпадают с
кратностями входных и выходных позиций для всех переходов сети.
42
Условие разрешенности перехода
j
t
Rje )(
)( je
j
t
Rje )('
00110
01000
10000
10110
R
01000
00100
10110
00001
R
01110
01100
00110
10111
RRR
]10121[
1
t
]00001[
01000
00100
10110
00001
]0001[]10121[
2
t
]10110[
01000
00100
10110
00001
]0010[]10121[
3
t
]00100[
01000
00100
10110
00001
]0100[]10121[
для сети с маркировкой
может быть записано в виде
, где
– m-мерный вектор из
нулей с единицей на j-м месте. Новую маркировку сети при
срабатывании перехода
можно определить по формуле
.
Пример. Зададим рассмотренную в предыдущих примерах сеть с
помощью матрицы. Тогда
,
. Рассмотрим маркировку сети
, как и в примере выше. Проверим разрешенность
,
переходов. Для перехода
условие выполняется (проверяется для
каждого элемента вектор-строки):
Для перехода
Для перехода
:
:
.
верно.
верно.
43
Для перехода
4
t
]01000[
01000
00100
10110
00001
]1000[]10121[
4
t
2
t
01110
01100
00110
10111
]0010[]10121[)(' Rje
]10011[
m1
),...,,(
21 n
pppP
),...,,(
21 m
tttT
'
'R
'
]10011['
]10121[
:
не верно,
переход
не является разрешенным.
Определим новую маркировку сети при срабатывании перехода
. Маркировка получилась такой же, как и в предыдущих
двух случаях. Маркировку можно просчитать для любого разрешенного перехода на любое число шагов вперед. Если рассчитать маркировку для неразрешенного перехода, то в ней будут содержаться отрицательные числа.
Достижимость некоторой маркировки
.
Задача достижимости маркировки может быть сведена к определению некоторого неотрицательного целочисленного вектора размера
множеством позиций
. Пусть задана некоторая сеть Петри с маркировкой ,
и множеством переходов
. Чтобы определить достижимость маркировки
решают относительно вектора уравнение
. Если существует
хотя бы одно неотрицательное целочисленное решение, то маркировка
достижима из маркировки .
Пример. Проверим достижимость маркировки
для рассмотренной выше сети Петри с маркировкой
.
,
44
]10121[]10011[
01110
01100
00110
10111
][
4321
R
Получим систему уравнений:
0
0
1
1
0
1
43
4321
421
1
0
1
1
2
0
3
0
4
]0010[
'
2
t
.
Отсюда
. Это значит, что маркировка
маркировки при срабатывании перехода
,
,
,
. Вектор имеет вид
достигается из
.
5. МОДЕЛИРОВАНИЕ СИСТЕМ С ИСПОЛЬЗОВАНИЕМ
GPSS
Инструментальная система моделирования является совокупностью средств, предназначенных для конкретизации модели из некоторого класса моделей. Значительное число инструментальных систем моделирования ориентировано на некоторый базовый язык программирования. Системы моделирования используют в качестве инструментального средства соответствующую систему программирования. Средства, с помощью которых выполняется конкретизация модели в рамках инструментальной системы моделирования, достаточно разнообразны. Однако всегда можно считать, что система моделирования определяет проблемно-ориентированный входной язык, на котором описывается моделируемый процесс – язык моделирования – и содержит в себе транслятор, переводящий это описание в описание на базовом языке программирования. Системы
45
моделирования и системы программирования не имеют четкой границы. Иначе говоря, инструментальная система моделирования это совокупность языковых и программных средств, включающая:
1) собственно язык моделирования, точнее, методо­ориентированный язык моделирования (уточнение термина «проблемно­ориентированный язык» – все языки моделирования, в том числе и упоминаемый ниже язык моделирования конечного пользователя – проблемно-ориентированные), поддерживающий определенный класс формализованных или алгоритмических описаний;
2) язык управления системой моделирования, реализованный на основе языка управления заданиями пакетных операционных систем или на основе языка команд в интерактивных операционных системах; программные средства, обеспечивающие трансляцию модели и другие стандартные функции системы моделирования (продвижение модельного времени – календарь событий, генерацию случайных чисел, сбор статистической информации, вывод результатов и т.д.);
3) средства разработки языков моделирования конечного пользователя, позволяющих формулировать задачи моделирования непосредственно на уровне концептуальной модели – систематизированного содержательного описания моделируемой системы на неформальном языке.
Преимущества специализированных языков (ЯМ) и систем
моделирования (СМ) по сравнению с общими (универсальными) языками и системами программирования:
ЯМ содержит абстрактные конструкции, непосредственно
отражающие понятия, в которых представлена формализованная модель, и близкие концептуальной модели; это позволяет автоматизировать выявление многих ошибок в программах;
46
ЯМ содержит встроенные датчики случайных чисел, генераторы других типовых воздействий, средства автоматизации сбора данных, выдачи этих данных и результатов моделирования в табличной или графической форме, программирования экспериментов с моделями, в частности, средства автоматизации установки начального состояния, перезапуска модели;
СМ имеет эффективный встроенный механизм продвижения модельного времени, средства разрешения временных узлов.
Недостатки ЯМ и СМ:
- используются только стандартные формы вывода результатов
моделирования;
- недостаточная распространенность ЯМ, которые, как правило, не
входят в штатное программное обеспечение операционных систем;
- необходимость дополнительного обучения ЯМ и, как следствие,
недостаток программистов, хорошо владеющих ЯМ;
- отсутствие гибкости и широких возможностей, присущих
универсальным языкам программирования.
Эти недостатки по-разному проявляются в каждой конкретной СМ и постепенно преодолеваются в ходе их совершенствования.
Классификация ЯМ и СМ позволяет упорядочить сведения о существующих многочисленных ЯМ, а также более обоснованно выбирать подходящую СМ. Известна классификация, в основу которой положены следующие характеристики ЯМ и СМ:
- класс моделируемых систем (например, непрерывные системы,
дискретные, дискретно-непрерывные);
- базовая для ЯМ схема алгоритмизации (например: системы
дифференциальных уравнений, структурные схемы; языки событий, языки работ, языки процессов, языки транзактов – динамических
47
объектов, представляющих собой элементы потока событий, требующих обслуживания, языки, основанные на автоматных и сетевых представлениях; комбинации предыдущих);
- альтернативные схемы алгоритмизации (например:
перечисленные выше как альтернативы); синтаксическая основа ЯМ: вложенные в базовый ЯМ, расширяющие базовый ЯМ, с собственным синтаксисом;
- средства проблемной ориентации в ЯМ: позволяют разрабатывать
ЯМ конечных пользователей, вводить макропонятия для упрощения программирования; способы реализации: использование макросов, применение диалоговых средств и др.;
- средства раздельной трансляции: имеют значение при разработке
сложных моделей коллективом разработчиков, позволяют параллельно программировать и отлаживать отдельные части модели, снижают затраты на внесение изменений в модель;
- алгоритмические возможности ЯМ: характеризуют его гибкость при решении не совсем стандартных задач; могут быть включены непосредственно в ЯМ, либо может быть предусмотрен вызов программ, написанных на алгоритмических языках;
- средства сбора данных и выдачи результатов: стандартные обычно имеются в ЯМ, но не всегда достаточно гибки и удовлетворяют пользователя, поэтому должна быть предусмотрена возможность подключения нестандартных, разработанных пользователем;
- средства управления экспериментами с моделями: позволяют автоматизировать установку начального состояния модели, определить условия завершения прогона, выбрать режимы работы управляющей программы, хранить и восстанавливать промежуточные состояния;
48
- генераторы стандартных воздействий: ЯМ обязательно включают
датчики случайных чисел, распределенных по различным законам, генераторы типовых воздействий.
Анализ перечисленных характеристик позволяет составить
достаточно полное представление о ЯМ и поддерживающей его СМ. Важной, но внешней по отношению к ЯМ характеристикой, является качество сопровождения СМ, наличие четкой документации.
Пример реализации ЯМ – язык GPSS (General Purpose Simulation System). Широко распространен, в настоящее время используется в интегрированной среде GPSS/PC. GPSS позволяет описывать процессы и системы с дискретными событиями (DES – discrete events systems). Особенно хорошо приспособлен для моделирования систем массового обслуживания, позволяет также достаточно удобно программировать сетевые и автоматные модели. Относится к языкам транзактов – динамических объектов.
Общие сведения о GPSS. Объекты GPSS
Язык GPSS построен в предположении, что модель сложной системы можно представить совокупностью элементов и логических правил их взаимодействия [5, 17]. Также предполагается, что для моделируемых систем можно выделить небольшой набор абстрактных элементов, называемых объектами. Объекты GPSS/PC можно разделить на семь категорий (табл. 14).
49
Таблица 14
Категории
Типы объектов
Динамическая
Транзакты
Операционная
Блоки
Аппаратная
Одноканальные и многоканальные устройства, логические ключи
Вычислительная
Переменные, функции, генераторы случайных чисел
Статистическая
Очереди, таблицы
Запоминающая
Ячейки, матрицы ячеек
Группирующая
Числовые группы, группы транзактов, списки
Категории объектов GPSS/PC.
Динамические объекты в GPSS/PC называются транзактами. Транзакт является прообразом заявки в терминологии СМО. С каждым транзактом может быть связано определенное число параметров, несущих необходимую информацию об этом транзакте. Кроме того, транзакты могут иметь различные приоритеты.
Операционные объекты GPSS/PC, называемые блоками, формируют логику функционирования модели, давая транзактам указания: куда идти и что делать дальше. В блоках могут происходить события четырех типов:
1) создание или уничтожение транзакта;
2) изменение числового атрибута объекта;
3) задержка транзакта на определенный период времени;
4) изменение маршрута движения транзакта в модели.
В зависимости от назначения основные блоки можно разделить на 4 группы.
1. Блоки, осуществляющие модификацию атрибутов транзактов:
50
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]