Имитационное моделирование фрагмента центра коммутации и анализ его параметров, страница 5

server –процедура модулирующая работу прибора обслуживания заявок,

Srtuctuir_bufer –процедура упорядочивания очереди,

Ent_bufer подпрограмма предназначена для занятия сервера заявкой стоящей первой в очереди ,

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

Алгоритм подпрограммы генерации вызовов generate

 


да           1                                  нет

2

да          3                       нет        

4                                              5

Да      6                                         нет               7

 


8

Да                                                    нет

9                                                                            10

Описание алгоритма подпрограммы генерации вызовов generate

Подпрограмма generateвызывается каждый виток цикла основной программы проверяет в каждый такт  сравнивая в первом блоке кратно ли значение счетчика заданному интервалу между заявками .  Если условие в первом блоке не выполняется выполнение подпрограммы завершается в противном случае во втором блоке увеличивается счетчик вызовов. Затем в третьем блоке  проверяется  равенство текущего  значения соединительной линии предельному значению . При выполнении равенства поступившая заявка занимает первую соединительную линию в противном случае текущее значение переменной sl увеличивается на единицу. После в шестом блоке проверяется свободна ли данная линия . В том случае если линия не свободна увеличивается счетчик количества отказов первого типа. При выполнении условия программа проверяет есть ли свободное место в очереди когда свободного места в буфере нет в десятом блоке увеличивается счетчик отказов второго типа. Когда условие в восьмом блоке алгоритма выполняется, реализуется девятый блок. В девятом блоке в ячейку номер sl массива     s_line записывается минус единица код начала обслуживания вызова . Затем в последнюю ячейку массива очереди wait записывается номер соединительной линии по которой поступил вызов. После чего на экран выводится сообщение о номере возникшей заявки и подсчитывается количество заявок обслуживаемых  данной линией.

Алгоритм подпрограммы  structuir_bufer


Var

Y:integer

 
                                                              1

 


2

 


да        3                                          нет

 


Y=y+1

 
                                                          4

 


Wait[y]=wait[y+1]

 
                                                           5

Wait[h]=0

 
 


6

 


Описание подпрограммы  structuir_bufer

Подпрограмма structuir_bufer  предназначена для упорядочивания поступивших заявок в буфере после того как первая заявка в очереди покидает буфер . То есть все заявки в очереди продвигаются на одну позицию

Вся подпрограмма выполняется в цикле с параметром, изображенным со второго по четвертый блоках представленного алгоритма, количество витков цикла на единицу меньше емкости буфера. В качестве счетчика цикла служит локальная переменная y  описанная в первом блоке. Оператор присваивания в пятом блоке служит для продвижения заявки в очереди на одну позицию. После выполнения цикла содержимое последней ячейки массива wait присваивается нулевое значение.