- •1Цель лабораторной работы.
- •1.1Тактическая цель.
- •1.2Стратегическая цель.
- •2Общие теоретические положения.
- •2.1Сеть Петри – это очень просто.
- •2.1.1Процессы хранения и преобразования.
- •2.1.2Связи мест в сети Петри.
- •2.1.3Статическое представление сети Петри.
- •2.1.5Элементы и связи как образы процессов.
- •2.1.6Жизнь сети Петри.
- •2.1.4База данных статического представления сети Петри.
- •2.1.7Развитие базы данных сети Петри.
- •2.1.8Алгоритм работы сети Петри.
- •2.1.9Коллизии в работе сети Петри.
- •3Средства выполнения работы.
- •4Советы и рекомендации.
- •4.1Первый вариант реализации программы.
- •4.2Второй вариант реализации программы.
- •4.2.1Анализ организации данных первого варианта.
- •4.2.2Как построить объектную базу данных.
- •5Порядок выполнения работы.
- •5.1.1Определите структуру данных приложения.
- •5.1.2Детализируйте реализацию алгоритма.
- •5.1.3Входной язык – описание сети Петри.
- •5.1.4Входной язык.
- •5.1.5Трассировка при имитации.
- •5.1.6Особенности реализации событийного механизма.
- •6Содержание и оформление результатов работы.
- •7Варианты.
2.1.7Развитие базы данных сети Петри.
Для работы схемы Петри мы введем протокол внешних воздействий SP. Желательна упорядоченность строк таблицы протокола SP по возрастанию значения времени в поле TM. В нем описываются все события поступления или передачи внешнему окружению меток (фишек, точек). Каждый факт (событие) задается тройкой значений:
SN - имя состояние на которое оказывается воздействие;
TM - момент времени события воздействия;
NM - количество меток поступивших (>0) или переданных (<0).
Протокол активных переходов TP позволяет описать, как сеть Петри функционировала при заданных внешних воздействиях. Для ординарных сетей достаточно указание имени места–перехода TN и прогноза момента завершения его работы ТK. Эта информация функционально зависит от внешних воздействий на сеть и её состояния, т.е. это есть результаты моделирования в самом компактном виде. Желательна упорядоченность строк таблицы протокола TP по возрастанию значения времени в поле TK.
Очевидно, что начальные условия можно описать в протоколе SP, а начальное состояние (как активности мест-переходов) в протоколе TP. Но эта информация не поддерживает непосредственно саму работу сети Петри, алгоритм которой требует отдельного рассмотренния.
2.1.8Алгоритм работы сети Петри.
Допустим, что в некоторый момент времени t известна разметка сети (т.е. количество меток в местах-состояниях) и множество уже активных мест-переходов TA. Нас интересуют прогнозы времени завершения активности последних, которые легко вычислить, т.к. нам известны их задержки. Следовательно, мы можем сформировать рабочую таблицу, в дальнейшем называемую “Календарь событий”, с заголовком EС={TN,TH,TK}, где TH – значения начальных моментов времени активности мест-переходов, а TK – прогнозы моментов времени завершения активности.
1. Если “Календарь событий” упорядочен по возрастанию значений в поле TK, то не составляет труда выделить переходы, которые завершают свою работу, т.е. TK = t. Эти места-переходы должны сбросить свои метки в выходные места-состояния, после чего их удаляют из калентаря событий в протокол активности. Можно считать, что эти содытия произошли в момент времени t-.
2. Мы проверяем на момент времени t наличие внешних воздействий и если они есть, выполняем их. При этом если не удалось забрать метки из места-состояния по причине их недостаточности, то берем их сколько сможем и формируем на остаток новое, “отложенное” внешнее событие.
3. К моменту времени t+ мы имеем последствия все воздействий на места-состояния. Предстоит определить, каким образом оставшиеся в них метки инициируют активности мест-переходов. Дело в том, что между местами переходами возможна борьба за одни и те же ресурсы – метки. Эти коллизии мы рассмотрим отдельно. А пока мы можем считать, что определили множество активизирующихся мест-переходов. Они захватывают положенные им метки и попадают в “Календарь событий”.
4. В “Календаре событий” мы находим ближайший прогноз окончания активности места-перехода по возрастанию к моменту t, а в протоколе внешних воздействий, аналогично – ближайшее воздействие. Выбираем из них минимальное как новое значение t. После этого повторяется описанния нами процедура.
