Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Автоматы и сети Петри. Учебное пособие
.pdf
Рис. 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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
