Бакалавр
Дипломные и курсовые на заказ

Создание и уничтожение транзактов

РефератПомощь в написанииУзнать стоимостьмоей работы

Необходимо помнить, что смысл единицы времени в языке GPSS (секунда, минута, час, день и т. д.) закладывает пользователь, поэтому при написании программы необходимо все операнды, связанные со временем, привести к единому масштабу. При использовании модификатора-функции интервал времени между транзактами определяется произведением содержимого полей A и B. Функция определяется специальными блоками… Читать ещё >

Создание и уничтожение транзактов (реферат, курсовая, диплом, контрольная)

Генерирование транзактов — GENERATE. Этот блок генерирует поток сообщений — транзактов, поступающих в систему. Программа составляется с учетом того, что в этот блок не могут входить транзакты. В простых программах это обычно первый блок, временные интервалы между поступающими в систему транзактами определяются содержимым поля операндов. Подполя:

A — среднее время между поступлениями транзактов в систему (по умолчанию равно 1);

B — модификатор времени;

C — начальная задержка (время появления первого транзакта); D— общее число транзактов, которое должно быть сгенерировано этим блоком (по умолчанию — неограниченное число транзак-тов);

E — приоритет транзакта, может принимать значения от 0 до 127. Приоритет возрастает в соответствии с номером (по умолчанию равен 0).

В поле B может быть модификатор двух типов: модификатор-интервал и модификатор-функция. Если задан модификатор-интервал (просто число), то для каждого временного интервала поступления транзактов длительность определяется как значение случайной вели-чины, равномерно распределенной на интервале [A? B, A? B].

Значение параметров A и B могут задаваться как константами, так и любым СЧА, за исключением СЧА параметра транзакта (эта ве-личина в момент генерации транзакта еще не определена).

Например, блок GENERATE 10,5 будет генерировать транзакты через интервалы времени, длительность каждого из которых выбирается случайно в пределах от 5 до 15. Каждое из этих значений будет выбираться с одинаковой вероятностью. Таким образом, блок генерирует случайный поток транзактов, в котором время между транзактами равномерно распределено в диапазоне A? Bи имеет среднее значение A.

При использовании модификатора-функции интервал времени между транзактами определяется произведением содержимого полей A и B. Функция определяется специальными блоками языка, которые будут рассмотрены чуть позже.

В программе может быть несколько блоков GENERATE. Все эти блоки работают параллельно и начинают генерировать транзакты одновременно с момента начала моделирования.

Необходимо помнить, что смысл единицы времени в языке GPSS (секунда, минута, час, день и т. д.) закладывает пользователь, поэтому при написании программы необходимо все операнды, связанные со временем, привести к единому масштабу.

Примечания:

  • — время не может быть отрицательной величиной;
  • — в обязательном порядке должно быть задано либо поле А, либо поле D.

Блок уничтожения транзактов — TERMINATE. Обычно для простых программ это последний блок программы. Транзакты, попадающие в этот блок, уничтожаются и больше не участвуют в процессе моделирования. Никаких других действий этот блок не выполняет, если единственный возможный операнд A в блоке не задан. Если же операнд A задан, то его значение вычитается из содержимого блока транзактов. Операнд A может принимать только положительное целочисленное значение.

Первоначальная величина счетчика устанавливается специальным управляющим блоком START и пишется в поле A этого блока. Когда в результате входа очередного транзакта в блок TERMINATE значение счетчика становится нулевым или отрицательным, симулятор прекращает моделирование и передает управление программе вывода, которая распечатывает накопленные симулятором данные о модели.

Например: TERMINATE 1 START 100 через программу модели пропускается 100 транзактов.

В программе должен быть хотя бы один блок TERMINATE с заданным операндом A.

Если в программе несколько блоков TERMINATE, то обычно операнд A задается только в одном блоке; чаще всего — в блоке, относящемся к имитатору интервала времени моделирования (таймеру).

GENERATE 480 TERMINATE 1 START 1.

Таймер взаимодействует только с блоком START и никак не связан с содержательной стороной остальных фрагментов модели. Таймер служит для задания времени моделирования.

Показать весь текст
Заполнить форму текущей работой