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

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

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

3.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

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