Розглянемо використання блоків QUEUE і DEPART у моделі на прикладі, представленого на рис. 5.2 сегменту.
Рис. 5.2. Блок-діаграма використання блоків
QUEUE, DEPART в моделі
Для збирання статистики про очікування у черзі через зайнятість ОКП з назвою KANAL введемо блок QUEUE з іменем NAK1. Якщо транзакт увійшов у сегмент у момент, коли ОКП KANAL не зайнятий, транзакт входить у блок QUEUE. Далі транзакт намагається ввійти в блок SEIZE і, оскільки KANAL вільний, ця спроба виявляється успішною. Стан KANAL змінюється на “зайнято”, і далі транзакт відразу потрапляє в блок DEPART. Виконується відповідна підпрограма й транзакт потрапляє в блок ADVANCE, де затримується на час, обчислений відповідно до розподілу 20±3.
Нехай ОКП KANAL перебуває в зайнятому стані й наступний транзакт входить у сегмент моделі. Він проходить у блок QUEUE і одержує далі відмову, оскільки KANAL перебуває в зайнятому стані. Транзакт перестає рухатися, залишаючись у блоці QUEUE.
Пізніше, коли транзакт, що перебуває на обслуговуванні в пристрої, залишає його, транзакт, що очікує, знову спробує ввійти в блок SEIZE. Цього разу спроба виявиться успішною. Рухаючись далі, транзакт увійде в блок DEPART, зменшуючи значення лічильника поточного вмісту черги на 1 і т.д.
|
|
Для накопичування та оброблення статистичних даних у процесі моделювання використовуються GPSS-таблиці TABLE (Таблиця) i QTABLE. Інформація заноситься у таблиці за допомогою спеціального блоку TABULATE (Табулювати).
Оператор TABLE має такий формат