Генерация и удаление транзактов
GENERATE - блок, через который транзакты входят в модель. Интерпретатор планирует время поступления следующего транзакта разыгрыванием случайного числа в соответствии с распределением интервалов времени поступления. Это число добавляется к текущему значению таймера. При достижении соответствующего значения времени следующий транзакт вводится в модель через блок GENERATE. Необходимо задавать спецификацию распределения интервалов времени поступления в блоке. По умолчанию используется равномерное распределение. В операторной форме: GENERATE A,B,C,D,E.Графическое представление блока на рисунке 2-1.
Рисунок 2-1. Графическое представление блока GENERATE.
• A - определяет математическое ожидание времени между последовательными приходами транзактов;
• B - задает половину размаха интервалов времени;
• C - время появления первого транзакта;
• D - граничное значение общего числа транзактов;
• E - устанавливает уровень приоритета транзактов.
TERMINATE - блок, который удаляет транзакты из модели. В операторной форме блок имеет вид: TERMINATE A.Графическое представление на рисунке 2-2.
Рисунок 2-2. Графическое представление блока TERMINATE.
Операнд A используется при реализации таймера модельного времени для изменения содержимого счетчика завершений.
Имитация обслуживания.
Свойства прибора:
• в любой момент времени может обслуживать только одно требование;
• при поступлении требования осуществляется задержка времени в модели, необходимое для его обслуживания. Такое время называется временем обслуживания.
Каждому прибору в модели должно быть присвоено уникальное имя. Имена могут быть либо числовыми, либо символьными. Числовой идентификатор должен быть положительным целым числом. Символьное имя должно начинаться на букву. Допускается до 256 символов или цифр.
При использовании прибора реализуются действия:
• Если необходимо, то ожидание своей очереди.
• Когда подходит очередь, прибор становится занятым. Это событие происходит в некоторый момент модельного времени.
• Прибор остается в состоянии занятости, пока не закончится обслуживание. Для обслуживания требуется некоторый интервал времени.
• По окончании обслуживания прибор должен быть освобожден. Освобождение прибора происходит в некоторый момент модельного времени.
Реализация перечисленных действий осуществляется последовательным прохождением транзакта трех блоков: SEIZE (ЗАНЯТЬ), ADVANCE (ЗАДЕРЖАТЬ), RELEASE (ОСВОБОДИТЬ).
В операторной форме SEIZE A,где A - имя (символическое или числовое) прибора. Графическое представление на рисунке 2-3.
Рисунок 2-3. Графическое представление блока SEIZE.
1. Если прибор занят, то транзакт не может войти в блок и помещается в очередь.
2. Если прибор свободен, то транзакт может войти в блок. Выполняется процедура изменяющая статус прибора из "незанято" в "занято".
В операторной форме ADVANCE A,BЗдесь A -математическое ожидание интервала модельного времени задержки транзакта в блоке. B -Половина поля допуска равномерно распределенного интервала модельного времени. Графическое представление оператора на рисунке 2-4
Рисунок 2-4. Графическое представление блока ADVANCE.
В операторной форме RELEASE A,где A - имя (символическое или числовое) освобождаемого прибора. Графическое представление на рисунке 2-5.
Рисунок 2-4. Графическое представление блока RELEASE.
Блок RELEASE никогда не запрещает вход транзакта. Блоки SIEZE и RELEASE дополняют друг друга.