танням модифікатора-функції або вбудованих генераторів випадкових чисел. Під дією модифікатора-функції значення операнда А множиться на значення функції, заданої операндом В.
При будь-якому способі обчислення інтервалу часу значення операнда В не повинно перевищувати значення операнда А, в іншому випадку в блоці GENERATE може бути отриманий негативний інтервал часу, який викличе останов помилково "Негативне час затримки". p> Розглянемо три додаткових операнда: З - зміщення інтервалів, D - обмежувач, Е - рівень пріоритету.
Зсув інтервалів (Первісна затримка) С - це момент часу, в який у блоці GENERATE повинен з'явитися перший транзакт. Після цього першого приходу всі інші парафії транзактов виникають відповідно з розподілом інтервалів часу, що задаються операндами А і B. Операнд С можна використовувати як для прискорення, так і для уповільнення приходу першого транзакта або для вказівки приходу в потрібний момент часу. Початкова затримка може бути менше, дорівнює або більше середнього часу, заданого операндом А. Коли операнд С не використовується, інтервали генерування визначаються операндами А і B (вони не роблять впливу на затримку). Операнд С може бути таким же як і операнди А і B.
Операнд D задає граничне значення загального числа транзактов, які можуть увійти в модель через даний блок GENERATE протягом часу моделювання. Коли це число досягнуто, даний блок GENERATE перестає бути активним. Якщо не визначено граничне значення (операнд D не використовується), блок GENERATE залишається активним протягом всього часу моделювання, тобто за замовчуванням обмеження на кількість створюваних транзактов немає.
Операнд Е встановлює клас пріоритету кожного з транзактов, що входять в модель через даний блок GENERATE. Для завдання пріоритетів c метою підвищення ефективності роботи GPSS World рекомендується використовувати послідовність цілих чисел 0, 1, 2, 3, ... замість, наприклад, 37, 43, 88, 122, ... Чим вище число, тим вище пріоритет. Якщо операнд Е не використовується, за замовчуванням пріоритет генеруються даними блоком GENERATE транзактов дорівнює нулю. p> Операнди D і Е можуть задаватися також як і операнди А, B і С, але при цьому приймати значення тільки цілих позитивних і цілих чисел відповідно.
У будь-якому блоці GENERATE повинен бути обов'язково заданий або операнд А, або операнд D. Не можна використовувати в качествеоперанда параметри транзактов. Необхідно також пам'ятати, що транзакт не повинен входити в блок GENERATE. Якщо транзакт намагається це робити, виникає помилка виконання. Наведемо приклади запису блоків GENERATE:
з операндом А
1. GENERATE 38.6
2. GENERATE X $ IntPostTran
3. GENERATE MX $ VrPost (3,6)
4. GENERATE V $ Prom
5. GENERATE (Exponential (11,0, X $ Mat))
6. GENERATE IntPostTran
з операндами А і B
7. GENERATE 73.25, X $ Otk
8. GENERATE X $ Sredne, FN2
9. GENERATE...