Записать и запустить на выполнение программу для решения примера 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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!