Моделирование систем массового обслуживания с отказами и ограниченной очередью, страница 2

В режиме условного входа , если поле операнда C пусто, сообщения не могут войти в блок TEST, пока не выполняются проверяемые блоком условия, например

TEST   LE

Q1, Q2

TEST   L

C1, 500

В первом случае проверяющий транзакт будет задержан в предыдущем блоке до тех пор, пока текущее содержимое очереди 1 не станет меньше или равно содержимому очереди 2. Во втором случае транзакты будут переходить от блока TEST к следующему блоку, пока значение относительного условного времени C1 не достигнет 500.

В режиме безусловного перехода в поле параметра C задается номер блока, к которому переходит транзакт, если условие не выполняется. При выполнении условия транзакт переходит к следующему блоку. Если блок, к которому отправляется транзакт, занят, транзакт ожидает его освобождения в блоке TEST.

Блок LOOP A,B (ОРГАНИЗОВАТЬ ЦИКЛ) служит для моделирования циклических процессов. В операнде A блока записывается номер параметра цикла. При вхождении транзакта в этот блок указанный параметр уменьшается на единицу. Если значение параметра цикла равно нулю, то транзакт проходит в следующий блок. В противном случае транзакт переходит к блоку, имя которого указано в поле B.

6.4  Пример моделирования многоканальной СМО с отказами

Постановка задачи. В дисплейном классе имеется 10 компьютеров. Студенты приходят в дисплейный класс каждые 15 ± 5 минут, но остаются только в том случае, если есть свободный компьютер, в противном случае студенты уходят. Студент работает за компьютером в течение 120 ± 20 минут. Распределение времени прихода и времени работы студентов – равномерное. Необходимо смоделировать работу дисплейного класса в течение месяца (22 восьмичасовых рабочих дня).

Метод построения модели. В рассматриваемой системе существует только одно ограничение – число компьютеров в дисплейном классе. Для его моделирования удобно использовать многоканальное устройство (CLASS), а приходящих в класс студентов целесообразно моделировать транзактами.

Входя в модель, транзакты проверяют наличие свободных мест в многоканальном устройстве: если места есть, то транзакты входят в блок ENTER; если же свободных мест нет, то транзакты должны быть выведены из модели. Процесс проверки наличия свободных мест выполним при помощи блока TRANSFER, работающего в режиме BOTH. Следует обратить внимание на два обстоятельства:

§  операнд С блока TRANSFER никогда не отказывает транзакту во входе (поэтому выход студентов в случае, если все компьютеры заняты, легко релизуется блоком TERMINATE с именем OUT);

§  блок ENTER, используемый для моделирования входа студента в класс при наличии свободных компьютеров и следующий за блоком TRANSFER, можно использовать без имени. Это вызвано тем, что операнд В блока TRANSFER передает транзакт в следующий блок по умолчанию.

Составление таблицы определений (табл. 6.1). Единица времени 1 минута. Необходимо смоделировать работу дисплейного класса в течение 10560 минут. Блок-диаграмма GPSS-модели приведена на рис. 6.1.

Таблица 6.1 – Таблица определений для рассматриваемого примера

Элементы GPSS

Назначение элементов

Транзакты:

1-й сегмент модели

Таймер

2-й сегмент модели

Студенты

Многоканальные устройства:

CLASS

Дисплейный класс (10 компьютеров)