_WELCOMETO Radioland

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



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

Студентам


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

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

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

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

(1,2,3,...,n), то  такую дискретную функцию с целью экономии памяти

и машинного времени удобно определить как  1списковую числовую  функ-

 1цию  0(тип L).

     Пусть в модели на рис.  5 заявки,  моделируемые транзактами, с

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

(типов) 1,2 и 3,  а среднее время задержки обслуживания заявок каж-

дого  типа должно составлять соответственно 70,  80 и 90 единиц мо-

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

рис. 6.

     В блоке  ASSIGN в параметр TYPE каждого сгенерированного тран-

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

CLASS. Аргументом функции является генератор случайных чисел RN1, а

координаты ее таблицы представляют собой обратную функцию распреде-

ления  дискретной  случайной  величины "класс заявки" с одинаковыми

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

     Поле A  блока  ADVANCE  содержит  ссылку  на списковую функцию

MEAN, аргументом которой служит параметр TYPE входящих в блок тран-

зактов.  В  зависимости  от  значений этого параметра (типа заявки)

среднее время задержки принимает одно из  трех  возможных  значений

функции MEAN: 70, 80 или 90 единиц.

 

        Ш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

                GENERATE    100,FN$EXP

                ASSIGN      TYPE,FN$CLASS

                ADVANCE     FN$MEAN,FN$EXP

                TERMINATE   1

        Ш1.5

 

                              Рис. 6

 

     Следует отметить,  что в  данном  примере  можно  было  бы  не

использовать  параметр  TYPE  и обойтись одной дискретной функцией,

возвращающей с равной вероятностью одно из трех возможных  значений

среднего времени задержки. Однако использование параметров дает не-

 

                              - 19 -

 

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

же.

     Транзакты могут  входить  в  модель  не  только   через   блок

GENERATE,  но  и путем создания копий уже существующих транзактов в

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

                        1имя 0    SPLIT    A,B,C

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

(родителя),  входящего  в  блок SPLIT.  После выхода из блока SPLIT

транзакт-родитель направляется в следующий  блок,  а  все  транзак-

ты-потомки поступают в блок, указанный в поле B. Если поле B пусто,

то все копии поступают в следующий блок.

     Транзакт-родитель и его потомки, выходящие из блока SPLIT, мо-

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

в  поле  C.  Если у транзакта-родителя значение этого параметра при

входе в блок SPLIT было равно k,  то при выходе из блока оно станет

равным  k+1,  а значения этого параметра у транзактов-потомков ока-

жутся равными k+2, k+3 и т.д.

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

                        SPLIT    5,MET1,NUM

создает пять копий исходного транзакта и направляет  их  в  блок  с

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

именем NUM.  Если, например, перед входом в блок значение этого па-

раметра  у транзакта-родителя было равно 0,  то при выходе из блока

оно станет равным 1, а у транзактов-потомков значения параметра NUM

будут равны 2, 3, 4, 5 и 6.

 

           2.2. Блоки, связанные с аппаратными объектами

 

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

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

на  основная  особенность СМО:  конкуренция заявок на использование

некоторых ограниченных ресурсов системы.  Все транзакты, входящие в

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

"обслуживания" в блоке ADVANCE,  который  никогда  не  "отказывает"

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

     Для моделирования  ограниченных  ресурсов  СМО в модели должны

присутствовать аппаратные объекты: одноканальные или многоканальные

устройства.  1Одноканальные устройства  0создаются в текущей модели при

использовании блоков SEIZE (занять) и RELEASE (освободить), имеющих

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

 

 

                              - 20 -

.

        Ш1

                         1имя  0   SEIZE      A

        Ш1.5

                         1имя 0    1  0RELEASE    A

     В поле A указывается номер или имя устройства.  Если  транзакт

входит в блок SEIZE,  то устройство, указанное в поле A, становится

занятым и остаётся в этом состоянии до тех пор,  пока этот же тран-

закт  не  пройдёт  соответствующий  блок  RELEASE,  освобождая уст-

ройство. Если устройство, указанное в поле A блока SEIZE, уже заня-

