
- •1.Эффективность вычислений. Основные понятия и определения.
- •2. Алгоритм. Основные понятия и определения.
- •3. Семантическая теория программ.
- •4. Схемы программ.
- •5. Способы задания алгоритмов.
- •6. Универсальные модели алгоритмов.
- •7. Понятийные средства спецификации программ.
- •8. Основные требования к спецификации программ.
- •9. Спецификации в жизненном цикле программ.
- •10. Методы спецификации программ.
- •1. Табличные средства.
- •2. Равенства и подстановки.
- •3. Логические средства и аксиоматические описания.
- •4. Графовые средства: графы, сети, диаграммы.
- •5. Конечно-автоматные диаграммы.
- •6 Синтаксические диаграммы.
- •7. Сети Петри.
- •11. Графические методы спецификации.
- •12.Автоматное преобразование информации
- •13. Основные понятия и определения теории конечных автоматов
- •14.Способы задания конечных автоматов.
- •15. Конечный автомат как модель «реагирующей системы».
- •16. Конечный автомат как модель протокола передачи сообщений в сетях.
- •17. Конечный автомат как модель взаимодействия процессов.
- •18. Автоматы Мура и Милли.
- •19. Примеры конечных автоматов.
- •20. Программная и аппаратная реализация конечных автоматов.
- •21. Сети Петри: принципы построения.
- •22. Теория комплектов.
- •Структура сети Петри.
- •24. Графы сети Петри.
- •25.Аналитическое и графическое представление сети Петри.
- •26. Маркировка сети Петри.
- •27.Выполнение сети Петри.
- •28. Пространство состояний сети Петри.
- •31. Сети Петри как аппарат для моделирования систем
- •32. Одновременность и конфликт сети Петри.
- •33. Моделирование аппаратного обеспечения сетями Петри
- •34.Моделирование программного обеспечения сетями Петри
- •35.Параллелизм в сетях Петри.
- •36,48 Моделирование дискретных процессов сетями Петри.
- •37. Безопасность сетей Петри
- •38.Ограниченность сети Петри
- •39.Тупики в сетях Петри.
- •40. Достижимость в сети Петри. См. Билет 29
- •41. Дерево достижимости в сетях
- •42. Анализ сетей Петри
- •47. Матричное представление сетей Петри.
- •50. Недостатки классических сетей Петри.
- •1.Эффективность вычислений. Основные понятия и определения. 1
34.Моделирование программного обеспечения сетями Петри
Кроме аппаратного обеспечения сети Петри чаще всего моделируют программное обеспечение.
Программа представляет два различных аспекта процесса: вычисление и управление. Вычисление связано с арифметическими и логическими операциями или вводом и выводом. Управление же связано с порядком выполнения операций.
Сети Петри удобно представляют структуру управления программ и предназначены для моделирования инструкций и потока информации, а не для действительного вычисления самих значений.
Стандартный способ представления структуры управления программ – блок-схемы. Они представляют поток управления в программе. Заметим, что и блок-схема не указывает конкретные вычисления, а только определяет структуру, то есть она является абстрактной. Например, блок схема, программа и сеть Петри на следующем рисунке:
Блок-схема во многом подобна сети Петри: она представима в виде узлов двух типов (ромбов для решений и прямоугольников для вычислений) и дуг между ними. Удобный способ выполнения блок-схемы - введение маркера, который представляет текущую инструкцию. По мере выполнения блок-схемы маркер передвигается по блок-схеме. Казалось бы, легко превратить блок-схему в сеть Петри, если заменить узлы блок-схемы на позиции, а дуги на переходы.
Однако заметим, что в сети Петри действия моделируются переходами, тогда как в блок-схеме действия моделируются узлами. Кроме того, если движение маркера текущих инструкций в блок-схеме надо приостановить, это делается между узлами, на дугах, а не внутри блока. Таким образом, правильный перевод блок-схемы в сеть Петри заменяет узлы блок-схем на переходы сети Петри, а дуги блок-схем - на позиции сети Петри. Каждая дуга блок-схемы соответствует точно одной позиции в сети Петри. Узлы блок-схемы представляются по-разному в зависимости от типа узла: вычисление или принятие решения.
Некоторые замечания: Фишка, находящаяся в позиции, означает, что счетчик команд установлен на готовность выполнения следующей инструкции. Каждая позиция имеет единственный выходной переход, за исключением позиции, которая предшествует принятию решения, такие позиции имеют по два выходных перехода, соответствующих истинному (true) и ложному (false) значению предиката. Таким образом, переходы для вычисления имеют один вход и один выход, так как они не могут находиться в конфликте. Действие же связанное с принятием решения, вводит в сеть конфликт. Выбор способа его разрешения либо недетерминирован, либо им можно управлять извне (вычислителем, вычисляющим истинность или ложность предиката и вынуждающим запуск нужного перехода).
35.Параллелизм в сетях Петри.
Параллелизм или одновременность выполнения некоторых операций может быть введен несколькими способами. Один из них с использованием операций FORK и JOIN впервые предложил Денис и Ван Форк. Операция FORK, выполняемая на участке c позицией pi, создает два новых процесса j и k. Операция JOIN соединяет два или более процессов в один, продолжающийся на участке k. Другое предложение по введению параллелизма основано на операциях PARBEGIN и PAREDN, предложенных Дейкстрой.
PARBEGIN означает, что начиная с этого участка, процесс распараллеливается на несколько параллельных участков и все эти параллельные участки объединяются на участке PAREND.
Эти операции моделируются в сетях Петри, как показанао на рис. 4.13 (стр 79)
Структура управления, введенная Дейкстрой имеет вид parbegin S1, S2,…,SN. PAREND. Смысл её заключается в параллельном выполнении каждого из предложений S1, S2,…,Sn, заключенных в оперативные скобки parbegin и parend.
Достоинством системы распараллеливания, предложенной Дейстрой можно считать наглядную демонстрацию иерархической природы сетей Петри, поскольку каждое из предложений Si может представлять из себя нетривиальное событие или является некоторой подсетью.
Введение параллелизма полезно только в том случае, когда компоненты процессов могут взаимодействовать в процессе решения задачи. Это требует распределения ресурсов между процессами.
Для гарантии правильности работы системы распределением необходимо управлять.
Хотя сети Петри представляют собой схему моделирования (сложных дискретных процессов), а не механизм синхронизации, они позволяют моделировать схему взаимодействия (управлять общими ресурсами).
Проблемы синхронизации, возникающие при взаимодействии процессов исключительно важны во многих практических задачах. Эти задачи классическими в области синхронизации, назовем лишь некоторые: задача о взаимном исключении, задача о производителе и потребителе, задача чтения/записи и другие.