46340 (588396), страница 5

Файл №588396 46340 (Системы и сети связи на GPSS/PC) 5 страница46340 (588396) страница 52016-07-29СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 5)

В поле A указывается номер или имя таблицы, определенной соответствующим оператором TABLE.

При входе транзакта в блок TABULATE текущее значение табулируемого аргумента таблицы, указанного в поле A оператора TABLE, заносится в нее в соответствии с заданным в операторе TABLE разбиением области значений аргумента на частотные интервалы. Одновременно корректируются текущие значения СЧА таблицы: счетчик входов в таблицу TC, среднее время ожидания TB и среднеквадратическое отклонение времени ожидания TD.

Пусть, например, в модели многоканальной СМО, приведенной на рис. 8, надо получить распределение времени пребывания заявок в системе, включающего время ожидания в очереди и время обслуживания. Это может быть обеспечено способом, показанным на рис. 11.

Оператор TABLE определяет таблицу с именем TTIME, аргументом которой служит СЧА М1 - время пребывания транзакта в модели. В рассматриваемой модели значение СЧА M1 одновременно будет являться временем пребывания транзакта в СМО в том случае, если занесение информации в таблицу производить перед выходом транзакта из модели. Поэтому блок TABULATE, заносящий информацию о времени пребывания каждого транзакта в модели в таблицу TTIME, располагается перед блоком TERMINATE. Диапазон возможных значений времени пребывания транзакта в модели разбит в операторе TABLE на 12 частотных интервалов, ширина которых (кроме последнего) равна 100 единицам модельного времени.

1

TTIME TABLE M1,100,100,12

STO2 STORAGE 2

EXP FUNCTION RN1,C24

0,0/.1,.104/.2,.222/.3,.355/.4,.509/.5,.69/.6,.915

.7,1.2/.75,1.38/.8,1.6/.84,1.85/.88,2.12/.9,2.3

.92,2.52/.94,2.81/.95,2.99/.96,3.2/.97,3.5/.98,3.9

.99,4.6/.995,5.3/.998,6.2/.999,7/.9998,8

GENERATE 100,FN$EXP

ENTER STO2

ADVANCE 160,FN$EXP

LEAVE STO2

TABULATE TTIME

TERMINATE 1

1.5

Рис. 11

2.4. Блоки, изменяющие маршруты транзактов

В приведенных выше примерах транзакты, выходящие из любого блока, всегда поступали в следующий блок. В более сложных моделях возникает необходимость направления транзактов к другим блокам в зависимости от некоторых условий. Эту возможность обеспечивают блоки изменения маршрутов транзактов.

Блок TRANSFER (передать) служит для передачи входящих в него транзактов в блоки, отличные от следующего. Блок имеет девять режимов работы, из которых рассмотрим здесь лишь три наиболее часто используемых. В этих трех режимах блок имеет следующий формат:

имя TRANSFER A,B,C Смысл операндов в полях A, B и C зависит от режима работы блока.

В режиме безусловной передачи поля A и C пусты, а в поле B указывается имя блока, к которому безусловным образом направляется транзакт, вошедший в блок TRANSFER. Например:

TRANSFER,FINAL

В режиме статистической передачи операнд A определяет вероятность, с которой транзакт направляется в блок, указанный в поле C. С вероятностью 1-A транзакт направляется в блок, указанный в поле B (в следующий, если поле B пусто). Вероятность в поле A может быть задана непосредственно десятичной дробью, начинающейся с точки. Например, блок

TRANSFER.75,THIS,THAT с вероятностью 0,75 направляет транзакты в блок с именем THAT, а с вероятностью 0,25 - в блок с именем THIS.

Если же поле A начинается не с десятичной точки и не содержит одного из ключевых слов - признаков других режимов работы блока, то его значение рассматривается как количество тысячных долей в вероятности передачи. Например, предыдущий блок TRANSFER можно записать также в следующем виде:

TRANSFER 750,THIS,THAT

