_WELCOMETO Radioland

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



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

Студентам


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

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

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

признак  подавления  формирования стандартного отчета по завершении

моделирования.  Если поле B пусто,  то по окончании прогона  модели

формируется  отчет со стандартной статистической информацией о всех

объектах модели (см.  разд.  5). Поле C не используется и сохранено

для совместимости со старыми версиями GPSS.  Поле D может содержать

1 для включения в отчет списков текущих и будущих событий. Если по-

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

дится.

     Оператор SIMULATE (моделировать) устанавливает предел реально-

го времени,  отводимого на прогон модели. Если прогон не завершится

до истечения этого времени, то он будет прерван принудительно с вы-

дачей накопленной статистики в отчет.

     Оператор SIMULATE  имеет  единственный  операнд A,  содержащий

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

Оператор  размещается перед оператором START,  начинающим лимитиро-

ванный прогон.

     Оператор RMULT (установить значения генераторов) позволяет пе-

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

чайных чисел RN,  определяющие генерируемые ими последовательности.

Поля A-G оператора могут содержать начальные  значения  генераторов

соответственно RN1-RN7,  задаваемые константами. Начальные значения

генераторов,  не установленные операторами RMULT, совпадают с номе-

рами генераторов.

     Оператор RESET (сбросить) сбрасывает всю статистическую инфор-

мацию,  накопленную  в процессе прогона модели.  При этом состояние

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

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

новлено с повторным сбором статистики. Оператор не имеет операндов.

     С оператором  RESET  связано различие между относительным (СЧА

C1) и абсолютным (СЧА AC1) модельным временем. Таймер относительно-

го времени C1 измеряет модельное время,  прошедшее после последнего

сброса статистики оператором RESET,  а таймер  абсолютного  времени

 

                              - 39 -

 

AC1 - модельное время, прошедшее после начала первого прогона моде-

ли.  Если не использовалось ни одного оператора RESET,  то значения

этих  таймеров совпадают.  Оператор RESET устанавливает таймер C1 в

ноль и не влияет на таймер AC1.

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

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

интервалам стационарности или исключить влияние переходного периода

на собираемую статистическую информацию.

     Пусть, например,  в модели, приведенной на рис. 18, необходимо

отбросить статистику,  собираемую на первой тысяче транзактов.  Это

может быть сделано способом, показанным на рис. 19.

     Первый оператор START начинает прогон модели длиной 1000 тран-

зактов (переходный период).  Поскольку статистика,  накопленная  на

этом  периоде,  не используется,  в поле B оператора указан признак

подавления формирования отчета NP. Оператор RESET сбрасывает накоп-

ленную  статистику,  не  изменяя состояния модели.  Второй оператор

START начинает основной прогон модели с формированием отчета по за-

вершении прогона.

 

        Ш1

         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

                ASSIGN      TSRV,80,EXP

                GATE NU     SYSTEM,WAIT

         SFAC   SEIZE       SYSTEM

                ADVANCE     P$TSRV

                RELEASE     SYSTEM

                UNLINK      LINE,SFAC,1

                TERMINATE   1

         WAIT   LINK        LINE,P$TSRV

                START       1000,NP

                RESET

                START       10000

        Ш1.5

 

                              Рис. 19

 

     Оператор CLEAR (очистить) очищает модель,  подготавливая ее  к

повторному прогону.  При этом сбрасывается вся накопленная в преды-

дущем прогоне статистика,  из модели удаляются все транзакты, и она

приводится к исходному состоянию,  как перед первым прогоном. Уста-

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

тывать  при  использовании этих объектов для хранения исходных дан-

ных.  Исключение составляют генераторы случайных чисел,  которые не

 

                              - 40 -

 

возвращаются  к своим начальным значениям,  что позволяет повторить

прогон модели на новой последовательности случайных чисел. Оператор

не имеет операндов.

     Оператор CLEAR используется обычно для организации  нескольких

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

чисел.  Перед повторением прогона можно при необходимости переопре-

делить отдельные объекты модели,  например  емкости  многоканальных

