_WELCOMETO Radioland

Главная Схемы Документация Студентам Программы Поиск Top50  
Поиск по сайту



Навигация
Главная
Схемы
Автоэлектроника
Акустика
Аудио
Измерения
Компьютеры
Питание
Прог. устройства
Радио
Радиошпионаж
Телевидение
Телефония
Цифр. электроника
Другие
Добавить
Документация
Микросхемы
Транзисторы
Прочее
Файлы
Утилиты
Радиолюб. расчеты
Программирование
Другое
Студентам
Рефераты
Курсовые
Дипломы
Информация
Поиск по сайту
Самое популярное
Карта сайта
Обратная связь

Студентам


Студентам > Курсовые > Моделирование систем и сетей связи на GPSS

Моделирование систем и сетей связи на GPSS

Страница: 7/12

.

     Оператор определения таблицы с именем WTIME разбивает ось вре-

мени на 10 частотных интервалов.  Первый интервал включает значения

от  0 до 50,  второй - от 50 до 100,  третий - от 100 до 150 и т.д.

Последний,  десятый,  интервал включает значения,  превышающие 450.

Если,  например,  время  ожидания  некоторого  транзакта  в очереди

составило 145 единиц модельного времени,  то  к  счетчику  третьего

частотного интервала будет добавлена 1.  Следует заметить,  что ин-

формация в таблицу с именем WTIME заносится автоматически, при вхо-

де транзактов в блоки QUEUE и DEPART, и никаких специальных мер для

этого принимать не требуется.

     Таблицы в GPSS/PC могут использоваться в более общем случае не

только для табулирования времени ожидания в очереди, но и для полу-

чения  выборочных распределений произвольных СЧА любых объектов мо-

дели.  Для определения таблиц служит оператор TABLE (таблица), фор-

мат которого совпадает с форматом оператора QTABLE. Отличие состоит

лишь в том,  что в поле A оператора TABLE записывается  стандартный

числовой атрибут,  выборочное распределение которого необходимо по-

лучить,  а операнды B,  C и D определяют разбиение на частотные ин-

тервалы диапазона всевозможных значений этого СЧА.

     Занесение информации в таблицу, определяемую оператором TABLE,

уже не может быть выполнено симулятором автоматически, как в случае

Q-таблиц. Для этого используется специальный блок TABULATE (табули-

ровать), имеющий следующий формат:

                        1имя  0   TABULATE    A

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

ветствующим оператором TABLE.

     При входе транзакта в блок TABULATE текущее значение табулиру-

емого аргумента таблицы,  указанного в поле A оператора TABLE,  за-

носится в нее в соответствии с заданным в операторе TABLE разбиени-

ем области значений аргумента на частотные интервалы.  Одновременно

корректируются текущие значения СЧА таблицы:  счетчик входов в таб-

лицу TC,  среднее время ожидания TB и среднеквадратическое отклоне-

ние времени ожидания TD.

     Пусть, например,  в модели многоканальной СМО,  приведенной на

рис.  8,  надо получить распределение времени пребывания  заявок  в

системе, включающего время ожидания в очереди и время обслуживания.

Это может быть обеспечено способом, показанным на рис. 11.

     Оператор TABLE  определяет таблицу с именем TTIME,  аргументом

которой служит СЧА М1 - время  пребывания  транзакта  в  модели.  В

рассматриваемой  модели значение СЧА M1 одновременно будет являться

временем пребывания транзакта в СМО в том  случае,  если  занесение

 

                              - 27 -

 

информации в таблицу производить перед выходом транзакта из модели.

Поэтому блок 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 (передать) служит для передачи входящих  в  него

транзактов в блоки, отличные от следующего. Блок имеет девять режи-

мов работы,  из которых рассмотрим здесь лишь  три  наиболее  часто

используемых. В этих трех режимах блок имеет следующий формат:

                      1имя  0   TRANSFER    A,B,C

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

     В режиме  1безусловной передачи  0поля A и C пусты,  а  в  поле  B

указывается имя блока,  к которому безусловным образом направляется

транзакт, вошедший в блок TRANSFER. Например:

                        TRANSFER    ,FINAL

     В режиме  1статистической передачи  0операнд A определяет  вероят-

ность,  с которой транзакт направляется в блок, указанный в поле C.

С вероятностью 1-A транзакт направляется в блок, указанный в поле B

(в следующий, если поле B пусто).

 

                              - 28 -

 

     Вероятность в поле A может быть задана  непосредственно  деся-

тичной дробью, начинающейся с точки. Например, блок

                     TRANSFER    .75,THIS,THAT

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

вероятностью 0,25 - в блок с именем THIS.

     Если же  поле A начинается не с десятичной точки и не содержит

одного из ключевых слов - признаков других режимов работы блока, то

его  значение рассматривается как количество тысячных долей в веро-

ятности передачи. Например, предыдущий блок TRANSFER можно записать

также в следующем виде:

                     TRANSFER    750,THIS,THAT

     В режиме   1логической  передачи   0в поле A записывается ключевое

слово BOTH (оба).  Транзакт,  поступающий в блок TRANSFER,  сначала

пытается  войти  в блок,  указанный в поле B (или в следующий блок,

если поле B пусто),  а если это не удается,  т.е. блок B отказывает

транзакту во входе,  то в блок,  указанный в поле C. Если и эта по-

пытка неудачна, то транзакт задерживается в блоке TRANSFER до изме-

нения условий в модели, делающего возможным вход в один из блоков B

или C,  причем при одновременно возникшей возможности  предпочтение

отдается блоку B. Например:

                    TRANSFER    BOTH,MET1,MET2

     Блок TEST  (проверить) служит для задержки или изменения марш-

рутов транзактов в зависимости от соотношения двух  СЧА.  Он  имеет

следующий формат:

                       1имя  0   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.

 

 

                              - 29 -

.

     Для задержки или изменения маршрута транзактов  в  зависимости

от   состояния   аппаратных   объектов   модели  служит  блок  GATE

(впустить), имеющий следующий формат:

                        1имя  0   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

 

                              - 30 -

.

     Транзакты, поступающие  в  модель,  попадают в блок TRANSFER с

именем ENT1,  работающий в логическом режиме. Если в момент поступ-

ления  транзакта  в  МКУ STO2 хотя бы один канал свободен,  то блок

TRANSFER направит транзакт в следующий блок,  т.е.  в  блок  ENTER.