В режиме логической передачи в поле A записывается ключевое слово BOTH (оба). Транзакт, поступающий в блок TRANSFER, сначала пытается войти в блок, указанный в поле B (или в следующий блок, если поле B пусто), а если это не удается, т.е. блок B отказывает транзакту во входе, то в блок, указанный в поле C. Если и эта попытка неудачна, то транзакт задерживается в блоке TRANSFER до изменения условий в модели, делающего возможным вход в один из блоков B или C, причем при одновременно возникшей возможности предпочтение отдается блоку B. Например:

TRANSFER BOTH,MET1,MET2

Блок TEST (проверить) служит для задержки или изменения маршрутов транзактов в зависимости от соотношения двух СЧА. Он имеет следующий формат:

имя TEST X A,B,C

Вспомогательный операнд X содержит условие проверки соотношения между СЧА и может принимать следующие значения: L (меньше); LE (меньше или равно); E (равно); NE (не равно); GE (больше или равно); G (больше). Поле A содержит первый, а поле B - второй из сравниваемых СЧА. Если проверяемое условие A X B выполняется, то блок TEST пропускает транзакт в следующий блок. Если же это условие не выполняется, то транзакт переходит к блоку, указанному в поле C, а если оно пусто, то задерживается перед блоком TEST.

Например, блок

TEST LE P$TIME,C1 не впускает транзакты, у которых значение параметра с именем TIME больше текущего модельного времени. Блок

TEST L Q$LINE,5,OUT направляет транзакты в блок с именем OUT, если текущая длина очереди LINE больше либо равна 5.

Для задержки или изменения маршрута транзактов в зависимости от состояния аппаратных объектов модели служит блок GATE (впустить), имеющий следующий формат:

имя GATE X A,B

Вспомогательный операнд X содержит код состояния проверяемого аппаратного объекта, а в поле A указывается имя или номер этого объекта. Если проверяемый объект находится в заданном состоянии, то блок GATE пропускает транзакт к следующему блоку. Если же заданное в блоке условие не выполняется, то транзакт переходит к блоку, указанному в поле B, а если это поле пусто, то задерживается перед блоком GATE.

Операнд X может принимать следующие значения: U (устройство занято); NU (устройство свободно); I (устройство захвачено); NI (устройство не захвачено); SE (МКУ пусто); SNE (МКУ не пусто); SF (МКУ заполнено); SNF (МКУ не заполнено); LS (ЛП включен), LR (ЛП выключен).

Например, блок

GATE SNE BUF3 отказывает во входе транзактам, поступающим в моменты, когда в МКУ с именем BUF3 все каналы обслуживания свободны. Блок

GATE LR 4,BLOK2 направляет транзакты в блок с именем BLOK2, если в момент их поступления ЛП с номером 4 включен.

Блоки рассматриваемой группы используются при моделировании различных СМО с потерями заявок. Воспользуемся, например, блоками TRANSFER для моделирования двухканальной СМО с отказами и повторными попытками (рис. 12).

1

STO2 STORAGE 2

EXP FUNCTION RN1,C24

0,0/.1,.104/.2,.222/.3,.355/.4,.509/.5,.69/.6,.915

.7,1.2/.75,1.38/.8,1.6/.84,1.85/.88,2.12/.9,2.3

.92,2.52/.94,2.81/.95,2.99/.96,3.2/.97,3.5/.98,3.9

.99,4.6/.995,5.3/.998,6.2/.999,7/.9998,8

GENERATE 100,FN$EXP

ENT1 TRANSFER BOTH,,REFUS

ENTER STO2

ADVANCE 160,FN$EXP

LEAVE STO2

TERMINATE 1

REFUS TRANSFER.1,,OUT

ADVANCE 250,FN$EXP

TRANSFER,ENT1

OUT TERMINATE 1

1.5

Рис. 12

