Найти в Дзене
Охота на математику

Сеть Петри нагляднее изоморфной машины состояний

Сеть Петри, моделирующая систему "Производитель-Потребитель с буфером".
Пример синхронизации двух параллельных процессов. Как работает: Что здесь важно: Если добавить больше фишек в P1 и P4, система сможет хранить несколько товаров одновременно.

Сеть Петри, моделирующая систему "Производитель-Потребитель с буфером".
Пример синхронизации двух параллельных процессов.

Как работает:

  1. Начальное состояние:
    В P1 (Сырье) есть фишка — есть что производить.
    В P4 (Свободное место в буфере) есть фишка — есть куда складывать готовый товар.
  2. Производитель (левая часть):
    Переход T1 может сработать, только если есть сырье (P1) И есть место в буфере (P4).
    Когда T1 срабатывает:
    Забирает сырье (P1).
    Занимает место в буфере (P4).
    Производит товар (P2).
  3. Потребитель (правая часть):
    Переход T2 может сработать, если есть товар (P2).
    Когда T2 срабатывает:
    Забирает товар (P2).
    Освобождает место в буфере (P4).
    Выбрасывает в мусор (P3).

Что здесь важно:

  • Параллелизм: Производитель и потребитель работают независимо.
  • Синхронизация: Производитель не может сделать товар, если нет места. Потребитель не может потребить, если нет товара.
  • Ограниченный ресурс: Позиция P4 работает как семафор — сколько в ней фишек, столько свободных мест в буфере.

Если добавить больше фишек в P1 и P4, система сможет хранить несколько товаров одновременно.

Машина состояний для системы "Производитель-Потребитель":

-2
  • Из S0 (есть сырье и место, нет товара) → производим → попадаем в S1 (есть сырье, место занято, товар есть)
  • Из S1 → потребляем товар → возвращаемся в S0 (освободили место, сырье еще есть)
  • Из S1 → сырье закончилось (внешнее событие) → попадаем в S2 (сырья нет, место занято, товар есть)
  • Из S2 → потребляем товар → попадаем в S3 (сырья нет, место свободно, товара нет)
  • Из S3 → пополнили сырье → возвращаемся в S0 (снова есть сырье и место)