Записать и запустить на выполнение программу для решения примера 2.



Изучение блоков SPLIT, ASSEMBLE, TRANSFER.

Блок SPLIT создает заданное количество копий от входящего в него транзакта. При этом входящий транзакт называют часто транзактом родителем, а копию — транзактом потомком.

Блок ASSEMBLE объединяет определенное количество транзактов, после чего из него выходит один транзакт. а все остальные уничтожаются. В то же время этот блок выполняет скорее собирательную функцию, которая, бывает, необходима при моделировании процесса сбора деталей, сообщений, отдельных частей информации для полного представления объекта моделирования.

Блок TRANSFER относится к блокам, которые изменяют маршруты транзактов. Он является основным средством моделирующего алгоритма, позволяющим направить сообщение к любому блоку модели. Блок TRANSFER имеет несколько режимов работы. Сначала рассмотрим режим безусловного перехода.

Пример 2. В систему поступают пакеты требований по равномерному закону в интервале 5±2 мин. Обработка на первую сортировку поступивших требований производится также по равномерному закону в интервале 6±2 мин. Далее рассортированные требования проходят параллельную обработку с еще одним этапом сортировки. После обработки происходит сборка требований в один пакет, и выводятся из системы. Смоделировать работу системы по обработке 100 пакетов.

Решение примера 2 приводится как программа 2.

 

 GENERATE 5,3,,100 SPLIT 1,CHAN1 SEIZE 1 ADVANCE 6,2 RELEASE 1 TRANSFER ,OUT3 CHAN1 SPLIT 1,CHAN2 SEIZE 2 ADVANCE 6,2 RELEASE 2 TRANSFER ,OUT3 CHAN2 SEIZE 3 ADVANCE 6,2 RELEASE 3 OUT3 ASSEMBLE 3 TERMINATE 1 START 100
Программа 2.

 

В приведенной программе блок TRANSFER используется в режиме безусловного перехода по метке к заданному блоку ASSEMBLE, который производит сборку трех компонент пакета требований и выводит один пакет. Таким образом осуществляется обработка и формирование 100 пакетов. Первый блок программы SPLIT создает одну копию и отправляет по метке chan1 на другой блок SPLIT, который также создает одну копию и отправляет на сборку в блок ASSEMBLE. Такое копирование транзактов моделирует сортировку информации каждого пакета. Входящий пакет рассортировывается на три части, которые проходят обработку в 3-х устройствах с одной и той же временной задержкой и потом вновь из них формируется один пакет. Формально в блоке ASSEMBLE собираются 300 частей, из которых собирается 100 пакетов.

Рассматриваемые блоки в программе имеют следующие форматы записи:

— блоки SPLIT:

SPLIT 1, CHAN1

CHAN1 SPLIT 1,CHAN2

— блоки TRANSFER:

TRANSFER ,OUT3

TRANSFER ,OUT3

— блок ASSEMBLE:

OUT3 ASSEMBLE 3

Блок SPLIT копирует один транзакт, отправляет его по метке CHAN1 на второй блок SPLIT. При этом через первый блок SPLIT проходит транзакт-родитель на следующий по номеру блок (SEIZE 1). Второй блок SPLIT также копирует один транзакт, отправляет его по метке на 3-е устройство (120 chan2 seize 3), и пропускает транзакт на второе устройство. В блоке ASSEMBLE собираются транзакты после блоков TRANSFER (60 transfer ,out3 и 110 transfer ,out3) и блока RELEASE (140 release 3). За полный цикл моделирования в блоке ASSEMBLE собираются 300 транзактов и выходят из него 100 транзактов. Формально блок ASSEMBLE уничтожает 200 транзактов. Блоки TRANSFER используются в режиме безусловного перехода: поле <A> пусто, в поле <B> задается имя блока, к которому отправляются транзакты.

Задание к примеру 2: изменить в программе количество копий, создаваемых блоком SPLIT, в соответствии со следующим рядом чисел: 2, 3, 4, 5.

Записать и запустить на выполнение программу для решения примера 3.

Изучение блока TRANSFER в режиме статистического выбора. Повторный прогон программ с помощью оператора CLEAR.

Пример 3. В систему поступают требования по равномерному закону через 5±2 мин. Обработка требований осуществляется двумя приборами. Поступление требований на тот или иной прибор происходит с вероятностью 0.3 для одного прибора и 0.7 для другого прибора. Обслуживание требований каждым прибором происходит по равномерному закону со временем 7±2 мин. Произвести обработку 100 требований при одном и двух прогонах программы.

Решение примера 3 приводится как программа 3.

 

 GENERATE 5,2,,100 TRANSFER .7,CHAN1,CHAN2 CHAN1 SEIZE 1 ADVANCE 7,2 RELEASE 1 TRANSFER ,EXIT CHAN2 SEIZE 2 ADVANCE 7,2 RELEASE 2 EXIT TERMINATE 1 START 100 CLEAR START 100
Программа 3.

Формат записи блока TRANSFER в режиме статистического выбора для данной программы следующий:

TRANSFER .7,CHAN1,CHAN2

В поле <A> записано число 0.7. Это означает, что из общего числа транзактов, входящих в блок TRANSFER, в среднем 0.7 будут пытаться войти в блок chan2. Остальные 0.3 от 100 будут пытаться войти в блок chan1. Числа 0.3 и 0.7 интерпретируются как вероятности. Передача транзактов в блоки происходит по меткам, которые записываются в поля <B> и <C>, соответственно.

Блок TRANSFER осуществляет безусловную передачу транзактов в блок TERMINATE.

Оператор CLEAR записывается в формате без параметров, т.е. без каких-либо полей с данными. Применение оператора CLEAR в имитационном моделировании позволяет проводить параллельные машинные эксперименты с моделями систем. Проведение параллельных экспериментов становится обязательным, если в системе присутствуют стохастические (вероятностные) процессы, для которых, как правило, требуется вычисление или определение средних операционных характеристик. После выполнения оператора CLEAR следует предусмотреть еще оператор задания счетчика завершений START (START 100). В приводимой программе первый прогон происходит при закомментированных операторах CLEAR и START 100. Для выполнения двух прогонах программы используются два оператора START 100 и один оператор CLEAR между ними.

Задание к примеру 3: задать равновероятное распределение транзактов по устройствам, а также: 0.4 на 1-е устройство, 0.6 на 2-е устройство, 0.8 на 1-е устройство, 0.2 на 2-е устройство. При этом в каждом случае произвести один прогон программы, два прогона, три прогона. Подсчитать средние статистические показатели работы устройств. Объяснить результаты моделирования по файлу стандартного отчета.


Дата добавления: 2018-09-23; просмотров: 276; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!