Транзакты, поступающие в модель, попадают в блок TRANSFER с именем ENT1, работающий в логическом режиме. Если в момент поступления транзакта в МКУ STO2 хотя бы один канал свободен, то блок TRANSFER направит транзакт в следующий блок, т.е. в блок ENTER. Если же в момент поступления оба канала МКУ заняты, и поэтому блок ENTER отказывает во входе, то транзакт будет направлен в блок TRANSFER с именем REFUS, работающий в статистическом режиме. С вероятностью 0,9 транзакты из этого блока передаются в следующий блок, задерживаются в нем на случайное время и с помощью блока TRANSFER, работающего в безусловном режиме, передаются вновь на вход модели в блок с именем ENT1. С вероятностью 0,1 транзакты из блока с именем REFUS передаются в блок TERMINATE с именем OUT для уничтожения.

Следует заметить, что для уничтожения транзактов, получивших отказ в обслуживании, понадобился отдельный блок TERMINATE для фиксации в стандартном отчете количества потерянных транзактов с помощью счетчика блока с именем OUT (СЧА N$OUT).

Для моделирования той же СМО может быть использован также блок TEST (рис. 13). В этом варианте модели транзакт проходит в блок ENTER, если текущее число занятых каналов (СЧА S$STO2) меньше 2.

1

STO2 STORAGE 2

EXP FUNCTION RN1,C24

0,0/.1,.104/.2,.222/.3,.355/.4,.509/.5,.69/.6,.915

.7,1.2/.75,1.38/.8,1.6/.84,1.85/.88,2.12/.9,2.3

.92,2.52/.94,2.81/.95,2.99/.96,3.2/.97,3.5/.98,3.9

.99,4.6/.995,5.3/.998,6.2/.999,7/.9998,8

GENERATE 100,FN$EXP

ENT1 TEST L S$STO2,2,REFUS

ENTER STO2

ADVANCE 160,FN$EXP

LEAVE STO2

TERMINATE 1

REFUS TRANSFER.1,,OUT

ADVANCE 250,FN$EXP

TRANSFER,ENT1

OUT TERMINATE 1

1.5

Рис. 13

При использовании блока GATE модель принимает вид, показанный на рис. 14. В этом варианте транзакт проходит в блок ENTER, если условие "МКУ STO2 не заполнено" истинно.

1

STO2 STORAGE 2

EXP FUNCTION RN1,C24

0,0/.1,.104/.2,.222/.3,.355/.4,.509/.5,.69/.6,.915

.7,1.2/.75,1.38/.8,1.6/.84,1.85/.88,2.12/.9,2.3

.92,2.52/.94,2.81/.95,2.99/.96,3.2/.97,3.5/.98,3.9

.99,4.6/.995,5.3/.998,6.2/.999,7/.9998,8

GENERATE 100,FN$EXP

ENT1 GATE SNF STO2,REFUS

ENTER STO2

ADVANCE 160,FN$EXP

LEAVE STO2

TERMINATE 1

REFUS TRANSFER.1,,OUT

ADVANCE 250,FN$EXP

TRANSFER,ENT1

OUT TERMINATE 1

1.5

Рис. 14

2.5. Блоки, работающие с памятью

Для хранения в памяти отдельных числовых значений и массивов таких значений используются сохраняемые величины и матрицы сохраняемых величин.

Сохраняемые величины могут использоваться в модели для хранения исходных данных, которые надо изменять при различных прогонах модели, промежуточных значений и результатов моделирования. В начале моделирования все сохраняемые величины устанавливаются равными 0. Для установки отличных от 0 начальных значений сохраняемых величин используется оператор INITIAL, имеющий следующий формат:

1

INITIAL X$ имя, значение

1.5

INITIAL X j, значение Здесь имя и j - соответственно имя и номер сохраняемой величины, а

значение - присваиваемое ей начальное значение (константа).

Для изменения сохраняемых величин в процессе моделирования служит блок SAVEVALUE (сохранить величину), имеющий следующий формат:

имя SAVEVALUE A,B

