Реализация задержек во времени
В GPSS для моделирования процесса обслуживания транзакта каналами используются специальные элементы: приборы и накопители. Для различия приборов и накопителей, используемых в модели, им присваиваются числовые либо символические имена
В GPSS элементами, которые требуют обслуживания, являются тран-закты. Если транзакт должен занять прибор, то он должен войти в блок SEIZE (ЗАНЯТЬ). Если в какой-то момент времени транзакт должен освободить прибор, то он должен войти в блок RELEASE (ОСВОБОДИТЬ). В поле Ауказывается имя занимаемого или освобождаемого прибора. Если прибор занят, то транзакт не может войти в блок SEIZE и ожидает своей очереди, находясь в предыдущем блоке. При этом может образовываться очередь транзактов, ожидающих обслуживания, и обеспечивается дисциплина "Первый пришел - первый обслужен".
Транзакт занимает прибор для того, чтобы немедленно начать обслу-живание. В течение времени обслуживания транзакт должен прекратить свое продвижение в модели и только по истечении этого времени войти в блок RELEASE.
Для реализации задержки используется блок ADVANCE (ЗАДЕРЖАТЬ). Информация обслуживания задается в полях Аи Впо тем же правилам, что и в блоке GENERATE .
Для моделирования процесса прерывания обслуживания транзактов, занявших прибор (блоки SEIZE- RELEASE), используются блоки PREEMPT (ЗАХВАТИТЬ) и блок RETURN (ВЕРНУТЬ).
Блок FUNAVAIL переводит устройство в состояние недоступности. Недоступность устройства предупреждает занятие или прерывание устройства последующими сообщениями. В поле Азадается имя устройства. Поля B,...,Hпредназначены для задания специальных режимов.
Блок FAVAIL делает устройство доступным. В поле Ауказывается имя устройства.
Для формирования однородных параллельных приборов в GPSS ис-пользуется специальный элемент – накопитель.
Использование накопителя аналогично использованию прибора. Для занятия накопителя используется блок ENTER (ВОЙТИ), для освобождения – блок LEAVE (ВЫЙТИ). В операнде Азадается имя накопителя, в поле В– число занимаемых или освобождаемых единиц емкости. Если операнд Вне задан, то емкость изменяется на единицу. Для каждого накопителя с по-мощью специальной карты задается емкость следующим образом:
SERV STORAGE 10
Если накопитель имеет числовое имя 1, то для определения его емкости необходимо использовать символическое имя:
SERV EQU 1
SERV STORAGE 10
Если накопитель заполнен, то вход транзакту в блок ENTER запрещен, и он будет задержан в предыдущем блоке до момента, пока в накопителе не освободится требуемое число единиц емкости
Кроме блоков ENTER- LEAVE используются блоки SUNAVAIL (сделать накопитель недоступным) и блок SAVAIL (сделать накопитель доступным). В поле Ауказанных блоков задается имя накопителя. В периоды недоступности транзакты не могут войти в накопитель. Однако содержимое накопителя может уменьшаться при вхождении транзактов в блок LEAVE.
Для сбора статистики, описывающей формирование очереди в различных точках модели, используются специальные блоки QUEUE(Встать в очередь) и DEPART (Покинуть очередь). Операнд Аиспользуется для задания имени очереди. В поле Взадается количество занимаемых или освобождаемых единиц очереди. Если поле Вотсутствует, то занимается или освобождается единица очереди.
В GPSS для определения среднего, стандартного отклонения и гистограммы используют специальный блок TABULATE (табулировать).
Таблица определяется с помощью карты TABLE:
Имя таблицы TABLE A,B,C,D
В карте используются операнды А,B,C,D:
A– имя табулируемой переменной (СЧА); B– левое граничное значение; C– ширина всех промежуточных интервалов; D– общее число интервалов, включая левый и правый.
В конце моделирования статистика по функционированию приборов, накопителей и статистика по очередям автоматически записывается в файл REPORT.GPS.
Дата добавления: 2016-02-13; просмотров: 697;