На этом шаге мы рассмотрим понятия события и условия.
Простое представление системы сетью Петри основано на двух основополагающих понятиях: событиях и условиях. События - это действия, имеющие место в системе. Возникновением событий управляет состояние системы. Состояние системы может быть описано множеством условий. Условие - это предикат или логическое описание состояния системы. Условие может принимать либо значение "истина", либо значение "ложь".
Так как события являются действиями, то они могут происходить. Для того, чтобы событие произошло, необходимо выполнение соответствующих условий. Эти условия называют предусловиями события. Возникновение события может вызывать нарушение предусловий и может привести к выполнению других условий, постусловий.
В качестве примера, рассмотрим задачу моделирования простого автомата-продавца. Автомат-продавец находится в состоянии ожидания до тех пор, пока не появится заказ, который он выполняет и посылает на доставку. Условиями для такой системы являются:
Событие | Предусловия | Постусловия |
---|---|---|
1 | нет | b |
2 | a, b | c |
3 | c | d, a |
4 | d | нет |
Такое представление системы легко моделировать сетью Петри. В сети Петри условия моделируются позициями, события - переходами. При этом входы перехода являются предусловиями соответствующего события; выходы - постусловиями. Возникновение события равносильно запуску соответствующего перехода. Выполнение условия представляется фишкой в позиции, соответствующей этому условию. Запуск перехода удаляет разрешающие фишки, представляющие выполнение предусловий и образует новые фишки, которые представляют выполнение постусловий.
Сеть Петри на рисунке 1 иллюстрирует модель приведенного выше автомата-продавца. Каждому переходу и позиции указаны соответствующие событие и условие.
Рис.1. Сеть Петри для простого автомата-продавца
Аналогичный пример можно привести для вычислительной системы, которая обрабатывает задания, поступающие с устройства ввода, и выводит результаты на устройство вывода. Задания поступают на устройства ввода.
Когда процессор свободен и в устройстве ввода есть задание, процессор начинает обработку задания. Когда задание выполнено, оно посылается в устройство вывода; процессор же либо продолжает обрабатывать другое задание, если оно имеется, либо ждет прихода задания, если устройство ввода еще не получило такового. Эта система может быть промоделирована сетью Петри, показанной на рисунке 2.
Рис.2. Моделирование простой вычислительной системы
На следующем шаге мы рассмотрим одновременность и конфликт.