Задержка транзактов в блоках
В момент освобождения устройства должен быть решен вопрос о том, какой из задержанных транзактов (перед блоком SEIZE) имеет право первым занять устройство. Этот вопрос решается следующим образом: когда транзакты задерживаются перед блоком SEIZE, они регистрируются симулятором в списке, где упорядочиваются по приоритетам: любой транзакт с более высоким приоритетом ставится впереди транзакта… Читать ещё >
Задержка транзактов в блоках (реферат, курсовая, диплом, контрольная)
Блок ADVANCE предназначен для задержки транзактов на определенные интервалы модельного времени.
Обязательный операнд A задает время задержки транзакта в блоке ADVANCE. Необязательный операнд B является модификатором-функцией или модификатором-интервалом. Значение операнда B используется здесь для модификации значения операнда A также, как и в блоке GENERATE.
Любой транзакт входит в блок ADVANCE беспрепятственно. В нем транзакт задерживается на период модельного времени, величина которого определяется операндами A и B. После этого транзакт направляется к следующему блоку.
Например, в блоке.
ADVANCE 10.
транзакт будет задержан на 10 единиц модельного времени. В блоке.
ADVANCE 10, Р1.
транзакт будет задерживаться на случайное время, выбранное из диапазона 10значение первого параметра транзакта (следует помнить, что значение первого параметра при этом не должно превышать 10, т.к. время не может быть отрицательным).
Рассмотрим суммарную задержку в блоках ADVANCE 10,10.
ADVANCE 10,10 ADVANCE 10,10 ADVANCE 10,10.
ADVANCE 10,10 ADVANCE 10,10.
Задержка в каждом из них имеет равномерное распределение вероятностей на интервале (0,20). Следовательно, ее среднее значение составляет M? 20?(1 2) ?10; дисперсия D? 20?(1 2). Поэтому сумма шести таких задержек имеет среднее значение 6? M? 60 и среднее квадратическое отклонение6? D ?14. По центральной предельной теореме теории вероятностей заключаем, что закон распределения суммарной задержки приблизительно нормальный. Поэтому ни в коем случае нельзя заменять эти пять блоков на один.
ADVANCE 50,50 ,.
т.к. этот блок будет определять задержку как равномерно распределенную величину.
Работа с устройствами Блок SEIZE — занять устройство. При входе транзакта в блок SEIZE выполняется операция занятия устройства, имя которого задается операндом A блока SEIZE. Занятие устройства транзактом выполняется следующим образом. Когда транзакт направляется из какого-нибудь блока в блок SEIZE, симулятор проверяет, свободно ли со-ответствующее устройство. Если оно не свободно, транзакт не может войти в этот блок. Он остается в предыдущем блоке до тех пор, пока устройство не освободится. Если же устройство свободно, то транзакт передвигается в блок SEIZE, занимает устройство и в тот же момент времени направляется к следующему за SEIZE блоку.
Блок RELEASE — освободить устройство. При входе транзакта в блок RELEASE происходит освобождение устройства, имя которого задается операндом A.
При составлении моделей пользователь должен соблюдать правило: освободить устройство может только тот транзакт, который его занимает. Если транзакт попытается освободить устройство, занятое другим транзактом, симулятор прервет выполнение модели и выдаст сообщение об ошибке.
В момент освобождения устройства должен быть решен вопрос о том, какой из задержанных транзактов (перед блоком SEIZE) имеет право первым занять устройство. Этот вопрос решается следующим образом: когда транзакты задерживаются перед блоком SEIZE, они регистрируются симулятором в списке, где упорядочиваются по приоритетам: любой транзакт с более высоким приоритетом ставится впереди транзакта, имеющего более низкий приоритет. Если у двух транзактов одинаковые приоритеты, то они упорядочиваются между собой по времени прихода: впереди ставится транзакт, который раньше обратился к устройству. В момент освобождения устройства его занимает тот из задержанных транзактов, который находится в списке первым. Транзакт может занимать любое число устройств. Освобождать занятые устройства транзакт может в любом порядке.
Пример 2.1.
Посетители приходят в кассу кинотеатра через 2010 с, знакомятся в течение 1515 с обстановкой и занимают очередь. Каждый посетитель приобретает у кассира билеты в течение 20 5 с в зависимости от числа билетов. Построить модель работы кассы кинотеатра в течение четырех часов.
GENERATE 20,10 ;приход посетителей ADVANCE15,15;знакомство с обстановкой SEIZE KASS ;обращение к кассиру ADVANCE20,5;покупка билета RELEASEKASS ;освобождение кассира TERMINATE ;уход посетителя.
GENERATE 1440;таймер TERMINATE 1.
START1.
В результате выполнения модели на печать автоматически выводится информация о наличии транзактов в каждом блоке на момент завершения моделирования, а также информация обо всех устройствах, к которым производилось обращение в модели. Формат выводимых данных приведен в приложении 1.