Популярные услуги

Все письменные КМ под ключ за 3 суток! (КМ-6 + КМ-7 + КМ-8 + КМ-9 + КМ-10)
КМ-6. Динамические массивы. Семинар - выполню любой вариант!
КМ-2. Разработка простейших консольных программ с использованием ООП + КМ-4. Более сложные элементы ООП - под ключ!
Любая задача на C/C++
Одно любое задание в mYsql
Сделаю ваше задание: Лабораторная работа на Pascal / Lazarus
Любой тест по базам данных максимально быстро на хорошую оценку - или верну деньги!
Любой реферат по объектно-ориентированному программированию (ООП)
Повышение уникальности твоей работе
Оба семинара по программированию под ключ! КМ-2. Разработка циклических алгоритмов + КМ-3. Функции и многофайловые программы в Си
Главная » Лекции » Информатика и программирование » Лекции по сетям Петри » Использование сетей Петри для моделирования процессов синхронизации

Использование сетей Петри для моделирования процессов синхронизации

2021-03-09СтудИзба

Использование сетей Петри для моделирования процессов синхронизации. Задача Д.Питерсона. PERT-диаграммы и сети Петри. Примеры.

 

Введение параллелизма полезно только в том случае, когда ком­поненты процессов могут  взаимодействовать при получении реше­ния задачи. Такое взаимодействие требует распределения ресурсов между процессами. Для гарантии правильности работы системы в целом распределением необходимо управлять. Проблемы синхро­низации, возникающие при взаимодействии процессов, иллюстри­руются многочисленными примерами, приведенными в литераторе. Среди задач синхронизации: задача о взаимном исключении, производителе/потребителе , обедающих мудрецах , чте­нии/записи и др.

Эти задачи стали классическими в области синхронизации; каж­дое новое предложение по механизму синхронизации должно решать их. И хотя сети Петри представляют собой схему моделирования, а не механизм синхронизации, они определенно способны модели­ровать механизмы синхронизации. Мы представляем здесь некото­рые решения в виде сетей Петри. Такое представление основано частично на работе .

Описанные до сих пор системы относятся к самому очевидному типу систем, моделируемых сетями Петри: аппаратному и про­граммному обеспечению ЭВМ. Но в большей части эта «очевидность» является результатом того, что сети Петри были определены и раз­работаны главным образом для этой цели. Но они также приме­нимы для моделирования большого числа других систем, совер­шенно отличных от вычислительных систем. В этом разделе мы бег­ло ознакомимся с некоторыми из них.

PERT-диаграмма давно используется для планирования боль­ших проектов. PERT-диаграмма является графическим представле­нием взаимосвязей между различными этапами, составляющими проект. Проект представляет собой совокупность большого числа этапов, при этом некоторые этапы должны завершиться прежде, чем начнут выполняться другие. Кроме того, на выполнение каждого этапа требуется определенное количество времени (иногда каждому этапу соответствует три времени, соответствующие худшему, сред­нему и лучшему случаям). Этапы графически представлены узла­ми; дуги используются для отображения причинно-следственных связей между ними.

PERT-диаграмма и сеть Петри взаимосвязаны: PERT-диаграмма легко преобразуется в сеть Петри. Каждый этап PERT-диаграммы представляется позицией, причинно-следственные связи — пере­ходами. Диаграмма на рис. 3.35 может быть преобразована в экви­валентную сеть Петри, изображенную на рис. 3.36.

Сеть Петри является превосходным средством для представления параллелизма и причинно-следственных связей PERT-диаграммы, но PERT-диаграмма предоставляет также информацию о времени, используемую для определения минимального времени, необходи­мого для выполнения проекта, —«время позднего начала» и т. д. Сеть Петри не содержит такой информации. Добавление информации о времени может придать сети новое мощное свойство, но это несов­местимо с основными концепциями сетей Петри. Для такого рас­ширения сетей Петри требуются дополнительные исследования .

Конвейерная обработка, описанная в разд. 3.3.2, является част­ным случаем производственной системы . Сборочная линия — другой пример производственной системы. Производственные систе­мы и сборочные линии могут быть промоделированы сетями Петри.

Рекомендуемые материалы

