тувати). Робота GPSS-моделі під керуванням симулятора полягає у переміщенні транзактов від одних блоків до інших, аналогічно тому, як в моделюється СМО переміщуються заявки, що відповідають транзактам. У початковий момент часу в GPSS-моделі немає жодного транзакта. У процесі моделювання симулятор генерує транзакти в певні моменти часу відповідно до тих логічними потребами, які виникають в моделюється системі. Подібним же чином транзакти залишають модель в певні моменти часу в залежності від специфіки моделюється. У загальному випадку в моделі одночасно існує велике число транзактов, однак в кожний момент часу симулятор здійснює просування тільки якого-небудь одного транзакта. Якщо транзакт почав свій рух, він переміщується від блоку до блоку по шляху, запропонованому блок-схемою. У той момент, коли транзакт входить в деякий блок, на виконання викликається підпрограма симулятора, що відповідає типу цього блоку, а після її виконання, при якому реалізується функція даного блоку, транзакт "намагається" увійти в наступний блок. Таке просування транзакта продовжується до тих пір, поки не відбудеться одна з наступних можливих подій:
) транзакт входить в блок, функцією якого є видалення транзакта з моделі;
) транзакт входить в блок, функцією якого є затримка транзакта на якийсь певний час в моделі;
) транзакт "намагається" увійти в наступний блок, проте блок "відмовляється" прийняти його. У цьому випадку транзакт залишається в тому блоці, де був, і пізніше буде повторювати свою спробу увійти в наступний блок. Коли умови в моделі зміняться, така спроба може виявитися успішною, і транзакт зможе продовжити своє переміщення по блок-схемі. p align="justify"> Якщо виникло одне з описаних вище умов, обробка даного транзакта припиняється, і починається переміщення іншого транзакта.
Таким чином, виконання моделювання симулятором триває постійно.
Проходячи через блоки моделі, кожен транзакт вносить вклад у вміст лічильників блоків. Значення цих лічильників доступні програмісту через СЧА блоків: W - поточний зміст блоку і N - загальна кількість входів до блоку. p align="justify"> Кожне просування транзакта в моделі є подією, яка повинна відбутися в певний момент модельного часу. Для того щоб підтримувати правильну тимчасову послідовність подій, симулятор має таймер модельного часу, який автоматично коректується відповідно до логіки, продиктованої моделлю. br/>
1.5 Таймер модельного часу
Різні події реальних систем відбуваються протягом деякого періоду часу, клієнти приходять в перукарню; коли підходить їх черга, вони потрапляють на обслуговування до перукаря. Стрижка закінчується, і клієнт залишає перукарню: якщо всі ці події представити в моделі, то їх виникнення повинно відбуватися на тлі модельного часу. Отже, інтерпретатор GPSS повинен автоматично обслуговувати...