Лекция: БЛОК-ДИАГРАММА задачи № 12
GPSS–ПРОГРАММА задачи № 12
* Емкость памяти:
MINI STORAGE 2
* переменная для подсчета вероятности повторной обработки:
VER FVARIABLE X$POVT / X$OBSL * 100
* переменная для подсчета частоты отказов:
CHAST FVARIABLE X$OTKAZ / X$OBSL * 100
GENERATE 10,5; поток заданий
GATE SNF MINI, OUT; память не заполнена?
NEW ENTER MINI; занять свободную ЭВМ
MARK 1; время начала обработки
ADVANCE 10,7
LEAVE MINI
* определение и подсчет заданий для повторной обработки
TEST L MP1, 9, EXIT; время < 9 с, (нет — EXIT)
SAVEVALUE POVT+,1
TRANSFER , NEW
EXIT SAVEVALUE OBSL+,1; подсчет обраб. заданий
TERMINATE 0
OUT SAVEVALUE OTKAZ+,1; подсчет кол-ва отказов
TERMINATE 0
* Сегмент времени
*Вероятности подсчитываются перед окончанием
* процесса моделирования
GENERATE 1000
*С/в №4 = значение переменной №1
SAVEVALUE 4, V$VER
*С/в №5 = значение переменной №2
SAVEVALUE 5, V$CHAST
TERMINATE 1
START 1
Статистика по сохраняемым величинам:
1 ячейка OTKAZ = 17 (количество отказов)
2 ячейка POVT = 52 (кол-во заданий для повторной обработки)
3 ячейка OBSL = 84 (количество обслуженных заданий)
4 ячейка = 61 % – вероятность повторной обработки
5 ячейка = 20 % – частота отказов в обслуживании
Логические переключатели
Логические переключатели (логические ключи) относятся к аппаратной категории объектов GPSS-модели. Это абстрактные элементы, на которые может быть декомпозировано оборудование реальной СМО. С их помощью моделируют:
– Управляющие сигналы, задающие различные режимы работы СМО;
– Сбои в работе обслуживающих устройств;
– Взаимодействие параллельно протекающих процессов и т.п.
Ключи могут иметь два состояния: 0 (выключен) или 1 (включен).
БЛОК LOGIC(«Установить ключ»)– транзакт, вошедший в этот блок, устанавливает указанный в операнде А ключ в одно из состояний, определяемых внутренним операндом X:
S – состояние SET – «Включить»;
R – состояние RESET – «Выключить»;
I – инвертировать состояние ключа.
Пример:
LOGIC S KEY; включить ключ с именем KEY
Проверить текущее состояние логического переключателя можно с помощью блока GATE, рассмотренного ранее.
Пример:
1) GATE LS KEY, NEXT — Если состояние ключа KEY=1, перейти в следующий блок, иначе – направить транзакт по метке NEXT;
2) GATE LR KEY Транзакт задерживается в текущем блоке, пока ключ KEY не будет сброшен.
По умолчанию в момент начала моделирования все ключи находятся в состоянии «0» – «RESET». При необходимости можно изменить начальное состояние переключателя с помощью специальной карты описания.
КАРТА INITIAL – определяет начальное состояние «SET» для указанного ключа (одного или нескольких), ее формат:
INITIAL <ключ1>, <ключ2>, …,<ключ6>
Пример:
INITIAL LS$KEY