В режиме условного входа , если поле операнда 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 компьютеров) |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.