Блок GENERATE (ГЕНЕРИРОВАТЬ) - это блок, через который транзакты входят в модель. Не существует ограничений на количество разных блоков GENERATE в одной модели.
Интервал времени между последовательными появлениями транзактов из блока GENERATE называют интервалом поступления. Когда транзакт входит в модель через блок GENERATE, интерпретатор планирует время поступления следующего транзакта путем розыгрыша случайного числа с соответствующим распределением интервалов поступления на время, равное текущему значению ЧАСОВ плюс разыгранное значение.
При достижении этого значения модельного времени следующий транзакт вводится в модель через блок GENERATE и т.д.
Разработчик должен задать функцию распределения интервалов поступления транзактов в блоке GENERATE.
Все возможные виды случайных распределений интервалов поступления транзактов в GPSS делятся на равномерное распределение и другие виды распределений. В нашем случае специально рассматривают самое простое из всех случайных нетривиальных распределений - равномерное распределение. Использование других видов распределений требует задания функций, которые описаны ниже (см. параграф 4.13).
|
|
Формат блока:
GENERATE [AJ,[B],[C],[D],[E]
Таблица 4.2
Операнд | Значение | Значение по умолчанию |
А | Средний интервал времени (число, СЧА) | |
В | Половина поля допуска равномерно распределенного интервала (число, СЧА) | |
С | Смещение интервалов | Смещение отсутствует |
D | Ограничитель транзактов | Бесконечно |
Е | Уровень приоритета транзакта. Возможные значения 0 - 127 |
Значение операндов:
А - среднее значение интервала поступления;
В - величина разброса возможных значений относительно среднего значения. (Если операнд В не задается, то интервал времени поступления - детерминированная величина);
С - момент времени, в который в блоке GENERATE должен появиться первый транзакт. (После этого первого прихода все остальные приходы транзактов возникают в соответствии с распределением, заданным операндами А и В);
D - ограничитель общего числа транзактов, которое может войти в модель через данный блок GENERATE на протяжении времени моделирования. (Если это число достигнуто, данный блок GENERATE перестает быть активным);
Е - уровень или класс приоритета каждого из транзактов, которые вводятся в модель через данный блок GENERATE. (Всего существует 128 разных уровней, которые задаются с помощью чисел от О до 127. Чем больше число, тем выше приоритет).
1. Транзакты не могут входить в блок GENERATE, так как он сам их генерирует.
2. Если в модели GPSS/PC встречаются подряд два или больше блоков GENERATE, то последний блок переопределяет операнды предыдущих блоков. В GPSS World транслятор выдает ошибку.
3. Операнды не могут быть отрицательными числами.
Операнды А, В, С целочисленные (в GPSS World могут быть действительными числами).