КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
TERMINATE 7 страница. 2) Блоки, связанные с аппаратными объектами.2) Блоки, связанные с аппаратными объектами. Все примеры моделей, рассматривавшиеся выше, пока еще не являются моделями систем массового обслуживания, так как в них не учтена основная особенность СМО: конкуренция заявок на использование некоторых ограниченных ресурсов системы (например, времени работы устройства). Все транзакты, входящие в эти модели через блок GENERATE, немедленно получают возможность «обслуживания» в блоке ADVANCE, который никогда не «отказывает» транзактам во входе, сколько бы транзактов в нем не находилось. Для моделирования ограниченных ресурсов СМО в модели должны присутствовать аппаратные объекты: одноканальные или многоканальные устройства. Одноканальные устройства создаются в текущей модели при использовании блоков SEIZE (занять) и RELEASE (освободить), имеющих следующий формат: имя SEIZE A имя RELEASE А В поле А указывается номер или имя устройства. Если транзакт входит в блок SEIZE, то устройство, указанное в поле А, становится занятым и остаётся в этом состоянии до тех пор, пока этот же транзакт не пройдёт соответствующий блок RELEASE, освобождая устройство. Если устройство, указанное в поле А блока SEIZE, уже занято каким-либо транзактом, то никакой другой транзакт не может войти в этот блок и остаётся в предыдущем блоке. Транзакты, задержанные (заблокированные) перед блоком SEIZE, остаются в списке текущих событий и при освобождении устройства обрабатываются с учетом приоритетов и очередности поступления. Воспользуемся блоками SEIZE и RELEASE для моделирования одноканальной СМО (рис 3.6): GENERATE 100.20 SEIZE SYSTEM ADVANCE 80.10 RELEASE SYSTEM TERMINATE 1
Рис.3.6 3) Операторы для сбора статистических данных Для регистрации статистической информации о процессе ожидания транзактов в модели должны присутствовать статистические объекты: очереди или таблицы. Объекты типа очередь создаются в модели путем использования операторов — регистраторов очередей: QUEUE (стать в очередь) и DEPART (уйти из очереди), имеющих следующий формат: имя QUEUEА, В имя DEPART А,В В поле А указывается номер или имя очереди, а в поле В — число единиц, на которое текущая длина очереди увеличивается при входе транзакта в блок QUEUE или уменьшается при входе транзакта в блок DEPART. Обычно поле В пусто, и в этом случае его значение по умолчанию принимается равным 1. Для сбора статистики о транзактах, заблокированных перед каким-либо оператором модели, операторы QUEUE и DEPART помещаются перед и после этого блока соответственно. 4)Блоки, изменяющие маршруты транзактов. В приведенных выше примерах транзакты, выходящие из любого блока, всегда поступали в следующий блок. В более сложных моделях возникает необходимость направления транзактов к другим блокам в зависимости от некоторых условий. Эту возможность обеспечивают операторы изменения маршрутов продвижения транзактов. Оператор TRANSFER (передать) служит для передачи входящих в него транзактов в операторы, отличные от следующего. Оператор имеет девять режимов работы, из которых рассмотрим здесь лишь два наиболее часто используемых. В этих трех режимах оператор имеет следующий формат: имя TRANSFER А,В,С Смысл операндов в полях А, В и С зависит от режима работы оператора. В режиме безусловной передачи поля А и С пусты, а в поле В указывается имя блока, к которому безусловным образом направляется транзакт, вошедший в блок TRANSFER. Например: TRANSFER ,FIN В режиме статистической передачи операнд А определяет вероятность, с которой транзакт направляется в оператор, указанный в поле С. С вероятностью (1-А) транзакт направляется в оператор, указанный в поле В (или в следующий, если поле В пусто). Вероятность в поле А может быть задана непосредственно десятичной дробью, начинающейся с точки. Например, оператор TRANSFER .75,THIS,THAT с вероятностью 0,75 направляет транзакты в блок с именем THAT, a с вероятностью 0,25 — в блок с именем THIS. С помощью перечисленных операторов возможно моделирование многих несложных производственных и экономических систем. 3.2.4 Примеры простых моделей в GPSSW. В данном разделе рассматриваются простые системы с одноканальными устройствами, для моделирования которых используются операторы, рассмотренные в предыдущем разделе. Пример 3.2Контролер проверяет качество изготовленных деталей. Время между поступлением деталей распределено равномерно со средним значением 10 минут и среднеквадратичным отклонением 10±5 минут. Время, затрачиваемое на контроль одной детали, также распределено равномерно и составляет 8±7 минут. Промоделировать средствами GPSSW работу участка контроля. Определить среднее время, затрачиваемое на контроль 100 деталей, загрузку контролера, характеристики очереди деталей. При составлении программы − модели за транзакты приняты детали, а обрабатывающим устройством является контролер. Исходный текст программы модели представлен на рис. 3.6:
Рис. 3.6 Программа запускается управляющим оператором START 100. После прогона модели выдается стандартный отчет (см. Таблица 3.2): Содержимое стандартного отчета к примеру 3.2 Таблица 3.2 В нижней части отчета приводится статистика работы блоков модели (контролера и очереди), накопленная по результатам прогона. По данным отчета можно сделать следующие выводы: · об обрабатывающем устройстве: на контроль всех 100 деталей будет затрачено в среднем 1014 минут, коэффициент загрузки контролера составит 0,808, на контроль одной детали затрачивается в среднем 8,199 минуты. · статистика очереди: общее количество деталей, подвергнутых контролю, составило 100 штук, 46 из них поступили на контроль с нулевым временем простоя в очереди (т.е. контролер был не занят в момент их поступления). Максимальная длина очереди составила 5 деталей, средняя длина очереди 0,496 детали, а среднее время простоя в очереди одной детали составило 5,027 минуты. Особенность этой модели состоит в том, что в ней время моделирования определяется количеством транзактов, а время моделирования заранее неизвестно. Действительно, при запуске программы оператором START 100 (надо обработать 100 транзактов) в счетчик завершений засылается число 100. Каждый транзакт, проходящий через оператор TERMINATE, вычитает из счетчика завершений 1, т.к. параметр А этого блока равен 1. Таким образом, моделирование завершится, когда 100-ый по счету транзакт войдет в оператор TERMINATE. При этом точное значение таймера в момент завершения прогона непредсказуемо. Следовательно, в приведенном примере продолжительность прогона устанавливается по количеству транзактов, прошедших через модель. Пример 3.3Изменена цель предыдущей задачи: необходимо исследовать работу участка контроля за одну смену. т.е. задано время моделирования. Поскольку все временные интервалы должны быть представлены одинаковыми единицами измерения, время моделирования представим в минутах (длительность смены 8 часов): 60*8=480 минут. В этом случае программа примет следующий вид (рис.3.7):
|