устройств.

     Пусть, например,  требуется повторить прогон модели, приведен-

ной на рис.  17, три раза при емкости МКУ, равной 1, 2 и 3. Это мо-

жет быть выполнено так,  как показано  на  рис.  20.  После  каждой

очистки  модели оператором CLEAR оператор STORAGE устанавливает но-

вое значение емкости МКУ с именем STO2.

     Оператор END  (закончить)  завершает   1сеанс  0работы с GPSS/PC и

возвращает управление в операционную  систему.  Оператор  не  имеет

операндов.

 

        Ш1

         STO2   STORAGE     1

         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

                GATE SNF    STO2,WAIT

         ENT1   ENTER       STO2

                ADVANCE     160,FN$EXP

                LEAVE       STO2

                UNLINK      BUFER,ENT1,1

                TERMINATE   1

         WAIT   LINK        BUFER,FIFO

                START       10000

                CLEAR

         STO2   STORAGE     2

                START       10000

                CLEAR

         STO2   STORAGE     3

                START       10000

        Ш1.5

 

                              Рис. 20

 

     Как правило,  управляющие операторы не включаются  в  исходную

программу,  т.е.  не имеют номеров строк,  а вводятся пользователем

непосредственно с клавиатуры ПК.

    

    

                              - 41 -

.

         4. НЕКОТОРЫЕ ПРИЕМЫ КОНСТРУИРОВАНИЯ GPSS-МОДЕЛЕЙ

 

                     4.1. Косвенная адресация

 

     В рассматривавшихся до сих пор примерах моделей ссылки на раз-

личные  объекты  GPSS/PC  производились  исключительно по данным им

произвольным именам.  Такая  1адресация  0объектов удобна,  когда  речь

идет о небольшом числе объектов каждого типа.  Если же число объек-

тов некоторого типа велико, то во избежание пропорционального роста

количества  блоков  в модели используют ссылки на эти объекты по их

номерам с использованием так называемой  1косвенной адресации 0.

     Идея косвенной  адресации заключается в том,  что каждый тран-

закт в некотором своем параметре содержит номер того или иного объ-

екта, а в полях блоков, адресующихся к объектам, записывается ссыл-

ка на этот параметр транзакта. Проиллюстрируем применение косвенной

адресации на примере следующей модели.

 

        Ш1

         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

         CLASS  FUNCTION    RN1,D3

        .333,1/.667,2/1,3

         MEAN   FUNCTION    P$TYPE,L3

        1,70/2,80/3,90

         PRIOT  VARIABLE    4-P$TYPE

         STO2   STORAGE     2

         WTIME  QTABLE      LINE,50,50,10

         TTIME  TABLE       M1,100,100,12

                GENERATE    100,FN$EXP

                ASSIGN      TYPE,FN$CLASS

                PRIORITY    V$PRIOT

                QUEUE       LINE

                QUEUE       P$TYPE

                ENTER       STO2

                DEPART      P$TYPE

                DEPART      LINE

                ADVANCE     FN$MEAN,FN$EXP

                LEAVE       STO2

                TABULATE    TTIME

                TERMINATE   1

        Ш1.5

 

                              Рис. 21

 

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

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

валом поступления 100 единиц модельного времени.  Каждая  заявка  с

равной вероятностью  1/3 относится к одному из трех классов:  1,  2

 

                              - 42 -

 

или 3,  а среднее время обслуживания заявок каждого типа составляет

соответственно  70,  80 и 90 единиц модельного времени.  Чем меньше

среднее время обслуживания заявки, тем выше ее приоритет. Необходи-

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

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

ожидания в очереди и общего времени пребывания в системе. Такая мо-

дель имеет вид, показанный на рис. 21.

     Переменная PRIOT  служит  для  вычисления приоритета транзакта

как функции его класса,  содержащегося в параметре с  именем  TYPE.

Транзакты класса 1 (P$TYPE=1) получат приоритет 3, транзакты класса

2 - приоритет 2 и транзакты класса 3 - приоритет 1.

     В блоке  ASSIGN  в параметр TYPE транзактов записывается класс