TERMINATE
DOUBL ADVANCE 3000
QUEUE LINE
TERMINATE 1
LEAVE MKU
ADVANCE (Exponential (12, 0, 2500))
DEPART LINE
ENT1 ENTER MKU
QUEUE LINE
CTOT GATE SNF MKU, WAIT
GENERATE (Exponential (12, 0, 1000))
TOTAL TABLE M1, 500, 500, 11
Для реализации заданной дисциплины обслуживания очередь моделируется списком пользователя LINE. Перед добавлением транзакта к списку создается его копия, используемая в качестве таймера максимального времени ожидания. Исходный транзакт и копия имеют одинаковое значение параметра NOM. По истечении таймера транзакт-копия делает попытку вывести своего двойника из списка пользователя. Если последний еще не поступил на обслуживание, то он выводится из списка и удаляется из модели с фиксацией отказа в счетчике. Затем транзакт-копия удаляется из модели.
Модель предназначена для оценки средних значений характеристик загрузки и ожидания, распределения времени пребывания в СМО обслуженных заявок, а также количества отказов в обслуживании из-за превышения ограничения на время ожидания.
Приведем пример модели многоканальной СМО с пуассоновским входным потоком, экспоненциальным временем обслуживания и ограниченным временем ожидания.
Заданная дисциплина обслуживания реализуется с помощью списка пользователя LINE. В случае занятости всех каналов СМО транзакт направляется в начало списка пользователя, реализуя тем самым дисциплину обслуживания LIFO.
TERMINATE 1
WAIT LINK LINE, LIFO
TERMINATE 1
ADVANCE (Exponential (3,0,8000))
DEPART LINE
ENT1 ENTER MKU
QUEUE LINE
GENERATE (Exponential (23,0,2100))
Модель предназначена для оценки средних значений характеристик загрузки СМО, абсолютной частоты отказов из-за занятости всех мест в очереди, а также распределения времени ожидания в очереди к СМО.
MKU STORAGE 4 ; количество каналов
TWAIT QTABLE LINE, 1500, 1500, 11 ; таблица распределения ;времени ожидания
;
TEST L CH$LINE, 3, OUT ;проверка св. мест в очереди
GATE SNF MKU, WAIT ;проверка заполненности MKU
PRIORITY PR, BU ; развязка временного узла
LEAVE` MKU
UNLINK LINE, ENT1, 1; выход из очереди и передача ;транзакта на вход MKU
OUT SAVEVALUE CREF+, 1 ; счетчик отказов
MKU STORAGE 3 ; количество каналов
;
ASSIGN NOM, XN1 ;нумерация транзактов
PRIORITY PR,BU ;обработка временного. узла
UNLINK LINE, ENT1, 1;выв. из оч. и передача на вход MKU TABULATE TOTAL
;
WAIT SPLIT 1, DOUBL ;создание копии
LINK LINE, FIFO ;постановка в конец очереди
UNLINK E LINE, OUT, 1, NOM, P$NOM;вывод из очереди
; транзакта с временем ожидания > максимального (3000)
OUT DEPART LINE ; уход необслуженных транзактов
REF SAVEVALUE CREF+, 1