Пример 4.59 ; совпадает со входной; линией абонента

Рассмотрим работу телефонной сети, имеющей 50 абонентских линий связи, причем одновременно может быть задействовано не бо­лее 10 связей между абонентами. Каждый абонент может соединиться с остальными, если свободны его входная линия связи и входная ли­ния вызываемого абонента. Из 50 линий для организации связи могут использоваться любые две свободных линии. Необходимо промоде­лировать работу телефонной сети для 1000 вызовов. Интервалы меж­ду вызовами и длительность разговора распределены по экспоненци­альному закону. Предусматривается, что первые 15 вызовов образуют переходной процесс в сети и эти данные не нужно учитывать при мо­делировании. Модель этой системы разработал Джеффри Гордон для GPSS/H.

Приведенный текст программы модифицирован для GPSS World.

Программа:

*Origin: System simulation

*Author: Geoffrey Gordon

*Description: Simulation of a telephone system

*

* SIMULATION OF A TELEPHONE SYSTEM - MODEL 2 (president line)

POISS FUNCTION RN1.C24; Функция интервалов

; между вызовами

0.0,0.0/0.1,0.104/0.2,0.222/0.3,0.355/0.4,0.509/0.5,0.69 0.6,0.915/0.7,1.2/0.75,1.38/0.8,1.6/0.84,1.83/0.88,7.12 0.9,2.3/0.92,2.52/0.94,2.81/0.95,2.99/0.96,3.2/0.97,3.5 0.98,3.9/0.99,4.6/0.995,5.3/0.998,6.2/0.999,7/0.9997,8

2 GENERATE 12,FN$POISS; Генерация вызова

3 TESTG V$FREELN,2,ABND; Система заполнена?

4 ASN1 ASSIGN 1,V$L1NE; Нет, указать номер

; входной линии абонента,; вызывающего другого; для разговора

5 GATE LR *1,ASN1; Проверка занятости

;линии

6 ASN2 ASSIGN 2,V$LINE; Выбор адресата связи

TESTNE P1,P2,ASN2; Повторить, если адресат

; совпадает со входной; линией абонента

8 LOGIC S *1; Установить выходную

; линию абонента занятой

TRANSFER BOTH,,BLKD; Дождаться связи

Ю GETL ENTER LNKS; Установить связь

И GATE LR *2,BUSY; Проверка занятости

12 LOGIC S *2; Установить адресата

; занятым

13 ADVANCE 120,FN$POISS; Разговор

14 LOGIC R *1; Установить входную

; линию абонента;свободной

15 LOGIC R *2; Установить адресата

; свободным

LEAVE LNKS; Освободить связь

17 СКСН TESTG CH$WAIT,O,MTRM; Есть ли ожидающие

; вызовы?

GATE LR 1,GETF; Проверить, свободна ли

; выходная линия?

UNLINK WAIT,GETL,1,2,1,GETF; Установить связь с первым ожидающим вызовом

MTRM TERMINATE 1

GETF UNLINK WAIT,GETL,1; Подключить первый

; ожидающий вызов

TRANSFER,MTRM

ABND TERMINATE; Отказаться от вызова

BLKD LINK WAIT,P1; Ожидать в порядке

; поступления вызовов

25 BUSY LOGIC R *1; Освободить линию

LEAVE LNKS; Освободить связь

TRANSFER,CKCH

LNKS STORAGE 10; Количество

; одновременных связей; между абонентами

29 LINE VARIABLE X$NRLINES#RNl/1000+l < Выбор линии

30 FREELN VARIABLE X$NRLINES-2#S$LNKS-CH$WAIT > Номер свободной линии

Операторы управления GPSS World

31 INITIAL X$NRLINES,50; Количество линий

; для связи

START 15,NP; 15 проходов

RESET; Сброс статистики


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: