Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Доррер Методы моделирования дискретных систем.doc
Скачиваний:
64
Добавлен:
12.09.2019
Размер:
3.95 Mб
Скачать

2.2.4. Расширения cpn

Как уже отмечалось в п. 2.1.5., использование сетей Петри в различных прикладных задачах может потребовать придания им дополнительных возможностей, что приводит к созданию расширений этих сетей. Некоторые расширения аналогичны рассмотренным в п 2.1.5, (например иерархические СРN), потребность в ряде других отсутствует, т.к. формализм СРN позволяет их описать (CPN с приоритетами, ингибиторные сети, самомодифицируемые сети).

Ниже мы рассмотрим одно важное расширение СРN, значительно расширяющее их моделирующие возможности.

CPN с временным механизмом

Существует ряд задач моделирования, в которых необходимо учитывать не только последовательность событий, но и время их наступления, а также продолжительность. Для этой цели предусмотрено расширение возможностей раскрашенных сетей Петри путем введения временного механизма (так называемых timed CPN [10]). В несколько упрощенном виде сущность такого расширения описана ниже.

А. В модель системы вводятся часы, показывающие глобальное время t. Обычно это время считается дискретным, т.е. означает номер такта, выдаваемого тактовым генератором системы моделирования. Глобальное время t отличается от времени θ, которое содержится в определении (2.10), поскольку θ есть номер шага работы CPN, а t изменяется независимо от работы сети.

Б. Ресурсы, перемещаемые в сети (фишки), могут получить временные метки. Такие ресурсы в общем виде задаются мультимножествами с временными метками (timed multi-sets), однако мы эту теорию не рассматриваем. Отметим лишь, что при описании множества цветов добавляются пометки timed, а переменные соответствующего типа снабжаются знаками @ (по-английски читается at, т.е. «во время»). Это означает, что переменная привязана к глобальному времени. После значка @ в квадратных скобках указывается значение глобального времени, в течение которого возможно использование данных фишек для срабатывания переходов, для которых они являются входными. При этом запись вида @[500] говорит о том, что фишка «включается» в момент t = 500 и далее готова для работы в сети, а запись @[500, 600] означает, что фишка может использоваться в диапазоне глобального времени 500 < t < 600.

Приведем пример.

type colorU = (p,q,r);

type color I — Integer;

type colorP = product U*I timed ;

var x : colorP.

Возможное значение мультимножества, определяемого переменной х:

2'(р,4)@[543].

В. Каждый переход, на вход которого поступают фишки, имеющие временные метки, получает дополнительное условие срабатывания: он может сработать только в том случае, если системное время удовлетворяет всем условиям на входных фишках.

В свою очередь, при срабатывании переход может увели­чить временную метку фишки, т.е. смоделировать задержку в работе системы. Величина задержки определяется специальным выражением, связанным с переходом и имеющим вид @+ tz , где tz - время задержки, задаваемое числом или функцией.

Пусть в сети (рисунок 2.7) начальная маркировка такова: m1 =2'(p4)@[543], т2 =0. Выражения на дугах показаны на схеме. Глобальное время т = 543. Переход t может сработать, при этом он осуществит задержку передачи фишек в р2 на 12 единиц времени в соответствии с выражением на t. Таким образом, после срабатывания t получим маркировку

m1, m2 =2'(p,4)@[555].

Пример CPN с временным механизмом приведен в п. 2.3.3.