Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Моделирование систем. Практикум

.pdf
Скачиваний:
7
Добавлен:
12.11.2023
Размер:
17.79 Mб
Скачать

SIM 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

Соседние файлы в папке книги