
ПрактикумКМ / лаб5
.docПрактическое занятие № 5
Стандартные числовые атрибуты
Во время моделирования интерпретатор регистрирует и корректирует информацию по объектам GPSS: приборам, очередям, многоканальным устройствам и т. д. Часть ее распечатывается в стандартном выводе. Кроме этого есть данные, доступные и в ходе моделирования. Тогда сам процесс моделирования может управляться динамически — воздействием со стороны атрибутов модели. Например, в реальных СМО время обслуживания иногда зависит от длины очереди. В таблице 1 приведены основные стандартные числовые атрибуты (СЧА).
Наименование СЧА, как правило, состоит из группового имени (F — прибор, R или S — устройство, Q —очередь), типа информации (например, счетчик занятий, максимальное значение длины очереди и др.) и имени числового — j или символического.
Стандартные числовые атрибуты чаще всего используются в операндах блоков.
Таблица 1
Объект GPSS |
СЧА |
Определение |
Блок |
N |
Счетчик входов
|
W |
Счетчик текущего содержимого
|
|
Время |
C1 |
Текущее время моделирования |
Многоканальное устройство |
R |
Остающаяся емкость |
S |
Текущее содержимое |
|
SA |
Среднее содержимое (округленное до целого) |
|
SC |
Счетчик числа входов |
|
SR |
Коэффициент использования (в долях тысячи) |
|
SM |
Максимальное содержимое |
|
ST |
Среднее время задержки на единицу времени (в долях тысячи) |
|
Очередь |
Q |
Текущее содержимое |
QA |
Среднее содержимое (округленное до целого) |
|
QC |
Счетчик числа входов (общее число) |
|
QM |
Максимальное содержимое |
|
QT |
Среднее время пребывания (округленное) |
|
QZ |
Счетчик числа нулевых входов |
|
Прибор |
F |
Состояние прибора (1— занят, 0 — свободен) |
FC |
Счетчик числа занятий |
|
FR |
Коэффициент использования (в долях тысячи) |
|
FT |
Среднее время задержки на одно занятие (округленное) |
|
Транзакт |
P |
Величина параметра |
PR |
Уровень приоритета |
|
M1 |
Время пребывания в модели |
|
MP |
Время с момента входа в блок |
Пример 1. Имитировать занятие одним транзактом оставшейся cвободной емкости многоканального устройства с именем DELTA:
ENTER DELTA, R$DELTA
Задержать транзакт в блоке ADVANCE на время, совпадающее с числом занятий прибора GAMMA:
ADVANCE FC$GAMMA
Для проверки значений СЧА используется блок TEST (проверить). Его общий вид:
TEST X А, В, С
Вспомогательный оператор X указывает отношение сравнения двух, СЧА, имена которых определены в А и В:
G —А>В?
GE—А≥В?
Е —А=В?
NE — А≠В?
LE — А≤В?
L —А<В?
Операнд С необязателен и содержит имя блока, в который переходит проверяющий транзакт, если ответ на вопрос, содержащийся в X, отрицателен.
Если С отсутствует, то TEST работает в режиме отказа. Когда транзакт пытается войти, это запрещается, если ответ на вопрос отрицателен. Тогда транзакт задерживается в предыдущем блоке пока не получит возможность продолжить свое движение. Если использован операнд С, то транзакт проходит в следующий за TEST блок, если ответ на вопрос положительный, или в блок С — если отрицательный.
Внешний вид блока представлен на рисунке 1.
Рисунок 1 - Внешний вид блока TEST в режиме условного перехода (а) и в режиме отказа (б)
Пример 2. В справочной службе города работают пять операторов, они сообщают номера телефонов абонентов. Если у каждого оператора по 2 абонента в очереди (т .е. ее общая длина 10 заявок), очередной абонент получает отказ. Вызовы поступают через 5±3 секунды, а обслуживаются за 30 ±20 секунд.
Выполнить моделирование справочной службы по обслуживанию 150 вызовов. Определить число отказов и загрузку операторов.
Формализованная схема СМО дана на рисунке 2, а соответствие объектов системы и GPSS в таблице 2. Блок-схема изображена на рисунке 3.
Рисунок 2 - Формализованная схема справочной службы города
Таблица 2
Объект справочной службы |
Объект GPSS |
Символическое имя |
Вызов |
Транзакт |
|
Очередь |
Регистратор очереди |
TLF |
Операторы |
Многоканальное устройство |
KOM |
Рисунок 3 - Блок-схема модели
GPSS-программа приведена ниже:
KOM STORAGE 5
GENERATE 5,3
TEST GE Q$TLF,10,NNN
TERMINATE
NNN QUEUE TLF
ENTER KOM
DEPART TLF
ADVANCE 30,20
LEAVE KOM
TERMINATE 1
START 150
Стандартный отчет:
START TIME END TIME BLOCKS FACILITIES STORAGES
0.000 928.447 9 0 1
NAME VALUE
KOM 10000.000
NNN 4.000
TLF 10001.000
LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY
1 GENERATE 185 0 0
2 TEST 185 0 0
3 TERMINATE 21 0 0
NNN 4 QUEUE 164 9 0
5 ENTER 155 1 0
6 DEPART 154 0 0
7 ADVANCE 154 4 0
8 LEAVE 150 0 0
9 TERMINATE 150 0 0
QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY
TLF 10 10 164 8 7.169 40.585 42.666 0
STORAGE CAP. REM. MIN. MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY
KOM 5 0 0 5 155 1 4.899 0.980 0 9
CEC XN PRI M1 ASSEM CURRENT NEXT PARAMETER VALUE
174 0 868.493 174 5 6
FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE
171 0 930.427 171 7 8
186 0 932.021 186 0 1
168 0 933.024 168 7 8
169 0 935.399 169 7 8
172 0 948.497 172 7 8
Число отказов равно 21, а загрузка операторов — 0,980.
Иногда удобно сделать поведение модели зависимым от логического состояния определённых элементов. Бывает так, что транзакт не может продвинуться вперёд в какую-то точку модели до тех пор, пока занят некоторый прибор.
Блок GATE предназначен удобен для моделирования условий, в которых участвует логическое состояние выбранных элементов GPSS.
Для работы с объектами аппаратной категории этот блок аналогичен блоку TEST.
Формат блока:
GATE X А,В
Блок GATE работает в двух режимах:
- режим ожидания выполнения условия (отсутствует операнд В);
- режим условного перехода (с указанием операнда В).
Операнды:
X - условие;
А - имя (номер) анализируемого объекта (многоканального устройства);
В - имя блока, в который переходит транзакт при невыполнении условия.
Различают следующие типы условий:
- условия для устройства;
- условия для многоканального устройства;
Условия для устройства:
NU - Устройство не используется (Facility not used ).
U - Устройство используется (Facility used ).
Условия для многоканального устройства:
SE - Устройство пусто (Storage empty).
SNE - Устройство не пусто (Storage not empty).
SF - Устройство полностью занято (Storage full).
SNF - Устройство не заполнено (Storage not full).
Внешний вид блока GATE представлен на рисунке 4.
(а)
(б)
Рисунок 4 - Внешний вид блока GATE в обычном режиме (а) и в режиме ожидания условия(б)
Пример 3. Изменим условия примера 2 и предположим, что операторы не имеют очереди ожидающих заявок. Если все операторы заняты, то очередной абонент получает отказ. Вызовы поступают через 5±3 секунды, а обслуживаются за 30 ±20 секунд.
Выполнить моделирование справочной службы по обслуживанию 150 вызовов. Определить число отказов и загрузку операторов.
Формализованная схема СМО представлена на рисунке 5. Таблица определений модели аналогична таблице 2 из примера 2. Блок-схема изображена на рисунке 6.
Рисунок 5 - Формализованная схема справочной службы города
Рисунок 6 - Блок-схема модели
GPSS-программа приведена ниже:
KOM STORAGE 5
GENERATE 5,3
GATE SF KOM,NNN
TERMINATE
NNN QUEUE TLF
ENTER KOM
DEPART TLF
ADVANCE 30,20
LEAVE KOM
TERMINATE 1
START 150
Стандартный отчет:
START TIME END TIME BLOCKS FACILITIES STORAGES
0.000 1075.559 9 0 1
NAME VALUE
KOM 10000.000
NNN 4.000
TLF 10001.000
LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY
1 GENERATE 212 0 0
2 GATE 212 0 0
3 TERMINATE 58 0 0
NNN 4 QUEUE 154 0 0
5 ENTER 154 0 0
6 DEPART 154 0 0
7 ADVANCE 154 4 0
8 LEAVE 150 0 0
9 TERMINATE 150 0 0
QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY
TLF 1 0 154 154 0.000 0.000 0.000 0
STORAGE CAP. REM. MIN. MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY
KOM 5 1 0 5 154 1 4.131 0.826 0 0
FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE
213 0 1077.128 213 0 1
204 0 1086.837 204 7 8
205 0 1088.360 205 7 8
207 0 1097.820 207 7 8
208 0 1103.928 208 7 8
Число отказов равно 58, а загрузка операторов — 0,826.
ЗАДАНИЕ
Построить модель обслуживания читателей в библиотеке университета на основе модели, полученной в лабораторной работе № 3. Для каждого варианта вводятся дополнительные условия, влияющие на поведение читателей в библиотеке (Таблица 3 ).
Необходимо сформулировать подробное объекта моделирования на основании обобщенной постановки задачи из лабораторной работы № 3 и дополнительных условий из таблицы 3. Провести модельный эксперимент, проанализировать статистические данные, ответить на поставленные вопросы. Результаты, полученные при моделировании, необходимо трактовать в терминах работы библиотеки.
ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ
1. Ознакомиться с методическими указаниями.
2. Составить полное и подробное описание конкретного объекта моделирования в соответствии с заданным вариантом и с учетом требований работы № 3.
3. Перевести все временные параметры в соответствии с выбранной ранее единицей модельного времени
4. Построить формализованную схему дополненного объекта моделирования.
5. Заполнить таблицу определений (элементы GPSS – интерпретация).
6. Разработать блок – схему и указать все параметры блоков.
7. Составить программу на языке GPSS.
8. Выписать результаты моделирования (статистические данные).
9. Провести анализ результатов моделирования и ответов на поставленные вопросы.
10. Оформить отчет по лабораторной работе.
СОДЕРЖАНИЕ ОТЧЕТА
1. Стандартные числовые атрибуты;
2. Блоки GPSS GATE и TEST.
3. Задание по данной лабораторной работе с указанием всех исходных данных, т.е. соответствующие строки таблицы 2 из работы 3 и таблицы 3 данного пособия, и вопросы, соответствующие варианту.
4. Постановка задачи для конкретного объекта моделирования, сформулированная в соответствии с параметрами варианта. Составлять описание работы объекта моделирования необходимо в строгом соответствии с заданным вариантом.
5. Формализованная схема объекта моделирования.
6. Таблица определений (элементы GPSS – интерпретация).
7. Блок – схема модели.
8. Программа на языке GPSS.
9. Результаты моделирования (подробно все статистические данные).
10. Анализ статистических данных и ответы на указанные в варианте вопросы.
Таблица 3
Вариант |
Дополнительные условия |
Вопрос |
1 |
Если оператор ПК занят, то читатель уходит; Если в очереди к библиотекарю больше 5 человек, то читатель уходит. |
Сколько читателей покинуло библиотеку, не получив книгу? Каково суммарное количество не обслуженных читателей? |
2 |
Аспиранты приходят в библиотеку согласно заданию работы № 3, но библиотекарь начинает их принимать только с 12.00. Если при этом количество ожидающих аспирантов станет больше 10, то вновь прибывшие аспиранты сразу покидают библиотеку. |
Сколько аспирантов не получило книг? Сколько читателей получили свои книги? |
3 |
Если библиотекарь занят, то читатель уходит; Если в очереди к оператору больше 7 человек, то читатель уходит. |
Какова загрузка оператора? Сколько читателей не было обслужено оператором ПК ? |
4 |
Если в очереди к библиотекарю больше 9 человек, то заочник уходит. Начиная с 17.30 оператор ПК перестает принимать новых читателей и они сразу покидают библиотеку. |
Какой процент читателей от общего числа обслуженных читателей не был обслужен после 17.30 и сразу покинул библиотеку? Сколько заочников получило книги? |
5 |
Все пришедшие в период с 14.30 до 15.00 читатели сразу покидают библиотеку. |
Сколько читателей сразу покинуло библиотеку в период с 14.30 до 15.00? Какова нагрузка библиотекаря? |
6 |
Если библиотекарь занят, то читатель уходит; Если в очереди к оператору больше 11 человек, то читатель уходит. |
Сколько дипломников не получило книги? Сколько читателей покинуло библиотеку раньше времени? |
7 |
Читатели приходят в библиотеку согласно заданию работы № 3, но библиотека начинает работать только с 11.00. Если при этом количество ожидающих читателей станет больше 13, то вновь прибывшие читатели сразу покидают библиотеку. |
Сколько читателей покинуло библиотеку раньше времени? Сколько читателей получило листки-требования у оператора ПК? |
8 |
Если в очереди к библиотекарю больше 9 человек, то аспирант уходит. Если библиотекарь занят, то читатель уходит. |
Каково суммарное количество аспирантов, покинувших библиотеку? Сколько читателей покинуло библиотеку раньше времени? |
9 |
Если в очереди к библиотекарю больше 8 человек, то читатель уходит; Если в очереди к оператору ПК больше 13 человек, то читатель уходит. |
Какова нагрузка оператора ПК? Сколько читателей покинуло библиотеку, получив листки-требования у оператора ПК? |
10 |
Если в очереди к оператору ПК больше 4 человек, то заочник уходит. Если библиотекарь занят, то студент уходит. |
Сколько читателей покинуло библиотеку раньше времени? Сколько заочников получило книги? |
11 |
Все пришедшие в период с 13.00 до 14.00 читатели сразу покидают библиотеку. |
Сколько читателей сразу покинуло библиотеку в период с 13.00 до 14.00? Какова нагрузка библиотекаря? |
Продолжение таблицы 3
12 |
Начиная с 16.30 оператор ПК перестает принимать новых читателей и они сразу покидают библиотеку. |
Сколько читателей не было обслужено оператором ПК ? Сколько студентов получило книги? |
13 |
Если оператор ПК занят, то читатель уходит; Если в очереди к библиотекарю больше 8 человек, то читатель уходит. |
Какова нагрузка библиотекаря? Сколько читателей покинуло библиотеку, получив листки-требования у оператора ПК? |
14 |
Если библиотекарь занят, то студент уходит; Если в очереди к библиотекарю больше 5 человек, то аспирант уходит. |
Сколько студентов покинуло библиотеку, не получив книги? Сколько аспирантов покинуло библиотеку, не получив книги? |
15 |
Все пришедшие в период с 13.00 до 13.30 читатели сразу покидают библиотеку. |
Сколько читателей сразу покинуло библиотеку в период с 13.00 до 13.30? Сколько читателей получило книги? |
16 |
Заочники приходят в библиотеку согласно заданию работы № 3, но библиотекарь начинает их принимать только с 11.00. Если при этом количество ожидающих заочников станет больше 5, то вновь прибывшие заочники сразу покидают библиотеку. |
Какова нагрузка оператора ПК? Сколько заочников покинуло библиотеку, не получив книги? |