книги / Моделирование систем. Практикум
.pdfSIM U LA TE |
|
|
NAK3 STO RA G E 3; |
Н акопитель емкостью в 3 единицы |
|
10 |
G ENER A TE 5,1 |
|
20 |
G ATE SF nak3,FACIL2; |
А нализ состояния накопителя |
40 |
SEIZE 1; |
1-й канал |
60 |
A D VAN CE 13,1 |
|
70 |
RELEASE 1 |
|
80 T R A N SF E R ,EXIT |
|
|
90F A C IL 2 ENTER NAK3 |
|
|
100 |
SEIZE 2; |
2-й канал |
120 LEAV E nak3 |
|
|
200 |
AD V A N C E 9,1 |
|
300 |
RELEASE 2 |
|
400 |
EXIT TERM IN ATE 1 |
|
STA RT 100
END
Р и с . 3.29. Программа EXAM15.GPS
щего блока для входящего транзакта, когда логический оператор поля <Х> имеет значение «ложь». В поле <Х> программы EXAM14.GPS задан логический оператор SNF, связанный с накопителем и означающий, что накопитель, заданный в поле <А>, заполнен. Пока накопитель не будет заполнен, т. е. логический оператор SNF будет давать «ложь», транзакт будет отправлен в блок, заданный в поле <В> (в блок с меткой FACIL2).
В противоположность условию SNF в поле <Х> может быть задан ло гический оператор SF, который означает, что накопитель не заполнен.
Выходная статистика по устройствам и блокам поменяются местами, если применить оператор SF. Анализ работы системы начнется со 2-го канала (устройства) и если он окажется занятым по обслуживанию теку щего транзакта, то очередной транзакт будет отправлен на обработку в 1-й канал.
Пример 3.14. Поток заявок поступает в накопитель с допустимой ем костью, равной 3 единицам, по равномерному закону распределения в те чение 5 ± 1 мин. Если заявки после накопителя застают 2-й канал (уст ройство) занятым, то они поступаютна обработку во 2-й канал. Время об работки 1-го канала равно 13 ± 1 мин, 2-го — 9 ± 1 мин. Смоделировать обработку Q -схемой 100 заявок.
Распечатка программы EXAM15.GPS представлена на рис. 3.29. Для полной идентичности результатов моделирования в программе EXAM15.GPS для 2-го канала время обслуживания принято таким, ка ким оно было в 1-м канале в программе EXAM14.GPS.
Рассмотрим пример использования блока GATE с логическим оператором, связанным с устройствами.
Пример 3.15. Входной поток заявок поступает в Q -схем у с двумя обслуживающими каналами (устройствами) равномерно в течение
71
SIM U L A T E |
|
|
10 |
G EN ER A TE 5,1 |
|
20 |
G ATE NU 1.FACIL2 |
|
30 |
SEIZE 1; |
1-й канал |
40 |
A D V A N C E 9,1 |
|
50 |
R E L E A S E ] |
|
60 |
T R A N S F E R ,EXIT |
|
100 FACIL2 SEIZE 2; |
2-й канал с меткой FACIL2 |
|
200 AD VAN CE 13,1 |
|
|
300 |
R ELEA SE 2 |
|
400 EXIT TER M IN A TE 1 |
|
|
STA R T 100 |
|
|
END |
|
Р и с . 3 30 Программа EX A M 16.G PS
5 ± 1 мин. Если 1 -й канал занят, то заявки поступают на обработку во 2-й канал. Время обработки 1-го канала равно 9 ± 1 мин, 2-го — 13 + 1 мин. Смоделировать процесс обработки Q-схемой 100 заявок.
Подобная ситуация характерна для систем, когда каждая входящая в Q-схему заявка в первую очередь отправляется в более быстродействую щий канал обслуживания. Программа для решения примера 3.15 EXAM16.GPS приведена на рис. 3.30.
Рассмотрим для этой программы формат записи блока GATE с логи ческим оператором, связанным с устройством:
20 GATE N U 1,FACIL2
Логический оператор NU указывает на то, что устройство, заданное в поле <А> (это устройство под номером 1), свободно. Если логическое ус ловие не выполняется, то транзакт отправляется к блоку, имя которого задано в поле <В> (по метке FACIL2). Транзакты, обслуженные в 1-м уст ройстве, с помощью блока TRANSFER отправляются на выход системы (уничтожаются блоком TERMINATE). Транзакты из 2-го устройства так же попадают в блок TERMINATE. Общее число обслуженных транзактов должно быть 100.
Рассмотрим примеры моделирования с использованием блока TEST.
Пример 3.16. Смоделировать процесс обслуживания потока заявок с интервалом 5 ± 1 мин двумя каналами: обслуживание в 1-м канале длится 9 ± 1мин, во 2-м — 13 ± 1 мин Причем в течение первых 100 мин обслу живание производит 1-й канал, а по истечении 100 мин — 2-й канал.
Пример 3.17. Смоделировать процесс обслуживания потока заявок с интервалом 5 ± 1 мин. Причем в течение первых 100 мин обслуживание осуществляет 2-й канал, а по истечении 100 мин — 1-й канал.
Условия примеров 3.16 и 3.17 различаются в последовательности на чального обслуживания заявок, что связано с процессом функциониро вания конкретной системы S.
72
SIM U L A T E |
|
|
|
|
ATR1 V A RIA BLE SQR(IOOOO) |
|
|||
10 |
G ENERA TE 5,1 |
|
|
|
20 |
TEST LE C 1,V $ATR1,FAC IL2 |
|
||
30 |
SEIZE 1; |
|
1-й канал |
|
40 |
AD V A N C E 9,1 |
|
|
|
50 |
R ELEA SE 1 |
|
|
|
60 T R A N SF E R ,E X IT |
|
|
||
100 FACIL2 SEIZE 2; |
к 2-й канал с м еткой FA C IL2 |
|||
200 |
AD V A N C E 13,1 |
|
|
|
300 RELEA SE 2 |
|
|
|
|
400 EXIT TER M IN A TE 1 |
|
|
||
START 100 |
|
|
|
|
END |
|
|
|
|
|
Р и с |
3 3 1 |
П рограмма |
EX A M 17.G PS |
SIM U LATE |
|
|
|
|
ATR1 V A RIA BLE SQR(IOOOO) |
|
|||
10 |
G ENERA TE 5,1 |
|
|
|
20 |
TEST G E C 1,V $ATR1,FAC IL2 |
|
||
30 |
SEIZE 1; |
|
|
1-й канал |
40 |
AD V A N C E 9,1 |
|
|
|
50 |
RELEA SE I |
|
|
|
60 T R A N SF E R ,E X IT |
|
|
||
100 FAC1L2 SEIZE 2; |
|
2-й канал с меткой FAC1L2 |
||
200 A D VAN CE 13,1 |
|
|
|
|
300 |
RELEASE 2 |
|
|
|
400 EXIT TER M IN A TE 1 |
|
|
||
START 100 |
|
|
|
|
END |
|
|
|
|
|
Р и с . |
3 32 |
Программа |
EX A M 18.G PS |
Программы решения EXAM17.GPS и EXAM18.GPS приведены на рис. 3.31 и 3.32 соответственно. В программах применены новые объекты GPSS/PC — переменные арифметического типа. Оператор описания арифметической переменной не входит в основное тело программы. В него входят следующие три поля:
1)поле метки, содержащее имя переменной (в программах — ATR1), которое используется при обращении к этой переменной,
2)поле операции, содержит слово VARIABLE;
3)поле операндов, в котором задается выражение, используемое для вычисления значения переменной (в программах — SQR(IOOOO), что оз
начает V10000).
Формат описания арифметической переменной для EXAMI7.GPS имеет вид:
ATR1 VARIABLE SQ R (10000)
Поле метки отделяется от поля операции VARIABLE как минимум одним пробелом. Поле операндов (задаваемое выражение) отделяется от
73
поля операции также пробелом Проблемы между символами недопусти мы Первый пробел записи считается концом выражения При любом об ращении к переменной в любом месте программы должен применяться формат VSATR1. Символ V обозначает тип объекта G P SS /P C — перемен ную. Знак $ употребляется для связи объекта как переменной с конкрет ным обозначением (например, ATR1).
Формат записи блока TEST:
20 TEST <Х> < А > ,< В > ,< С >
Блок TEST определяет номер следующего блока для вошедшего в него транзакта в зависимости от того, выполняется требуемое условие или нет. Блок управляет потоком транзактов, проверяя выполнение ал гебраических отношений между значениями, заданными в полях <А> и <В>. Во вспомогательном поле операции <Х> записывается один из шес ти условных операторов:
LE *—меньше или равно (отношение истинное, если значение аргу мента поля <А> меньше или равно значению аргумента поля <В>);
GE — больше или равно (отношение истинное, если значение аргу мента поля <А> больше или равно значению аргумента поля <В>); Е — равно (отношение истинное, если значения обоих аргументов
полей <А> и <В> равны),
L — меньше (отношение истинное, если значение аргумента поля <А> меньше значения аргумента поля <В>);
NE — не равно (отношение истинное, если значения аргументов по лей <А> и <В> не равны)
Если отношение аргументов истинно, транзакт переходит к следую щему по номеру блоку. Если отношение ложно, транзакт переходит к блоку, имя которого задано полем <С> (в программах по метке FACIL2). В поле <С> задается номер или имя блока для входящего транзакта, если отношение величин, заданных в полях <А> и <В>, ложно.
В программах EXAM17.GPS и EXAM18.GPS в поле <А> задан стан дартный числовой атрибут С1 — условное относительное время модели рования В поле <В> задана переменная с именем ATR1, равная 100.
В программе EXAM17.GPS пока значение условного относительного времени не достигнет 100 единиц, транзакты от блока TEST будут перехо дить к следующему по номеру блоку (к блоку SEIZE под номером 30) Как только величина CI станет больше 100, транзакты будут переходить к бло ку с меткой FACIL2 и с номером 100 — SEIZE. Пока CI < 100, транзакты отправляются в 1-е устройство Как только CI станет больше 100, тран закты начинают отправляться на обслуживание во 2-е устройство.
В программе EXAMI8.GPS транзакты после блока TEST будут на правляться к следующему по номеру блоку (т. е к блоку SEIZE под номе ром 30), когда значение CI будет больше числа 100. Если же значение С1 < 100, то транзакты отправляются по метке к блоку, заданной в поле <С> Так как начало отсчета времени моделирования начинается с нуля, то вначале транзакты будут отправляться к блоку, заданному в поле <С>, т. е к блоку SEIZE под номером 100. В поле <В> блока TEST может быть задана ячейка сохраняемых величин, которая определяется с помощью
74
SIM U LA TE INITIAL X 13,100; 10 G ENERATE 5,1
20 TEST L E C l,x l3 ,F A C IU ; 30 SEIZE 1;
40 AD VAN CE 9,1
50 RELEASE 1
60 T R A N SF E R ,EXIT
100 FACIL2 SEIZE 2;
200 ADVAN CE 13,1
300 RELEASE 2
400 EXIT TERM IN ATE 1 STA RT 100
END
В ячейку с номером 13 записы вается 100
Сравнение C l и ячейки xI3 1-й канал
2-й канал с меткой FACIL2
Р и с 3 33 Программа EXAM18.GPS
оператора INITIAL. Использование оператора INITIAL продемонстриро вано в программе EXAM19.GPS, которая решает ту же задачу, что и про грамма EXAMI7.GPS (рис. 3.33).
Формат записи оператора INITIAL:
INITIAL <А>,<В>
Оператор INITIAL записывается вне тела основной программы и мо жет не нумероваться. Он позволяет задавать начальные значения ячеек, элементов матриц и логических переключателей.
В приводимой программе в поле <А> задается ячейка под номером 13 (Х13), в которую записывается число 100. В поле <В> задается определяе мая величина Операнд может быть целым числом или именем В про грамме ссылка на ячейку под номером 13 производится как XI3 (в поле <В> блока TEST).
Рассмотрим файлы стандартного отчета для примеров 3.1.13—3.1.17. Распечатка результатов моделирования по программе EXAMI4.GPS с именем EXAM14.RPT представлена на рис. 3.34. Информация о накопи теле NAK3 задается полем STORAGE. В поле названия находится NAK3; поле САР — емкость накопителя (3); поле REMAIN — количество еди ниц свободной емкости в конце периода моделирования (остатки), т. е. 0 (так как в конце моделирования накопитель NAK3 полностью запол нен); поле MIN — минимальное количество используемой емкости на копителя за период моделирования, т. е. 0; поле МАХ — максимальное количество емкости накопителя за период моделирования, т е. 3 (за пе риод моделирования емкость накопителя NAK3 всегда используется по максимуму), поле ENTRIES — количество входов в накопитель за период моделирования (количество входов в блок ENTER), поле AVL — состоя ние готовности накопителя в конце периода моделирования (1 означает, что накопитель готов, 0 — не готов), поле AVE.C.— среднее значение за нятой емкости накопителя за период моделирования, которое равно 2.68; поле UTIL определяет часть периода моделирования, в течение которого накопитель использовался, она равна 0 893, поле RETRY определяет ко-
75
GPSS/PC |
R e p o r t f i l e |
REPORT.GPS. |
(V 2 , |
# |
3 7349) |
0 3 -1 0 -2 0 0 1 0 6 :2 9 :2 7 |
p a g e 1 |
||||
START_TIME |
END_TIME |
BLOCKS |
FACILITIES STORAGES |
FREE_MEMORY |
|||||||
|
0 |
563 |
12 |
|
|
2 |
|
1 |
83984 |
|
|
LINE |
LOC |
BLOCK_TYPE |
|
ENTRY_ COUNT |
CURRENT_COUNT |
RETRY |
|||||
10 |
1 |
GENERATE |
|
|
112 |
|
0 |
|
0 |
||
20 |
2 |
GATE |
|
|
|
112 |
|
8 |
|
0 |
|
30 |
3 |
ENTER |
|
|
|
46 |
|
2 |
|
0 |
|
40 |
4 |
SEIZE |
|
|
|
44 |
|
1 |
|
0 |
|
50 |
5 |
LEAVE |
|
|
|
43 |
|
0 |
|
0 |
|
60 |
6 |
ADVANCE |
|
|
43 |
|
0 |
|
0 |
||
70 |
7 |
RELEASE |
|
|
|
43 |
|
0 |
|
0 |
|
80 |
8 |
TRANSFER |
|
|
43 |
|
0 |
|
0 |
||
100 |
FACIL2 |
SEIZE |
|
|
|
58 |
|
0 |
|
0 |
|
200 |
10 |
ADVANCE |
|
|
|
58 |
|
1 |
|
0 |
|
300 |
11 |
RELEASE |
|
|
|
57 |
|
0 |
|
0 |
|
400 |
EXIT |
TERMINATE |
|
|
100 |
|
0 |
|
0 |
||
FACILITY |
ENTRIES |
U TIL. |
AVE.JTIME |
AVAILABLE |
OWNER PEND |
INTER RETRY DELAY |
|||||
1 |
44 |
0 .9 8 9 |
1 2 .6 6 |
|
1 |
105 |
0 |
0 |
0 |
2 |
|
2 |
50 |
0 .9 1 6 |
|
8 .9 0 |
|
1 |
99 |
0 |
0 |
0 |
8 |
STORAGE |
CAP |
REMAIN. MIN. |
MAX. |
ENTRIES AVL. |
AVE.C. |
U TIL. RETRY |
DELAY |
||||
NAK3 |
3 |
0 |
0 |
3 |
|
46 |
1 |
2.68 |
0 .8 9 3 |
0 |
0 |
XACT_GROUP |
GROUP_SIZE |
|
RETRY |
|
|
|
|
|
|
||
POSITION |
0 |
|
|
0 |
|
|
|
|
|
|
|
|
Р и с . 3.34. Стандартный |
отчет |
EXA M 14.RPT |
|
|
личество транзактов, ожидающих специальных условий, зависящих от состояния накопителя (для примера нет каких-либо спецусловий, т. е. 0); поле DELAY определяет количество транзактов, ожидающих возможно сти входа в блок ENTER.
Емкость накопителя связана с количеством транзактов, проходящих через блок ENTER и 1-й канал: в блок ENTER входило 46 транзактов, из которых только 43 были обслужены 1-м каналом, остальные три транзакта остаются в накопителе. Всякий раз, когда емкость накопителя полно стью используется, вновь входящие транзакты в блок анализа накопителя GATE в режиме SNF отправляются на обслуживание во 2-й канал. Режим SNF означает, что накопитель заполнен. При этом 2-м каналом обслуже но 57 транзактов. В итоге 1-м и 2-м каналами обработано 100 транзактов, что и требовалось по условию данного примера.
В файле стандартного отчета EXAM15.RPT (рис. 3.35) накопитель ем костью в 3 единицы связан со 2-м каналом посредством блоков ENTER и LEAVE. В этом случае анализ емкости накопителя NAK3 блоком GATE осуществляется в режиме SF — накопитель не заполнен. Если накопи тель не заполнен, то транзакты после блока GATE отправляются на обслу живание в 1-й канал, в противном случае — в блок ENTER, который свя зан с накопителем и 2-м каналом. В итоге 1-й канал обслуживает 39 тран зактов, а 2-й — 61 транзакт. В блок ENTER входит 64 транзакта, из кото рых только 61 обслуживаются во 2-м канале. Разница в три транзакта
76
G PSS/PC R e p o r t f i l e |
REPO R T .G PS |
(V 2 , |
# |
37349) |
0 6 -1 0 -2 0 0 1 |
0 5 :2 9 :2 7 p a g e 1 |
||||||
START |
TIME |
END TIME |
BLOCKS |
F A C IL IT IE S |
STORAGES |
FREE |
MEMORY |
|||||
|
0 |
|
557 |
12 |
|
|
2 |
|
1 |
84000 |
|
|
LINE |
LOC |
|
BLOCKJTYPE |
|
ENTRY_ COUNT |
CURRENT_COUNT |
RETRY |
|||||
10 |
1 |
|
G E N E R A T E |
|
111 |
|
0 |
|
0 |
|||
20 |
2 |
|
GATE |
|
|
111 |
|
7 |
|
0 |
||
40 |
3 |
|
SEIZE |
|
|
|
40 |
|
0 |
|
0 |
|
60 |
4 |
|
ADVANCE |
|
|
|
40 |
|
1 |
|
0 |
|
70 |
5 |
|
RELEASE |
|
|
|
39 |
|
0 |
|
0 |
|
во |
6 |
|
TRANSFER |
|
|
39 |
|
0 |
|
0 |
||
90 |
FACIL2 |
|
ENTER |
|
|
|
64 |
|
2 |
|
0 |
|
100 |
В |
|
SEIZE |
|
|
|
62 |
|
1 |
|
0 |
|
120 |
9 |
|
LEAVE |
|
|
|
61 |
|
0 |
|
0 |
|
200 |
10 |
|
ADVANCE |
|
|
|
61 |
|
0 |
|
0 |
|
300 |
11 |
|
RELEASE |
|
|
|
61 |
|
0 |
|
0 |
|
400 |
EXIT |
|
TERMINATE |
|
100 |
|
0 |
|
0 |
|||
FACILITY |
ENTRIES |
|
UTIL. |
AVE._TIME |
AVAILABLE: |
OWNER PEND |
INTER |
RETRY DELAY |
||||
1 |
40 |
0 .9 1 5 |
1 2 .7 5 |
|
1 |
94 |
0 |
0 |
0 |
7 |
||
2 |
62 |
0 .9 8 9 |
|
8 .8 9 |
|
1 |
107 |
0 |
0 |
0 |
2 |
|
STORAGE |
CAP. |
REMAIN. MIN. |
MAX. |
ENTRIES AVL. |
AVE.C. |
U TIL. |
RETRY |
DELAY |
||||
NAK3 |
3 |
|
0 |
0 |
3 |
|
64 |
1 |
2 .5 4 |
0 .8 4 8 |
0 |
0 |
XACT_GROUP |
|
GR0UP_SIZE |
|
RETRY |
|
|
|
|
|
|
||
POSITION |
|
|
0 |
|
|
0 |
|
|
|
|
|
|
|
Р и с . |
3.35. Стандартный |
отчет |
EXA M 15.R PT |
|
|
определяется емкостью накопителя NAK3, для которого было задано три единицы.
В программе EXAM16.GPS использован блок GATE в режиме провер ки состояния устройства NU — устройство свободно. Результаты моде лирования приведены в файле стандартного отчета EXAM16.RPT на рис. 3.36.
Блок GATE в режиме NU проверяет состояние I-го канала (в поле <А> задан номер 1): если канал свободен, то транзакты поступают в него на обслуживание, если канал занят, то транзакты поступают в альтернатив ный блок, заданный полем <В> (метка 2-го канала FACIL2). Занятость 1 -го канала объясняется тем, что время обслуживания транзактов больше времени генерирования. Поэтому пока одни транзакты обслуживаются в 1-м канале, другие отправляются на обслуживание во 2-й канал.
Другое изменение маршрута транзактов может осуществляться бло ком TEST. В приводимых отчетах в операционном поле <Х> осуществ ляется сравнение стандартного числового атрибута С1 (текущего значе ния условного времени моделирования) и положительного числа 100, которое предварительно определяется либо через переменную ATR1, либо с помощью ячейки памяти под номером 13, в которую записывается число 100.
77
GPSS/PC Report file |
REPORT GPS. (V 2, |
# 37349) |
06-10-2001 |
05.31 |
21 |
page 1 |
|||||
START |
TIME |
END TIME |
BLOCKS |
FACILITIES |
STORAGES |
FREE MEMORY |
|||||
LINE |
0 |
|
621 |
10 |
|
2 |
|
0 |
83392 |
|
|
LOC |
|
B LOC K _ T Y PE |
|
ENTRY_ COUNT |
C U R R E N T _ CO U N T |
RETRY |
|||||
10 |
1 |
|
GENERATE |
|
126 |
|
0 |
|
0 |
||
20 |
2 |
|
GATE |
|
126 |
|
24 |
|
0 |
||
30 |
3 |
|
SEIZE |
|
|
55 |
|
0 |
|
0 |
|
40 |
4 |
|
ADVANCE |
|
|
55 |
|
1 |
|
0 |
|
50 |
5 |
|
RELEASE |
|
|
54 |
|
0 |
|
0 |
|
60 |
6 |
|
TRANSFER |
|
|
54 |
|
0 |
|
0 |
|
100 |
FACIL2 |
|
SEIZE |
|
|
47 |
|
1 |
|
0 |
|
200 |
8 |
|
ADVANCE |
|
|
46 |
|
0 |
|
0 |
|
300 |
9 |
|
RELEASE |
|
46 |
|
0 |
|
0 |
||
400 |
EXIT |
|
TERMINATE |
|
100 |
|
0 |
|
0 |
||
FACILITY |
ENTRIES |
|
UTIL. |
AVE.JTIME |
AVAILABLE |
OWNER PEND |
INTER |
RETRY DELAY |
|||
1 |
55 |
0 .7 8 7 |
0 .0 9 |
|
1 |
126 |
0 |
0 |
0 |
0 |
|
2 |
47 |
0 .9 8 0 |
1 2 .9 6 |
|
1 |
83 |
0 |
0 |
0 |
24 |
|
XACT_GROUP |
|
GROUP_SIZE |
RETRY |
|
|
|
|
|
|||
POSITION |
|
|
0 |
|
0 |
|
|
|
|
|
|
|
Р и с . |
3.36. Стандартный |
отчет EX A M 16.RPT |
|
|
В отчете для программы EXAM17.GPS приведены результаты моде лирования при анализе величины С1 и числа 100 с помощью блока TEST в режиме операционного поля LE (меньше или равно). Величина 100 за-
GPSS/PC |
R e p o r t f i l e |
REPORT.GPS. (V 2 , |
# |
37349) |
0 6 - 1 0 - 2 0 0 1 |
0 5 :3 3 :2 3 |
p a g e 1 |
||||
START TIME |
END TIME |
BLOCKS |
FACILITIES |
STORAGES |
FREE MEMORY |
||||||
|
0 |
|
1152 |
10 |
|
2 |
|
0 |
76464 |
|
|
LINE |
LOC |
|
BLOCK_TYPE |
|
ENTKY_COUNT CURRENT_COUNT |
RETRY |
|||||
10 |
1 |
|
GENERATE |
|
229 |
|
0 |
|
0 |
||
20 |
2 |
|
TEST |
|
229 |
|
128 |
|
0 |
||
30 |
3 |
|
SEIZE |
|
|
19 |
|
0 |
|
0 |
|
40 |
4 |
|
ADVANCE |
|
|
19 |
|
0 |
|
0 |
|
50 |
5 |
|
RELEASE |
|
|
19 |
|
0 |
|
0 |
|
60 |
6 |
|
TRANSFER |
|
|
19 |
|
0 |
|
0 |
|
100 |
FACIL2 |
|
SEIZE |
|
|
82 |
|
1 |
|
0 |
|
200 |
8 |
|
ADVANCE |
|
|
81 |
|
0 |
|
0 |
|
300 |
9 |
|
RELEASE |
|
|
81 |
|
0 |
|
0 |
|
400 |
EXIT |
|
TERMINATE |
|
100 |
|
0 |
|
0 |
||
FACILITY |
ENTRIES |
|
U TIL. |
AVE.JTIME |
AVAILABLE |
OWNER PEND |
INTER |
RETRY DELAY |
|||
1 |
19 |
0 .1 5 1 |
9 .2 1 |
|
1 |
0 |
0 |
0 |
0 |
0 |
|
2 |
82 |
0 .9 1 2 |
1 2 .8 2 |
|
1 |
101 |
0 |
0 |
0 |
128 |
|
XACTJ3ROUP |
GROUPJSIZE |
RETRY |
|
|
|
|
|
|
|||
POSITION |
|
|
0 |
|
0 |
|
|
|
|
|
|
|
Р и с . |
3.37. Стандартный |
отчет |
EX A M 17.R PT |
|
|
78
GPSS/PC |
Report file REPORT.GPS. (V 2, |
# 37349) 06-10-2001 05:37:29 |
page 1 |
|||||||
START_ TIME |
ENDJTIME |
BLOCKS |
FA CILITIES |
STORAGES |
FREE_MEMORY |
|||||
|
0 |
|
834 |
10 |
2 |
|
0 |
80688 |
|
|
LIKE |
LQC |
|
BLOCK^TYPE |
ENTRY_COUNT CURRENT_COUNT |
RETRY |
|||||
10 |
1 |
|
GENERATE |
165 |
|
0 |
|
0 |
||
20 |
2 |
|
TEST |
165 |
|
64 |
|
0 |
||
30 |
3 |
|
SEIZE |
|
82 |
|
1 |
|
0 |
|
40 |
4 |
|
ADVANCE |
|
81 |
|
0 |
|
0 |
|
50 |
5 |
|
RELEASE |
|
81 |
|
0 |
|
0 |
|
60 |
6 |
|
TRANSFER |
|
81 |
|
0 |
|
0 |
|
100 |
FACIL2 |
|
SEIZE |
|
19 |
|
0 |
|
0 |
|
200 |
8 |
|
ADVANCE |
|
19 |
|
0 |
|
0 |
|
300 |
9 |
|
RELEASE |
|
19 |
|
0 |
|
0 |
|
400 |
EXIT |
|
TERMINATE |
100 |
|
0 |
|
0 |
||
FACILITY |
ENTRIES: |
|
UTIL. |
AVE._TIME |
AVAILABLE |
OWNER PEND |
INTER RETRY |
DELAl |
||
1 |
82 |
0 .8 7 6 |
0 .9 1 |
1 |
101 |
0 |
0 |
0 |
64 |
|
2 |
19 |
0 |
290 |
1 2 .7 4 |
1 |
0 |
0 |
0 |
0 |
0 |
XACT_GROUP |
GROUP_SIZE |
RETRY |
|
|
|
|
|
|||
POSITION |
|
0 |
|
0 |
|
|
|
|
|
|
|
Р и с . |
3.38. Стандартный отчет |
EXA M 18.RPT |
|
|
дается с помощью оператора арифметической переменной VARIABLE, в поле <А> которого вычисляется квадратный корень из 10 000. Ссылка в блоке анализе TEST на переменную осуществляется по метке ATR1. При этом пока условное время моделирования меньше или равно 100, транзакты отправляются в 1-е устройство на обслуживание. Как только это время превысит величину 100, транзакты начинают отправляться во 2-е устройство. Из файла стандартного отчета EXAM17.RPT (рис. 3.37) вид но, что все время моделирования составляет 1152 уел. ед. Поскольку сге нерированных транзактов оказалось 229, а обслуженных должно быть 100 (START 100), то «лишние» 128 остаются в блоке TEST. При этом 1-е уст ройство (канал) обслуживает 19 транзактов, а 2-е — 81 транзакт. В сумме для двух каналов получается 100 транзактов.
Отчет EXAM18.RPT (рис. 3.38) показывает результаты моделирова ния для случая, когда блок TEST используется в режиме GE (больше или равно). В начальный период условие GE «ложно» и транзакты отправля ются по метке FACIL2.
Файл стандартного отчета EXAM19.RPT для программы EXAM19.GPS представлен на рис. 3.39. В программе использован оператор INITIAL. Результаты моделирования идентичны результатам моделирования с по мощью программы EXAM17.GPS. Единственное отличие заключается в том, что в файле стандартного отчета приводится информация о сохра няемых величинах (ячейках), которые использованы в модели. В поле SAVEVALUE указывается номер ячейки (13), в которой хранится величи на 100. Поле VALUE определяет значение хранимой величины в конце моделирования (значение равно + 100). Поле RETRY определяет количе-
79
GPSS/PC |
R e p o rt f i l e |
REPORT |
GPS |
(V 2 , |
» 3 7 3 4 9 ) |
0 6 - 1 0 -2 0 0 1 07 :1 7 : 1 9 |
p a g e |
1 |
|||||
START__TIME |
ENDJTIME |
BLOCKS |
FACILITIES STORAGES |
FREEJ4EMORY |
|
||||||||
|
0 |
|
1152 |
10 |
|
|
2 |
|
0 |
76400 |
RETRY |
||
LINE |
LOC |
|
BLOCK_TYPE |
|
ENTRY_ COUNT |
CURRENTjCOUNT |
|||||||
10 |
1 |
|
GENERATE |
|
|
229 |
|
0 |
|
|
0 |
||
20 |
2 |
|
TEST |
|
|
|
229 |
|
128 |
|
|
0 |
|
30 |
3 |
|
SEIZE |
|
|
|
19 |
|
0 |
|
|
0 |
|
40 |
4 |
|
ADVANCE |
|
|
19 |
|
0 |
|
|
0 |
||
50 |
5 |
|
RELEASE |
|
|
|
19 |
|
0 |
|
|
0 |
|
60 |
6 |
|
TRANSFER |
|
|
19 |
|
0 |
|
|
0 |
||
100 |
FACIL2 |
|
SEIZE |
|
|
|
82 |
|
1 |
|
|
0 |
|
200 |
8 |
|
ADVANCE |
|
|
|
81 |
|
0 |
|
|
0 |
|
300 |
9 |
|
RELEASE |
|
|
|
81 |
|
0 |
|
|
0 |
|
400 |
EXIT |
|
TERMINATE |
|
|
100 |
|
0 |
|
|
0 |
||
FACILITY |
ENTRIES |
|
U TIL. |
AVE._TIME |
AVAILABLE |
OWNER PEND |
INTER |
RETRY DELAY |
|||||
1 |
19 |
0 |
151 |
|
9 |
21 |
1 |
0 |
0 |
0 |
0 |
|
0 |
2 |
82 |
0 .9 1 2 |
12 |
82 |
1 |
101 |
0 |
0 |
0 |
|
128 |
XACTJ3ROUP |
GROUP_SIZE |
RETRY |
|
POSITION |
0 |
0 |
|
SAVEVALUE |
|
VALUE |
RETRY |
13 |
|
+100 |
0 |
|
Р и с . 3.39. Стандартный |
отчет EX A M 19.R PT |
ство транзактов (сообщений, заявок), ожидающих наступления специ альных условий, зависящих от состояния сохраняемой величины.
3.1.5. Недоступность устройств. Блоки FUNAVAIL,
FAVAIL
С помощью блоков FUNAVAIL и FAVAIL моделируют ситуа ции, когда в течение определенного времени устройство обслужи вания становится недоступным. Блоки FUNAVAIL, FAVAIL преду смотрены для адекватного отображения состояния недоступности в статистике использования устройства (канала) обслуживания заявок, заявок и т. п. Блок FUNAVAILделает недоступным устрой стводо тех пор, пока не вступит вдействие блок FAVAIL (эти блоки действуют совместно). Для блока FUNAVAIL предусмотрены спе циальные режимы работы, задание которых приводит к следую щим действиям над транзактами (заявками, сообщениями и т. п.), связанными с недоступным устройством:
— управляющему транзакту, который занимал и генерировал прерывание на устройстве втот момент, когда оно стало недоступ ным, может быть разрешено продолжение использования этого устройства;
80