Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Generate 50, 7. Terminate 1. Первый способ позволяет закончить моделирование, когда через модель пройдет заданное количество транзактов, например 100




GENERATE 50, 7

…………………

TERMINATE 1

START 100

Первый способ позволяет закончить моделирование, когда через модель пройдет заданное количество транзактов, например 100.

2). Завершить моделирование по истечению заданного интервала времени;

Пусть за единицу модельного времени выбрана 1 минута и система моделирования работает на протяжении 8 часов.

a) Вводится в модель таймер-сегмент, состоящий из двух операторов;

GENERATE 480

TERMINATE 1

b) Во всех других операторах TERMINATE в модели использовать значение операнда  по умолчанию ( =0). Это значит, что прекращение моделирования, определяемое счетчиком завершения, не будет зависеть от других операторов TERMINATE.

c) В команде START операнд  должен равняться единице.

Например:

GENERATE 480

TERMINATE 1

START 1

Задержка транзактов

Оператор ADVANCE ( Задержать ) предназначен для задержки транзактов на определенные интервалы модельного времени. Обязательный операнд  задает время задержки транзакта в операторе ADVANCE. Необязательный операнд  является модификатором-функцией или модификатором-интервалом.

Любой транзакт входит в оператор ADVANCE беспрепятственно. В нем транзакт задерживается на период модельного времени, величина которого определяется операндами  и . После этого транзакт направляется к следующему оператору.

Например:

1). Задержка транзакта на 10 единиц модельного времени:

ADVANCE 10

2). Задержка транзакта - случайная величина, равномерно распределенная на интервале [25, 35], которое принимает одно из 11 целых значений:

ADVANCE 30, 5

3). Рассмотрим суммарную задержку в операторах

ADVANCE 10, 10

ADVANCE 10, 10

ADVANCE 10, 10

ADVANCE 10, 10

ADVANCE 10, 10

ADVANCE 10, 10

Задержка в каждом из них имеет равномерное распределение вероятностей на интервале (0, 20). Следовательно, ее среднее значение составляет ; дисперсия . Поэтому сумма шести таких задержек имеет среднее значение  и среднее квадратическое отклонение . По центральной предельной теореме теории вероятностей заключаем, что закон распределения суммарной задержки приблизительно нормальный. Поэтому ни в коем случае нельзя заменять эти пять операторов на один ADVANCE 50, 50, т. к. этот оператор будет определять задержку как равномерно распределенную величину.

Работа с устройствами

Оператор SEIZE ( Занять )— занять устройство . При входе транзакта в оператор SEIZE, выполняется операция занятия устройства, имя которого задается операндом . Занятие устройства транзактом выполняется следующим образом. Когда транзакт направляется из какого-нибудь оператора в оператор SEIZE, симулятор проверяет, свободно ли следующее устройство. Если оно не свободно, транзакт не может войти в этот оператор. Он остается в предыдущем операторе до тех пор, пока устройство не освободится. Если же устройство свободно, то транзакт передвигается в оператор SEIZE, занимает устройство и в тот же момент времени направляется к следующему за SEIZE оператору.

Оператор RELEASE ( Освободить )— освободить устройство . При входе транзакта в оператор RELEASE происходит освобождение устройства, имя которого задается операндом .

При составлении моделей пользователь должен соблюдать правило: освободить устройство может только тот транзакт, который его занимает. Если транзакт попытается освободить устройство, занятое другим транзактом, симулятор прервет выполнение модели и выдаст сообщение об ошибке.

Когда транзакты задерживаются перед оператором SEIZE, они регистрируются симулятором в списке, где упорядочиваются по приоритетам: любой транзакт с более высоким приоритетом ставится впереди транзакта, имеющего более низкий приоритет. Если у двух транзактов одинаковые приоритеты, то они упорядочиваются между собой по времени прихода: впереди ставится транзакт, который раньше обратился к устройству. В момент освобождения устройства его занимает тот из задержанных транзактов, который находится в списке первым. Транзакт может занимать любое число устройств. Освобождать занятые устройства транзакт может в любом порядке. В момент освобождения устройства должен быть решен вопрос о том, какой из задержанных транзактов (перед оператором SEIZE ) имеет право первым занять устройство.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...