- •Цельлабораторной работы.
- •Тактическая цель.
- •Стратегическая цель.
- •Общие теоретические положения.
- •Сеть Петри – это очень просто.
- •Процессы хранения и преобразования.
- •Связи мест в сети Петри.
- •Статическое представление сети Петри.
- •База данных статического представления сети Петри.
- •Элементы и связи как образы процессов.
- •Жизнь сети Петри.
- •Развитие базы данных сети Петри.
- •Алгоритм работы сети Петри.
- •Коллизии в работе сети Петри.
- •Средства выполнения работы.
- •Советы и рекомендации.
- •Первый вариант реализации программы.
- •Второй вариант реализации программы.
- •Анализ организации данных первого варианта.
- •Как построить объектную базу данных.
- •Порядок выполнения работы.
- •Определите структуру данных приложения.
- •Детализируйтереализацию алгоритма.
- •Входной язык – описание сети Петри.
- •Входной язык.
- •Трассировкапри имитации.
- •Особенности реализации событийного механизма.
- •Содержание и оформление результатов работы.
- •Варианты.
Алгоритм работы сети Петри.
Допустим, что в некоторый момент времени t известна разметка сети (т.е. количество меток в местах-состояниях) и множество уже активных мест-переходов TA. Нас интересуют прогнозы времени завершения активности последних, которые легко вычислить, т.к. нам известны их задержки. Следовательно, мы можем сформировать рабочую таблицу, в дальнейшем называемую “Календарь событий”, с заголовком EС={TN,TH,TK}, где TH – значения начальных моментов времени активности мест-переходов, а TK – прогнозы моментов времени завершения активности.
1. Если “Календарь событий” упорядочен по возрастанию значений в поле TK, то не составляет труда выделить переходы, которые завершают свою работу, т.е. TK = t. Эти места-переходы должны сбросить свои метки в выходные места-состояния, после чего их удаляют из калентаря событий в протокол активности. Можно считать, что эти содытия произошли в момент времени t-.
2. Мы проверяем на момент времени t наличие внешних воздействий и если они есть, выполняем их. При этом если не удалось забрать метки из места-состояния по причине их недостаточности, то берем их сколько сможем и формируем на остаток новое, “отложенное” внешнее событие.
3. К моменту времени t+ мы имеем последствия все воздействий на места-состояния. Предстоит определить, каким образом оставшиеся в них метки инициируют активности мест-переходов. Дело в том, что между местами переходами возможна борьба за одни и те же ресурсы – метки. Эти коллизии мы рассмотрим отдельно. А пока мы можем считать, что определили множество активизирующихся мест-переходов. Они захватывают положенные им метки и попадают в “Календарь событий”.
4. В “Календаре событий” мы находим ближайший прогноз окончания активности места-перехода по возрастанию к моменту t, а в протоколе внешних воздействий, аналогично – ближайшее воздействие. Выбираем из них минимальное как новое значение t. После этого повторяется описанния нами процедура.
Коллизии в работе сети Петри.
Примером коллизии будет случай, данный на рисунке заголовка. Очевидно, что единственная метка в месте-состоянии S2 может быть использована либо местом-переходом Т1 (тогда Т2 – будет пассивен), либо метом-переходом Т2 (и будет пассивен Т1). Какой вариант выбрать?
Для того, чтобы избежать коллизий существует несколько способов задания приоритетов мест-переходов или их входных связей. В общем случае существуют специальные алгоритмы исследования сетей Петри и обнаружения коллизий. Очевидно, что это следствие свойства сети Петри работать параллельно и асинхронно.
Средства выполнения работы.
В Вашем распоряжении рабочее место, т.е. достаточно мощный персональный компьютер, который позволяет отлаживать программы на языке С++ (т.е. MS Visial C++ не ниже 6.0). Предполагается, что Вы блестяще (в крайнем случае - хорошо) знаете С++ в объеме курса Дейтел&Дейтел. Накануне лабораторной работы Вы ознакомились с понятиями сети Петри в трактовке раздела 2 данного методического руководства. Перед Вами лежат результаты Лаб.раб. №01.01.00 – распечатка IDEF0-диаграмм и описание примера - модели проблемной ситуации в вербальной форме и текст содержания Журнала Системного Анализа (ЖСА).