_WELCOMETO Radioland

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



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

Студентам


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

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

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

Если же в момент поступления оба канала МКУ заняты,  и поэтому блок

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 не заполнено" истинно.

 

    

    

                              - 31 -

.

 

        Ш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. Блоки, работающие с памятью

 

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

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

емых величин.

      1Сохраняемые величины  0могут использоваться в модели для  хране-

ния  исходных данных,  которые надо изменять при различных прогонах

модели, промежуточных значений и результатов моделирования. В нача-

ле  моделирования  все сохраняемые величины устанавливаются равными

0. Для установки отличных от 0 начальных значений сохраняемых вели-

чин используется оператор INITIAL, имеющий следующий формат:

        Ш1

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

        Ш1.5

                     INITIAL    X 1j 0, 1значение

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

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

     Для изменения  сохраняемых  величин  в  процессе моделирования

служит блок SAVEVALUE (сохранить величину),  имеющий следующий фор-

мат:

                       1имя  0   SAVEVALUE    A,B

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

торую записывается значение операнда B.  Если в поле A после  имени

(номера) сохраняемой величины стоит знак + или -,  то значение опе-

ранда B добавляется или вычитается из текущего содержимого сохраня-

емой величины. Например:

        Ш1

                       SAVEVALUE    5,Q$LINE

        Ш1.5

                       SAVEVALUE    NREF+,1

 

                              - 32 -

.

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

значением которого является текущее значение соответствующей сохра-

няемой величины.

     Изменим пример на рис. 14 таким образом, чтобы исходные данные

модели  (средний  интервал  поступления  транзактов и среднее время

обслуживания) были заданы сохраняемыми величинами,  а результат мо-

делирования (количество потерянных транзактов) фиксировался также в

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

рис. 15.

      1Матрицы  0сохраняемых  величин дают возможность упорядочить сох-

раняемые значения в виде матриц m*n, где m - число строк, n - число

столбцов матрицы.  Каждая матрица должна быть перед началом модели-

рования определена с помощью оператора MATRIX (определить матрицу),

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

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

 

    

                              - 33 -

.

     В начале моделирования элементы всех определенных матриц уста-

навливаются равными 0. Для установки отличных от 0 начальных значе-

ний отдельных элементов матриц используется оператор INITIAL, имею-

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

        Ш1

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

        Ш1.5

                  INITIAL    MX 1j 0( 1a,b) 0, 1значение

Здесь  1имя  0и  1j  0- соответственно имя и номер матрицы;   1a  0и  1b  0- номера

соответственно строки и столбца, задаваемые константами;  1значение  0-

присваиваемое элементу матрицы начальное значение, задаваемое также

константой.

     Для изменения значений элементов матриц в процессе моделирова-

ния служит блок MSAVEVALUE (сохранить значение  элемента  матрицы),

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

                    1имя  0   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$ 1имя 0( 1a,b 0)

        Ш1.5

                       MX 1j 0( 1a,b)

Здесь  1имя  0и  1j  0- соответственно имя и номер матрицы;   1a  0и  1b  0- номера

соответственно строки и столбца, задаваемые константами или ссылка-

ми на СЧА параметров транзактов. Например:

        Ш1

                       MX5(2,1)

        Ш1.5

                       MX$MTAB(P$ROW,P$COL)

 

          2.6. Блоки для работы со списками пользователя

 

     Так как  заблокированные  транзакты находятся в списке текущих

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

расходует  слишком  много  времени на просмотр этого списка с целью

выбора очередного транзакта для продвижения. Для экономии машинного

времени  заблокированные транзакты целесообразно помещать в так на-

зываемые  1списки пользователя  0и оставлять их там до тех пор, пока не

выполнятся  условия,  позволяюшие дальнейшее продвижение этих тран-

зактов. Кроме того, размещение ожидающих транзактов в списках поль-

зователя позволяет организовать различные дисциплины очередей,  от-

 

                              - 34 -

 

личные от дисциплины "раньше пришел - раньше обслужен", реализован-