то каким-либо транзактом, то никакой другой транзакт не может войти

в этот блок и остаётся в предыдущем блоке.  Транзакты,  задержанные

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

бытий и при освобождении устройства обрабатываются с учетом приори-

тетов и очередности поступления.

     Каждое устройство имеет следующие  СЧА:  F  -  состояние  уст-

ройства (0 - свободно,1 - занято); FR - коэффициент использования в

долях 1000; FC - число занятий устройства; FT - целая часть средне-

го времени занятия устройства.

     Воспользуемся блоками SEIZE и RELEASE для моделирования  одно-

канальной СМО с ожиданием (рис.  7).  Теперь блок ADVANCE находится

между блоками SEIZE и RELEASE, моделирующими занятие и освобождение

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

один транзакт. Транзакты, выходящие из блока GENERATE в моменты за-

нятости устройства, не смогут войти в блок SEIZE и будут оставаться

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

 

        Ш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

                SEIZE       SYSTEM

                ADVANCE     80,FN$EXP

                RELEASE     SYSTEM

                TERMINATE   1

        Ш1.5

 

                              Рис. 7

 

     Для моделирования   1захвата  (прерывания)   0одноканального  уст-

ройства вместо  блоков  SEIZE и RELEASE используются соответственно

блоки PREEMPT (захватить) и RETURN (вернуть).  Блок  PREEMPT  имеет

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

                    1имя  0   PREEMPT      A,B,C,D,E

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

захвату.  В поле B кодируется условие захвата. Если это поле пусто,

 

                              - 21 -

 

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

захватчиком.  Если же в поле B записан операнд PR, то захват возни-

кает,  если  приоритет  транзакта-захватчика  выше,  чем  приоритет

обслуживаемого транзакта.

     Поля C,  D  и E определяют поведение транзактов,  обслуживание

которых было прервано.  Поле C указывает имя блока, в который будет

направлен прерванный транзакт. В поле D может быть указан номер или

имя параметра прерванного транзакта,  в который записывается время,

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

ройстве.  При отсутствии операнда в поле E прерванный транзакт сох-

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

окончании захвата.  Если же в поле E указан операнд RE, то транзакт

теряет такое право.

     Блок RETURN имеет единственный операнд A,  содержащий имя  или

номер устройства, подлежащего освобождению от захвата.

     Блоки PREEMPT и RETURN могут быть использованы для моделирова-

ния СМО с абсолютными приоритетами. В простейших случаях, при одном

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

A.  При  этом прерванный транзакт переводится симулятором из списка

будущих событий в так называемый  1список прерываний  0устройства, а по

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

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

должения обслуживания.

     Для создания в модели  1многоканальных устройств (МКУ)  0они долж-

ны  быть предварительно определены с помощью операторов определения

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

                         1имя  0   STORAGE    A

Здесь  1имя -  0имя МКУ,  используемое для ссылок на него;  A - емкость

(количество каналов обслуживания) МКУ, задаваемая константой.

     Для занятия и освобождения каналов обслуживания МКУ  использу-

ется пара блоков ENTER (войти) и LEAVE (покинуть),  имеющих следую-

щий формат:

        Ш1

                         1имя  0   ENTER    A,B

        Ш1.5

                         1имя 0    LEAVE    A,B

     В поле A указывается номер или имя МКУ, в поле B  1-  0число кана-

лов МКУ,  занимаемых при входе в блок ENTER или  освобождаемых  при

входе в блок LEAVE. Обычно поле B пусто, и в этом случае по умолча-

нию занимается или освобождается один канал.

     При входе транзакта в блок ENTER текущее содержимое МКУ увели-

чивается на число единиц,  указанное в поле B 1.   0Если свободная  ем-

кость МКУ меньше значения поля B, то транзакт не может войти в блок

 

                              - 22 -

 

ENTER и остается в предыдущем блоке, образуя очередь в списке теку-

щих событий.

     При входе транзакта в блок LEAVE текущее содержимое МКУ умень-

шается на число единиц, указанное в поле B. Не обязательно освобож-