В поле A указывается номер или имя сохраняемой величины, в которую записывается значение операнда B. Если в поле A после имени (номера) сохраняемой величины стоит знак + или -, то значение операнда B добавляется или вычитается из текущего содержимого сохраняемой величины. Например:

1

SAVEVALUE 5,Q$LINE

1.5

SAVEVALUE NREF+,1

Сохраняемые величины имеют единственный СЧА с названием X, значением которого является текущее значение соответствующей сохраняемой величины.

Изменим пример на рис. 14 таким образом, чтобы исходные данные модели (средний интервал поступления транзактов и среднее время обслуживания) были заданы сохраняемыми величинами, а результат моделирования (количество потерянных транзактов) фиксировался также в сохраняемой величине. Такая модель будет иметь вид, показанный на рис. 15.

Матрицы сохраняемых величин дают возможность упорядочить сохраняемые значения в виде матриц m*n, где m - число строк, n - число столбцов матрицы. Каждая матрица должна быть перед началом моделирования определена с помощью оператора MATRIX (определить матрицу), имеющего следующий формат:

имя MATRIX A,B,C

Поле A оператора не используется и сохранено в GPSS/PC для совместимости со старыми версиями GPSS. В полях B и C указываются соответственно число строк и столбцов матрицы, задаваемые константами, причем общее число элементов, равное произведению B на C, не должно превышать 8191. Например, оператор

MTAB MATRIX,10,2 определяет матрицу с именем MTAB, содержащую десять строк и два столбца.

1

INITIAL X$TARR,100

INITIAL X$TSRV,160

STO2 STORAGE 2

EXP FUNCTION RN1,C24

0,0/.1,.104/.2,.222/.3,.355/.4,.509/.5,.69/.6,.915

.7,1.2/.75,1.38/.8,1.6/.84,1.85/.88,2.12/.9,2.3

.92,2.52/.94,2.81/.95,2.99/.96,3.2/.97,3.5/.98,3.9

.99,4.6/.995,5.3/.998,6.2/.999,7/.9998,8

GENERATE X$TARR,FN$EXP

ENT1 GATE SNF STO2,REFUS

ENTER STO2

ADVANCE X$TSRV,FN$EXP

LEAVE STO2

OUT TERMINATE 1

REFUS TRANSFER.1,,COUT

ADVANCE 250,FN$EXP

TRANSFER,ENT1

COUT SAVEVALUE NREF+,1

TRANSFER,OUT

1.5

Рис. 15

В начале моделирования элементы всех определенных матриц устанавливаются равными 0. Для установки отличных от 0 начальных значений отдельных элементов матриц используется оператор INITIAL, имеющий следующий формат:

1

INITIAL MX$ имя ( a,b ), значение

1.5

INITIAL MX j ( a,b), значение Здесь имя и j - соответственно имя и номер матрицы; a и b - номера соответственно строки и столбца, задаваемые константами; значение присваиваемое элементу матрицы начальное значение, задаваемое также константой.

Для изменения значений элементов матриц в процессе моделирования служит блок MSAVEVALUE (сохранить значение элемента матрицы), имеющий следующий формат:

имя MSAVEVALUE A,B,C,D

В поле A указывается имя или номер матрицы, после которого, как и в блоке SAVEVALUE, может стоять знак + или -. В полях B и C указываются номера соответственно строки и столбца, определяющие изменяемый элемент матрицы. В поле D указывается величина, используемая для изменения заданного элемента матрицы. Например:

1

MSAVEVALUE 5,3,2,X1

1.5

MSAVEVALUE MTAB+,P$ROW,P$COL,1

Матрицы имеют единственный СЧА с названием MX, ссылка на который записывается в следующем виде:

1

MX$ имя ( a,b )

1.5

Характеристики

Тип файла
Документ
Размер
373,67 Kb
Учебное заведение
Неизвестно

Список файлов ВКР

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6800
Авторов
на СтудИзбе
278
Средний доход
с одного платного файла
Обучение Подробнее