книги / Моделирование систем. Практикум
.pdf3.1.1. Блоки GENERATE, TERMINATE, ADVANCE, SEIZE, RELEASE. Операторы START, END
Процесс моделирования в системе GPSS/PC заключается в продвижении сообщений от блока к блоку с указанием команд и действий с помощью операторов. Продвижение сообщений по мо дели начинается с блока GENERATE и заканчивается в блоке TERMINATE. Задержка сообщений во времени по заданному за кону происходит в блоке ADVANCE. Ввод в систему сообщений может быть также задан по какому-либо статистическому закону. Перечисленные три блока относятся к блокам динамической кате гории. Сами сообщения или транзакты являются динамическими объектами системы GPSS/PC. Следует помнить, что транзакты не могут входить в блок GENERATE и выходить из блока TERMINATE, в противном случае происходит ошибка выполне ния программы и ее останов. Моделирующая программа начина ется с блока GENERATE и заканчивается блоком TERMINATE.
К аппаратной категории относятся блоки первой группы уст ройств SEIZE, RELEASE. Введение в моделирующую программу устройств (с помощью соответствующих блоков) позволяет авто матически регистрировать статистическую информацию. Практи чески всегда обязательными являются операторы START, END. В литературных источниках по системе GPSSоператоры часто назы вают картами. Рассмотрим более подробно наиболее характерные примеры программ с указанными блоками и операторами [2, 9, 19].
Пример 3.1. Заявки поступают в систему массового обслуживания (Q -схему) через фиксированное время (7 единиц времени). Обработка (обслуживание) каждой заявки занимает также некоторое фиксирован ное время (5 единиц времени). После обработки заявки покидают Q -схе му. Провести обработку 100 заявок. Единицу времени пользователь на значает по своему усмотрению или по условию задачи.
Система G P S S /P C будет проводить моделирование относительно тех значений единиц времени, которые задает пользователь. За единицу вре мени принята 1 мин, а программе решения примера 3.1 присвоено имя EXAM01.GPS. В этой программе транзакты (заявки, сообщения) генери руются блоком GENERATE каждые 7 мин, проходят через устройство под номером 1, задерживаются на 5 мин и покидают (освобождают) устройст во 1. Захват и освобождение устройства осуществляют блоки SEIZE и RELEASE. Задержка транзактов во времени происходит в блоке ADVANCE. Вывод транзактов производит блок TERMINATE. Оператор START начинает процесс моделирования для указанного максимального числа счетчика завершений. Оператор END (управляющий оператор)
41
CV01 G PSS\EXA M 01.G PS
SIMULATE |
|
|
|
|
a**** * * * * * * * * * * * ***О бласть |
блоков*** * ** *Л»*-»******»*** |
|||
10 |
GENERATE |
7 ; |
Г ен ерац и я |
тр а н за к то в каждые 7 м ин. |
20 |
SEIZE 1 |
|
|
|
30 |
ADVANCE 5 |
|
|
|
40 |
RELEASE 1 |
|
|
|
1 |
TERMINATE |
1; |
Уничтожение тр а н за к то в |
|
SO |
*»***»*x* ******************************************** *
START 100
END
Р и с . 3.1. Программа EXAM01.GPS в рабочем окне T G P S S языка G P S S /P C
осуществляет задание выполнения прогона модели [13, 16) и завершает работу системы G P S S /P C .
Программа (имя файла EXAM01.GPS) в рабочем окне T G P S S я з ы к а G P S S /P C для рассматриваемого примера имеет вид, показанный на рис. 3.1.
Приведем некоторые общие правила оформления программ. 1. После написания программы необходимо перед запуском на
выполнение сохранить ее как файл с расширением GPS и именем, состоящим из букв и цифр длиной до 20 символов. Допускается применять символы только латинского алфавита. Во-вторых, обя зательным является нумерация блоков в порядке возрастания, операторы можно не нумеровать.
2.Как правило, после номера устанавливается не менее двух пробелов и записывается имя блока. В рабочем окне можно ис пользовать не более 255 позиций, начиная с левого края. Визуаль ный контроль для данной строки и позиции (столбца) установ лены в нижнем левом углу рабочего окна. Для приведенной про граммы цифры 10 : 3 означают, что курсор был установлен в деся той строке и третьем столбце (позиции), т. е. курсор установлен на букве D оператора END.
3.Комментарии пишутся после знака точки с запятой (;) в лю бом месте программы или после символа звездочка (*), которая
должна быть в первой позиции рабочего окна.
Результаты моделирования по программе EXAM01.GPS рас смотрим по файлу стандартного отчета EXAM01.RPT, который ав томатически формируется системой GPSS/PC. В приведенном на
42
GPSS/PC |
R e p o r t f i l e |
REPORT.GPS. |
(V |
2 , # |
3 7 3 4 9 ) |
0 5 - 1 6 -2 0 0 1 0 7 :3 8 :2 1 |
p a g e 1 |
|||||
STARTJTIME |
ENDJTIME |
|
BLOCKS |
FA C IL ITIES STORAGES |
FREE MEMORY |
|||||||
|
0 |
96794 |
39 |
|
3 |
|
1 |
82528 |
|
|||
LINE |
LOC |
BLOCK_TYPE |
|
ENTRY_COUNT |
CURRENT_COUNT |
RETRY |
||||||
10 |
1 |
GENERATE |
|
|
100 |
|
0 |
|
0 |
|||
20 |
2 |
SEIZE |
|
|
|
100 |
|
0 |
|
0 |
||
30 |
3 |
ADVANCE |
|
|
|
100 |
|
0 |
|
0 |
||
40 |
4 |
RELEASE |
|
|
|
100 |
|
0 |
|
0 |
||
50 |
5 |
TERMINATE |
|
|
100 |
|
0 |
|
0 |
|||
FACILITY |
ENTRIES |
U TIL. |
|
AVE. |
TIME AVAILABLE |
OWNER PEND |
INTER RETRY |
DELAY |
||||
1 |
100 |
0 .7 0 9 |
|
|
5 .0 0 |
1 |
0 |
0 |
0 |
0 |
0 |
|
XACTJ3ROUP |
GROUP SIZE |
|
|
RETRY |
|
|
|
|
|
|
||
POSITION |
~ |
0 |
|
|
0 |
|
|
|
|
|
|
|
|
Р и с . 3.2. |
Стандартный |
отчет |
EXA M 01.RPT |
|
|
рис. 3.2 файле стандартного отчета сначала идет информационная строка системы GPSS/PCc указанием номера версии V2, серийно го номера, даты, времени и страницы; затем строка стандартного сообщения о начале моделирования STARTJTIME, его окончании END_TIME, количестве используемых в программе блоков BLOCKS, количестве установленных устройств FACILITIES, ко личестве многоканальных устройств, для которых определяется заданная емкость накопителя STORAGES, емкость оперативной памяти системы FREE_MEMORY, которая доступна для дальней шего использования. Далее приводятся назначенные номера бло ков в порядке возрастания под обозначением LINE, номера бло ков, которые определяются системой (под обозначением LOC), названия блоков BLOCK_TIPE, количество транзактов, проходя щих через соответствующий блок программы ENTRY_COUNT, те кущее количество транзактов, задержанных в блоке на момент окончания моделирования CURRENT_COUNT, количество тран зактов, ожидающих специальных условий для прохождения через данный блок RETRY. Как видно, для данной программы количест во транзактов, проходящих через блоки, равно 100. Все 100 тран зактов, которые были сгенерированы блоком GENERATE, про шли через все блоки программы.
Работа устройства FACILITY под номером 1 (см. рис. 3.2) оце нивается следующими стандартными атрибутами: количество транзактов, прошедших через устройство, указывается в поле ENTRIES (в нашем случае это число 100); коэффициент использо вания в относительных единицах указывается в поле UTIL (в на шем случае число 0.709, которое показывает ту часть периода мо делирования, в течение которого устройство было занято); среднее время обработки или задержки одного транзакта в устройстве ука-
43
зывается в поле AVE._TIME (в нашем случае равно 5, которое так же можно определять, как среднее время занятости устройства); поле AVAILABLE определяет состояние готовности устройства в конце периода моделирования (оно равно 1, если устройство гото во, и 0,— если не готово), поле OWNER (прямой перевод — владе лец) определяет номер последнего транзакта, занимавшего уст ройство (если устройство не занималось, то устанавливается 0); поле PEND (от англ, «pendent» — ожидающий решения) определя ет количество транзактов, ожидающих устройство, находящееся в режиме прерывания; поле INTER определяет количество транзак тов, прерывающих устройство в данный момент; поле RETRY оп ределяет количество транзактов, ожидающих специальных усло вий, зависящих от состояния объекта типа «устройство»; поле DELAY (задержка) определяет количество транзактов, ожидаю щих занятия или освобождения устройства. В рассматриваемом примере последние семь полей равны нулю, так как система рабо тает без каких-либо специальных условий и прерываний.
В системе GPSS/PC могут быть объекты типа «группа сообще ний». Для сбора статистики таких объектов в файле стандартного отчета присутствуют следующие поля: поле XACT_GROUP опре деляет имя или номер группы сообщений; поле GROUP_SIZE оп ределяет число транзактов, которое насчитывается в группе в кон це моделирования; поле RETRY для группы сообщений определя ет число транзактов, ожидающих наступления специальных усло вий, связанных с состоянием данной группы. В рассматриваемом примере какая-либо группа сообщений отсутствует и поэтому все поля нулевые.
Пример 3.2. Очень часто процесс поступления транзактов в систему и процесс обработки подчиняется равномерному закону распределения в заданном интервале Например, программу EXAM01.GPS можно привес ти к виду, когда поступление транзактов и их обработка будут осуществ ляться по равномерному закону в заданных интервалах, например, от 5до 9 мин и от 3 до 7 мин соответственно. Другими словами, поступление зая вок будет подчиняться равномерному закону с интервалом 7 + 2 мин, а обработка — равномерному закону со временем обработки 5 ± 2 мин.
Программа для решения примера 3.2 имеет имя EXAM02.GPS. Упрощенный формат программы представлен на рис. 3.3. При равномерном законе поступления транзактов и том же законе об служивания операнд поля <В> в блоках GENERATE и ADVANCE квалифицируется как модификатор-интервал. Если поступление или обслуживание транзактов подчиняется какому-либо функ циональному закону, отличному от равномерного, то тогда опе-
44
SIMULATE
10 GENERATE 7,2; Генерация тратактов из интервд|а(5,9}
20 SEIZE 1
30 ADVANCE 5,2
40 RELEASE 1
50 TERMINATED Уничтожение транзактов START 100
END
Р и с 3 3 П рограмма EX A M 02.G PS
ранд поля <В> квалифицируется как модификатор-функция. Функциональный закон обслуживания или генерации транзактов будет рассмотрен позднее.
Написание названий блоков и операторов в программахдопус кается как прописными, так и строчными буквами.
Приведем форматы описания блоков и операторов, используе мых в программах EXAM01.GPS и EXAM02.GPS. Формат описа ния блока GENERATE имеет вид:
10G ENERATE <А >,<В >
Вприведенном описании использованы символы «<» и «>», которые образуют так называемые поля А и В. Значения полей на
зывают также операндами. Для EXAM02.GPS соответственно поле <А> равно 7, а поле <В> равно 2. Операнды полей <А> и <В> явля ются постоянными числами. Это означает, что транзакты генери руются случайным образом в интервале времени от (7—2 = 5) до (7 + 2 = 9) в соответствии с равномерным законом. Если поле <В> отсутствует (как для EXAM01.GPS), то генерация транзактов про исходит через интервалы времени, указанные в поле <А> (т е. че рез 7 условных единиц времени). Соответствующее назначение полей применяется и для блока ADVANCE (задержка транзактов). Формат описания блока ADVANCE имеет вид:
30 ADVANCE <А > ,< В >
Блок ADVANCE моделирует задержку вошедшего в него транзакта в течение определенного интервала. Для программы EXAM02.GPS эта задержка определяется как 5 ± 2 условные еди ницы, распределенные по равномерному закону. Поле <А> соот ветствует числу 5, а поле <В> — числу 2. Время задержки является случайным числом, распределенным равномерно в интервале вре мени от (<А>—<В>) до (<А> + <В>). Разница между числом поля <А> и числом поля <В> не должна быть отрицательна.
Задержка продвижения транзактов на время, указанное в по лях блока ADVANCE, происходит, как правило, в устройствах, ко-
45
торые используют при моделировании работы различного вида оборудования единичной емкости.
Формат описания блока SEIZE имеет вид.'
20 SE IZ E <А>
Блок SEIZE имеет только одно поле <А>, которое задает номер или имя устройства, присвоенное разработчиком программы. В нашем случае устройство имеет номер 1. Номер или имя устройст ва могут быть произвольными. При входе транзакта в блок SEIZE всегда проверяется (интерпретатором системы GPSS/PQ занято устройство или нет. Если устройство свободно, то оно занимается. Устройство остается занятым до тех пор, пока занимающий его транзакт не войдет в соответствующий блок RELEASE. Формат описания блока RELEASE имеет вид:
40 RELEASE <А>
Операнд поля <А> блока RELEASE должен быть таким же, как и для соответствующего блока SEIZE. В нашем случае число 1 в поле <А> задает номер устройства, которое моделируется блоками SEIZE и RELEASE и по которым формируется выходная статисти ка. Блок RELEASE предназначен для освобождения устройства тем транзактом, которым оно было занято.
Вывод транзактов из системы осуществляется блоком TERMINATE. Формат описания блока TERMINATE имеет вид:
50TER M IN A TE <А>
Вполе <А> блока TERMINATE задается число единиц (тран зактов), на которое этот блок изменяет содержимое счетчика за вершений, определяющего момент окончания моделирования.
Вданном случае это число равно 1. Число в поле <А> блока TERMINATE можно рассматривать как коэффициент, на который следует умножить число выводимых транзактов, чтобы получить задаваемое значение счетчика завершений. Если результат произ ведения точно не равен числу счетчика завершений, то число вы водимых транзактов через блок TERMINATE устанавливается с избытком. Значение счетчика завершений или количество тран зактов, которое необходимо пропустить через модель, задается оператором START. Формат описания оператора START имеет вид:
START <А>
Поле <А> оператора START задает значение счетчика заверше ний. В нашем случае это число равно 100. Оператор START ис пользуется также для инициирования начала моделирования.
46
GPSS/PC |
R e p o r t f i l e |
RETORT.GPS. (V 2 , |
# 3 7 3 4 9 ) |
0 1 -1 0 -2 0 0 1 |
O S:2 1 .3 2 |
p a g e |
1 |
||||
START_TIME |
ENDJTIME |
BLOCKS |
FA CILITIES STORAGES |
FREE_MEMORY |
|
||||||
|
|
0 |
|
666 |
5 |
1 |
|
0 |
65686 |
|
|
LINE |
|
LOC |
|
BLOCK_TYP£ |
ENTRY_COUNT |
CURRENT_COUNT RETRY |
|||||
10 |
|
1 |
|
GENERATE |
“ 100 |
|
0 |
|
0 |
||
20 |
|
2 |
|
SEIZE |
|
100 |
|
0 |
|
0 |
|
30 |
, |
3 |
|
ADVANCE |
|
100 |
|
0 |
|
0 |
|
40 |
|
4 |
|
RELEASE |
|
100 |
|
0 |
|
0 |
|
50 |
|
5 |
|
TERMINATE |
|
100 |
|
0 |
|
0 |
|
FACILITY |
|
ENTRIES |
UTIL |
AVE. TIME AVAILABLE |
OWNER PEND INTER RETRY DELAY |
||||||
1 |
|
100 |
0 .7 0 2 |
4 .8 2 |
1 |
0 |
0 |
0 |
0 |
0 ' |
|
XACT_GROUP |
|
GROUP_SIZE |
RETRY |
|
|
|
|
|
|||
POSITION |
|
|
0 |
|
0 |
|
|
|
|
|
|
|
|
Р и с . |
3.4. Стандартный отчет |
EX A M 02.R PT |
|
|
Для задания окончания работы с системой GPSS/PC и возвра щения в рабочее окно используется оператор END. Формат описа ния оператора END имеет вид:
END
Чтобы остаться в системе GPSS/PC для работы с различными окнами следует закомментировать оператор END точкой с запятой или звездочкой. Возврат в рабочее окно осуществляется путем на бора команды END в текущем окне системы GPSS/PC.
Файл стандартного отчета для примера 3.2 (программа EXAM02.GPS на рис. 3.3) под именем EXAM02.RPT приведен на рис. 3.4. Отличия от предыдущего отчета состоят в изменении вре мени моделирования 686, коэффициенте использования 0.702 и среднем времени обработки одного транзакта 4.82.
Пример 3.3. В систему массового обслуживания (Q -схему) поступают заявки, распределенные по равномерному закону в интервале 5 ± 2 мин. (от 3 до 7 мин). Обработка поступивших заявок осуществляется также по равномерному закону распределения в интервале 8 ± 2 мин (от 6 до 10 мин). Необходимо смоделировать работу системы обслуживания в те чение 120 мин. Программа решения примера 3.3 приведена на рис. 3.5 под именем EXAM03.GPS. В этом примере временной интервал поступле ния заявок меньше интервала обслуживания (по среднему значению). Здесь можно говорить о решении с помощью условного вложенного цикла, который образует двойная конструкция блоков GENERATE — TERMINATE.
Временной период работы системы задается блоками GENERATE (под номером 5), TERMINATE (под номером 7) и оператором START. Ге нерация одного транзакта происходит через 120 мин, которые указаны в поле <А> первого блока GENERATE. Этот транзакт выводится из систе-
47
SIMULATE |
|
|
|
|
|
|
|
|
|
|
|
5 |
GENERATE 120; |
Генерация транзакта через 120 мин |
|
|
|||||||
7 |
TERMINATE 1; |
|
Уничтожение транзакта внешнего цикла |
|
|||||||
10 GENERATE 5,2; |
|
Г е н е р а ц и я |
транзактов |
|
|
|
|
||||
20 SEISE 1 |
|
|
|
|
|
|
|
|
|
|
|
30 ADVANCE 7,2 |
|
|
|
|
|
|
|
|
|
||
40 RELEASE 1 |
|
|
|
|
|
|
|
|
|
||
50 TERMINATE; |
|
Уничтожение обработанных транзактов |
|
||||||||
START 1; |
|
|
Задание числа счетчика завершений END |
|
|||||||
|
|
Р и с . |
|
3.5. П рограмма EX A M 03.G PS |
|
|
|
||||
GPSS/PC |
R feport f i l e |
REPORT.GPS. (V |
2 , |
# 37349) |
0 1 - 1 0 -2 0 0 1 0 5 .2 1 .3 7 |
p a g e 1 |
|||||
START_TIME |
END_JTIME |
BLOCKS |
|
FACILITIES STORAGES |
FREE_MEMORY |
||||||
|
0 |
”4 2 0 |
|
7 |
|
1 |
|
0 |
8 4896 |
|
|
LINE |
LOC |
BLOCK TYPE |
|
ENTRY COUNT |
CURRENT COUNT |
RETRY |
|||||
5 |
1 |
|
GENERATE |
|
|
1 |
|
0 |
|
0 |
|
7 |
2 |
|
T E R M IN A T E |
|
|
1 |
|
0 |
|
0 |
|
10 |
3 |
|
GENERATE |
|
|
26 |
|
8 |
|
0 |
|
20 |
4 |
|
SEIZE |
|
|
10 |
|
1 |
|
0 |
|
30 |
S |
|
ADVANCE |
|
|
17 |
|
0 |
|
0 |
|
40 |
6 |
|
RELEASE |
|
|
17 |
|
0 |
|
0 |
|
50 |
7 |
|
TERMINATE |
|
|
17 |
|
0 |
|
0 |
|
FACILITY |
ENTRIES |
UTIL. |
|
AVE___TIME AVAILABLE |
OWNER PEND |
INTER |
RETRY |
DELAY |
|||
1 |
16 0 .9 5 6 |
|
6 .3 9 |
1 |
19 |
0 |
0 |
0 |
8 |
||
XACT^GROUP |
GROUP_S12E |
RETRY |
|
|
|
|
|
||||
POSITION |
|
О |
|
0 |
|
|
|
|
|
||
|
Р и с . 3.6. Стандартны й отчет |
EXA M 03.RPT |
|
|
мы блоком TERMINATE. Число счетчика завершений 1 установлено в поле <А> оператора START. В то же время второй блок GENERATE (под номером 10) генерирует транзакты каждые 5 ± 2 мин. Уничтожение тран зактов осуществляется б л о к о м TERMINATE без изменения счетчика за вершений, т. е. блок TERMINATE применяется с пустыми полями.
3 файле стандартного отчета EXAM03.RPT (рис. 3.6) приведены ре зультаты работы системы для заданного времени (120 мин). Как следует из отчета, за 120 мин было сгенерировано 26 транзактов в условном вло женном цикле, который отражает основную работу моделируемой систе мы S. Обработано и выведено из системы 17 транзактов. Работа условного внешнего цикла связана с числом счетчика завершений через блок TERMINATE с непустым полем <А> (в нем задано число 1, которое равно числу счетчика завершений). На момент окончания моделирования в устройство поступил девятнадцатый по счету транзакт внутреннего цик ла. Это число показано в поле OWNER статистики устройства. Среднее время занятости устройства составляет 6.39 мин. Коэффициент исполь зования устройства равен 0.958. Число транзактов, ожидающих специ альных условий для устройства, равно 8. Поле DELAY статистики устрой ства заполнено (число 8) потому, что работа внутреннего цикла была пре рвана внешним циклом путем назначенного времени работы (число i 20).
48
SIMULATE |
|
|
10 |
GENERATE 5,2„100; |
Генерация 100 транзактов |
20 |
seize 1 |
|
30 |
ADVANCE 7,2 |
|
40 |
RELEASE I |
|
50 |
TERMINATE 1 |
Уничтожение транзактов (вывод из системы) |
START 100; |
Задание числа счетчика завершений |
|
END |
|
Р и с . 3.7. П рограмма EX A M 04.G PS
Время работы системы отражено в поле показателя ENDJTIME. Блок TERMINATE условного внутреннего цикла вывел из системы 17 транзак тов, которые не связаны с числом счетчика завершений.
Пример 3.4. В систему массового обслуживания ( Q -схем у) поступает и обрабатывается фиксированное число заявок. Примем, что заявки посту пают в систему по равномерному закону из интервала времени, равного от 3 до 7 мин. Обработка заявок осуществляется также по равномерному закону в интервале времени от 5до 9 мин. Необходимо смоделировать ра боту системы при поступлении и обработке 100 заявок.
Подобное условие задачи часто требуется для уточнения характера работы системы, когда в ней обслуживание заявок осуществляется мед леннее, чем поступление этих заявок в систему.
Программа решения примера 3.4 приведена на рис. 3.7 под именем EXAM04.GPS.
Решение поставленной задачи с фиксированным числом входящих и обрабатываемых заявок осуществляется с помощью дополнительного поля блока GENERATE. Вданном случае он имеет следующий формат за писи:
10 GENERATE < A > ,< B > ,< C > ,< D >
В блоке GENERATE используются поля <A>,<B>,<C>,<D>, среди которых поля <C>,<D> — новые. Поле <С> назначает временную за держку начала моделирования. Если оно пусто, то это означает, что за держка нулевая (как в нашей программе). В поле <D> указывается число генерируемых транзактов. В данном случае это число равно 100 и совпа дает с числом счетчика завершений, указанным в операторе START.
Время работы системы зависит только от времени генерации за я в о к (транзактов) и времени их обработки. Моделирование системы будет происходить до тех пор, пока не сгенерируются и не выведутся 100 тран зактов.
Результаты моделирования системы по заданному количеству по ступающих и обрабатываемых заявок приведены в файле стандартного отчета с именем EXAM04.RPT (рис. 3.8). Несмотря на то что время гене рации транзактов в примере меньше времени обработки, поле CURRENT_COUNT файла стандартного отчета нулевое, так как число сгенерированных транзактов равно числу счетчика завершений. Число 100 установлено в поле <D> блока GENERATE и в поле <А> оператора
4 - 3 0 8 3 |
49 |
GPSS/PC Report file |
REPORT |
GPS |
(V 2, |
# 37349) 01-10-2001 05*21 |
41 |
page |
1 |
|||||||
START |
TIME |
END TIME |
BLOCKS |
FA C IL ITIES |
STORAGES |
FREE MEMORY |
|
|||||||
|
0 |
|
|
704 |
5 |
|
|
1 |
|
0 |
|
836B8 |
|
|
LINE |
LOC |
|
|
BLOCK TYPE |
|
ENTRY COUNT |
CURRENT COUNT |
RETRY |
||||||
10 |
1 |
|
|
GENERATE |
|
100 |
|
|
0 |
|
0 |
|||
20 |
2 |
|
|
SEIZE |
|
|
100 |
|
|
0 |
|
0 |
||
30 |
3 |
|
|
ADVANCE |
|
|
100 |
|
|
0 |
|
0 |
||
40 |
4 |
|
|
RELEASE |
|
|
100 |
|
|
0 |
|
0 |
||
50 |
5 |
|
|
TERMINATE |
|
100 |
|
|
0 |
|
0 |
|||
FACILITY |
ENTRIES |
|
|
U TIL. |
AVE.JTIME |
AVAILABLE |
OWNER PEND |
INTER RETRY DELAY |
||||||
1 |
100 |
|
0 |
992 |
|
6 |
99 |
1 |
0 |
0 |
0 |
0 |
0 |
|
XACT_GROUP |
|
GROUP SIZE |
|
RETRY |
|
|
|
|
|
|
||||
POSITION |
|
|
|
|
0 |
|
|
0 |
|
|
|
|
|
|
|
Р и с |
|
38 |
Стандартный отчет EXAM04.RPT |
|
|
|
START. Сколько сообщений вошло в систему, столько обработалось и вышло из системы.
Если сравнивать результаты моделирования в отчетах EXAM02.RPT и EXAM04.RPT, то можно заметить, что количество проходящих транзактов (заявок) без задержки через блоки системы одно и то же. Но этот результат в первом случае обусловлен более медленной генерацией транзактов по сравнению со временем обработки, а во втором случае объясня ется жестко детерминированным заданием генерирования транзактов и их вывода из системы.
3.1.2. Блоки SPLIT, ASSEMBLE, TRANSFER.
Оператор CLEAR
Блоки SPLIT, ASSEMBLE относятся к блокам создания и уничтожения транзактов. Блок SPLIT, в отличие от блока GENERATE, самостоятельно не создает транзактов. Он только создает заданное количество копий от входящего в него транзакта. При этом входящий транзакт называют часто транзактом-родите- лем, а копию — транзактом-потомком.
Блок SPLIT имеет следующий формат записи:
SP L IT < А > ,[ < В > ] ,[ < 0 ]
В поле <А> блока SPLIT задается число задаваемых копий. Операнд поля <А> может быть положительным целым, именем, СЧА, СЧА с параметром. Если используется только поле <А>, то из блока SPLIT выходит заданное количество копий, которые сле дуют в следующий по номеру блок. Поле <В> задает номер сле дующего блока, к которому переходят копии исходного сообще ния или транзакта-родителя. В поле <С> может быть задан номер параметра, используемого для присвоения копиям последователь-
50