Методичні вказівки до лабораторних робіт з курсу "Моделювання систем", страница 5

а)                                                                                                         б)

Рис.1.1 Приклади GPSS-програм

Принцип керування тривалістю моделювання по заданій кількості транзактів приведений на рисунку 1.1а. Оператор GENERATE 11 протягом всього часу моделювання виконує входження транзактів до моделі через кожні 11 одиниць модельного часу. Відповідно до команди START 200, моделювання припиниться відразу після того, як 200-й транзакт покине модель.

Приклад на рисунку 1.1б ілюструє принцип керування тривалістю моделювання за заданим часом моделювання. Така модель складається з двох модулів, які функціонують паралельно та незалежно один від одного. Перший модуль включає основні блоки моделі, а другий використовується для керування тривалістю моделювання. Необхідно звернути увагу, що операнд A заповнений тільки у другого блоку TERMINATE та дорівнює 1. Таким чином, перший же транзакт, який вийде з блоку GENERATE 105 у момент часу t = 105, відразу попаде в блок TERMINATE 1 з ім'ям FIN і спричинить зменшення лічильника завершення подій до 0, після чого моделювання припиниться. Легко обчислити, що до моменту завершення моделювання блок GENERATE 10 з ім'ям MAN уведе до моделі 10 транзактів.

1.2.3 Імітація обслуговуючих пристроїв в GPSS

Одноканальні обслуговуючі пристрої СМО моделюються блоками SEIZE, ADVANCE та RELEASE. Приведена комбінація блоків реалізує наступні властивості пристрою: пристрій у будь-який момент часу може обслуговувати лише один транзакт; пристрій здійснює затримку транзакта, який надійшов, на час, необхідний на його обслуговування.

Коли транзакт надходить до блоку SEIZE, то цей блок забороняє транзактові переходити до блоку ADVANCE (або будь-якого наступного за SEIZE блоку), якщо пристрій, вказаний у блоці SEIZE, у цей момент зайнятий обслуговуванням іншого транзакта. Якщо пристрій звільнюється, то блок SEIZE не чинить перепон у намаганні транзакта зайняти пристрій. Блоки SEIZE та RELEASE мають однакові за значенням операнди, що задають ім'я пристрою, символами або цифрами. Залишати ім’я пристрою невказаним не можна. Правила найменування функцій і змінних в GPSS залишаються дійсними і для пристроїв.

Надходження транзакту до блоку RELEASE спричиняє звільнення того пристрою, ім’я якого вказане в якості операнда блока RELEASE. Тобто стан пристрою змінюється з "зайнятий" на "вільний". Для затримки транзактів у пристрої на обслуговування використовується блок ADVANCE, який має операнди A та B, такі ж за змістом, як і операнди A та B блоку GENERATE.