Numbks function RN1. D4 ; Определение номера НК, в

Котором появилось сообщение

OPROS FUNCTION P1,D4;Функция, задающая

Д/2,3/3,4/4,1; последовательность опроса НК

Опрос каналов

GENERATE 10,„1; Генерация сообщений, опрашивающих каналы

ASSIGN 1,4; В первом параметре фиксируется

; номер последнего опрошенного НК

NEXT ASSIGN 1,FN$OPROS; Номер опрашиваемого НК

SEIZE VK; Занятие ВК

ADVANCE 50; Время опроса

TESTNE CH*l,0,MREL; Есть ли сообщения в НК?

UNLINK P1,MESS,1.; Разрешить передачу по ВК

MREL RELEASE VK; Освободить ВК

ADVANCE 10; Время переключения

TRANSFER,NEXT; Продолжить опрос НК

*Передача сообщений по каналам

GENERATE 1500,500; Генерация сообщений ^Ш

ASSIGN 1,FN$NUMBKS; Номер НК, в котором Н

; появилось сообщение

LINK P1,FIFO; Ожидать опроса канала

MESS SEIZE VK; Занять ВК для передачи

ADVANCE 500,60; Передача сообщений

RELEASE MPD; Освободить ВК

TERMINATE 1

START 1000; Передать 1000 сообщений

Пример 4.57

На вход СМО поступает пуассоновский поток заявок со средним временем 55 с, которые последовательно обслуживаются двумя уст­ройствами. Порядок выбора требований из очереди для обслужива­ния первым и вторым устройствами - LIFO. Заявки покидают систе­му не обслужившись, если на момент входа заявки в первую очередь в ней есть больше четырех заявок или время нахождения во второй очереди превышает 40 с. Время обслуживания заявки первым устрой­ством составляет 30 с, вторым - 20 ± 5 с. Необходимо смоделировать прохождение через СМО 100 заявок.

Программа:

EXP FUNCTION RN1,C24

L 00,. 104/.200,.222/.300,.355/.400,.509

.500,.690/.600,.915/. 700,1.200/.750,1.380

L.830/.880,2.120/.900,2.300

.920,2.520/.940,2.810/.950,2.990/.960,3.200

.970,3.500/.980,3.900/.990,4.600/.995,5.300

.998,6.200/.999,7/1,8

20 GENERATE 55,FN$EXP

30 TESTL CH$SP1,4,TER1; В списке SP1 меньше

; четырех транзактов?

; Нет - покинуть систему.

QUEUE OCH1; Да - стать в очередь.

LINK SP1,L1FO,MUS1

MUSI SEIZE USTR1

DEPART OCH1

ADVANCE 30

RELEASE USTR1

UNLINK SP1JV1US1

ASSIGN TOCH2.C1; Запомнить время прихода

120 ASSIGN TOCH2+,40; Добавить 40 с

LINK SP2,LIFO,MUS2

MUS2 SEIZE USTR2

ADVANCE 20,5

RELEASE USTR2

170 UNLINK LE SP2,TER1,ALL,TOCH2,C1; Время < 40 c?

G0 UNLINK SP2,MUS2,1; Идти на обслуживание

L90 TER1 TERMINATE 1 200

START 100

В модели значения индикаторов списков пользователя позволя­ет определить состояние устройств обслуживания. Если в момент входа в блок LINK индикатор списка включен («1»), это означает, что соответствующее устройство занято и транзакт становится в на­чало списка SP1 или SP2 (LIFO), индикатор остается включенным Если индикатор списка выключен («0» - соответствующее устройст­во свободно) - он включается, а транзакт переходит на обслуживание в блок MUS1 или MUS2. В параметре с именем ТОСН транзакта запоминается момент времени, к которому транзакт должен попаст.ч на обслуживание устройством USTR2, в противном случае транзакт будет удален из модели блоком UNLINK (строка 170).


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



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