Одно из первых применений сетей Петри — применение в качестве средства генерации оптимального кода для компилятора с [ Фортрана CDC 6600. Подход к решению этой задачи, предложенный , заключался в моделировании программы на Фортране | сетью Петри   способом,  подобным моделированию блок-схемы £(разд. 3.4.1). Затем отдельные операторы программы рассматривались с целью определения минимального набора причинно-следственных связей между операторами, позволяя исключать из сети • Петри некоторые из искусственно введенных ограничений на последовательность операторов программы. Эти искусственные ограничения введены из-за необходимости для программиста представ­лять программу на Фортране в виде последовательности, задающей полный порядок на множестве операторов, даже если требуется только частичное упорядочение. В качестве примера рассмотрим следующие три оператора:

         10y=x+1 ,

         20y=y+1,

         30z=x+y.

Они написаны таким образом, что оператор 10 предшествует опера­тору 20, но такая последовательность вовсе необязательна. Поря­док, в котором будут выполнены операторы 10 и 20 (или они будут выполнены одновременно), не имеет значения для программы. Од­нако оператор 30 должен следовать только после операторов 10 и 20. После изменения упорядочения операторов необходимо рас­смотреть и поток управления. Этот анализ заключается в примене­нии условий Бернстайна для обеспечения детерминированности.

Результатом такого анализа является сеть Петри, представляю­щая программу с минимальными ограничениями на последователь­ность операторов, т. е. допускающую максимальный параллелизм. Теперь задача состоит в компиляции такой программы. Это требует отображения переменных в регистры и упорядочения инструкций для получения полностью упорядоченной последовательности ин­струкций машинного языка.  CDC 6600 — это ЭВМ с несколькими регистрами и кратными функциональными блоками (разд. 3.3.3). Так как функциональные блоки могут выполнять различные ин­струкции параллельно, то очень важно порождать инструкции в порядке, максимально увеличивающем параллелизм при работе функциональных блоков. На это также влияет распределение пере­менных по регистрам. Сеть Петри, моделирующая программу и представляющая ограничения, налагаемые программой, объединя­ется с сетью Петри, моделирующей устройство управления CDC 6600 и представляющей ограничения, налагаемые аппаратным обе­спечением. Такая объединенная сеть представляет все возможные последовательности инструкций, которые могут выполняться ап­паратурой и реализовать алгоритм данной программы. Эта сеть затем выполняется для получения всех таких последовательностей инструкций. Две (или более) последовательности образуются вся кий раз, когда два (или более) перехода одновременно разрешены. Запуск одного перехода будет порождать одну последовательность; запуск другого перехода — другую. Например, сеть Петри на рис. 3.37 представляет последовательности abcdef, bacdef, abcedf, bacedf. После того как последовательности получены, вычисляются необходимые затраты времени на их выполнение, и наиболее быст­рая последовательность генерируется компилятором для действи­тельного выполнения.

Химические системы — другой пример систем, которые могут быть промоделированы сетями Петри. Химические уравнения моде­лируются переходами; вещества, участвующие в реакции, — по­зициями. Количество фишек в позиции указывает на количество данного вещества в системе. Например, сеть Петри на рис. 3.38 представляет два химических уравнения:

Н2С204 →   2СОа + 2Н+ + 2е-

2е- + 2Н+ + Н202 → 2Н20.

Люди также интересуются этой лекцией: 21 Атмосферный углекислый газ.

Можно представить и реакции катализа. Соединение водорода и этилена образует этан (Н2 + С2Н4 → С2Н6) только в присутствии платины. Это отражено на рис. 3.39.

Мельдман и Хольт  выдвинули предположение, что и юри­дические системы могут быть промоделированы сетями Петри. В этих системах несколько действующих лиц (судьи, адвокаты, об­виняемые, клерки и др.) могут одновременно выполнять действия, относящиеся к конкретному делу. Действия и их взаимосвязи могут быть представлены сетью Петри. Например, сеть Петри на рис. 3.40 является моделью начальных стадий гражданского процесса.

Другое предложение заключается в использовании сетей Петри для моделирования и анализа протоколов связи . В сетях ЭВМ и системах распределенных процессов необходима возможность пе­редачи информации между ЭВМ. В этой задаче существенно при­сутствует параллелизм, и поэтому она попадает в класс задач, для которых определены сети Петри. Фарбер и его ученики  разработали методологию для спецификации, проектиро­вания и анализа простых протоколов связи, используя сети Петри и подобные модели.

Другие системы, которые могли быть промоделированы сетями Петри, включают в себя системы очередей (где очереди были бы представлены позициями, а работы — фишками); модели мозга (запуски нейронов могли бы моделироваться запусками переходов); исчисление высказываний  (позиции представляют буквы, а переходы объединяют их для определения предложений в конъ­юнктивной нормальной форме) и многие другие системы. Этот спи­сок ограничен в основном временем и воображением человека, но не свойствами сетей Петри.

Однако мы видели по крайней мере один пример (задача о чте­нии/записи), который нельзя промоделировать с помощью сети Петри. И хотя моделирование с помощью сетей Петри может быть полезным при описании системы, необходимо разработать средства анализа, которые бы позволили исследовать сеть Петри и определить ее свойства. Обратимся к этому в следующей главе, в которой представлены методы анализа сетей Петри.

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5137
Авторов
на СтудИзбе
440
Средний доход
с одного платного файла
Обучение Подробнее