Блок TRANSFER в режимі ALL автоматично аналізує систему і вибирає вільні місця по обслуговуванню заявок, які входять. У цьому режимі транзакт займає перший блок із сукупності, заданої полями <В>, <С>, <D>.
Наприклад, блок TRANSFER в режимі ALL може мати наступний формат запису:
<№> TRANSFER ALL, <А>, <С>, <D>
У полі <А> блоку TRANSFER задається режим ALL. У полі <В> задається мітка першого аналізованого пристрою, а в полі <C>– мітка останнього пристрою. У полі <D> задається число, кратне кількості блоків між кожним з аналізованих пристроїв.
У цьому режимі кожен транзакт намагається перш за все перейти до блоку, зазначеному в полі <А> Якщо транзакт до цього блоку увійти не може, то послідовно перевіряються всі блоки в певному ряді у пошуках першого, здатного прийняти цей транзакт, включаючи блок, зазначений у полі <С>. При цьому номер кожного блоку перевіряється обчислюється як сума номера попереднього блоку і кроку (натурального числа), заданого в полі <D>:
N + h, N + 2h, N +3 h, ... М,
де N – номер блоку, зазначеного в полі <В>;
h – значення кроку, зазначеного в полі <D>;
М – номер останнього блоку, вказано у полі <C>.
Умовними є лише режими BOTH та ALL. У всіх інших режимах вибір наступного блоку проводиться у момент входу повідомлення в блок. У режимах BOTH та ALL вибір наступного блоку проводиться у момент зняття блокуючої умови. Слід зазначити, що кожного разу, коли інтерпретатор при перегляді списку поточних подій виявляє повідомлення, затримане в блоках TRANSFER BOTH або TRANSFER ALL, він намагається просунути повідомлення, починаючи з блоку, зазначеного в полі <В>. Отже, в режимі BOTH в тих випадках, коли можливий перехід до обох блоків (<В>та<С>), блок <В> має деяку перевагу. Аналогічно, в режимі ALL у разі, коли можливий перехід до декількох блоків, блоки з меншими номерами мають деяку перевагу перед блоками з великими номерами.
Оператор CLEAR – оператор очищення даних. Оператор CLEAR скидає всю накопичену статистику, видаляє всі повідомлення з моделі і встановлює відлік згенерованих повідомлень для блоку GENERATE, починаючи з першого.
Формат запису оператора CLEAR:
CLEAR
Записується у форматі без параметрів або з порожніми полями даних. Він дозволяє здійснювати паралельні машинні експерименти з моделями систем. Проведення паралельних експериментів необхідно для систем з імовірнісними процесами, для яких, як правило, необхідно обчислення середніх операційних характеристик.
Приклад 4.1. У систему масового обслуговування (Q-схему) надходять заявки по рівномірному закону через 5 ± 2 хв. Обробка заявок здійснюється двома обслуговуючими каналами. Надходження заявок у той чи інший канал відбувається з ймовірністю 0.3 і 0.7. Обслуговування заявок кожним каналом відбувається за рівномірним законом з часом 7 ± 2 хв. Необхідно здійснити обробку 100 заявок при одному та двох прогонах програми.
Рішення. Програма вирішення прикладу наведена на рис. 4.1.
Рисунок 4.1 – Програма вирішення прикладу 4.1 в системі моделювання GPSSW
Тут передбачений оператор очищення даних CLEAR. У програмі, що приводиться, перший прогін відбувається при закоментованих операторах CLEAR та START 100. Для виконання двох прогонів програми використовуються два оператори START 100 і один оператор CLEAR між ними.
Формат запису блоку TRANSFER в режимі статистичного вибору має вигляд: