Математические и информационные модели защиты информации
Система GPSS World. Блоки динамической категории, копирования, уничтожения, безусловной и условной адресации. Системы с разнородными потоками событий. Статистика очередей, цикличная обработка. Управление потоком сообщений, недоступность устройств.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | лабораторная работа |
Язык | русский |
Дата добавления | 01.06.2015 |
Размер файла | 1,1 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Файл стандартного отчета программы 1. |
|
START_TIME END_TIME BLOCKS FACILITIES STORAGES FREE_MEMORY 0 3499 7 1 0 77824LOC BLOCK_TYPE ENTRY_COUNT CURRENT_COUNT RETRY 1 GENERATE 100 0 0 2 ASSIGN 100 0 0 3 SEIZE 100 0 0 YCL5 ADVANCE 500 0 0 5 LOOP 500 0 0 6 RELEASE 100 0 0 7 TERMINATE 100 0 0 FACILITY ENTRIES UTIL. AVE._TIME AVAILABLE OWNER PEND INTER RETRY DELAY 1 100 0.998 34.94 1 0 0 0 0 0 XACT_GROUP GROUP_SIZE RETRY POSITION 0 0 |
Задача повторного пятикратного обслуживания решается блоком LOOP, который отправляет транзакты на блок ADVANCE. Из файла стандартного отчета видно, что через блоки LOOP и ADVANCE проходит в пять раз больше транзактов, чем через остальные блоки. Среднее время обслуживания в устройстве также в пять раз больше (в позиции AVE_TIME), чем время обслуживания, которое задается в поле <A> блока временной задержки ADVANCE (см. PRIM11.GPS).
Задание к примеру 1: Снять ограничение на поступление требований в систему. Изменить номер параметра транзактов, по которому осуществляется циклическая обработка: присвоить параметру числа 2, 153, 678, 999. В заданные номера параметра занести числа 3, 7, 9, 11, вычисленные как корень квадратный из соответствующего числа. Вычисления зафиксировать оператором EQU.
Записать и запустить на выполнение программу для решения примера 2.
Изучение блоков PREEMPT, RETURN.
Пример 2. На обработку по равномерному закону поступает два потока заготовок деталей: первый -- со временем 101 мин., второй -- 252 мин. Второй поток прерывает изготовление деталей первого потока. Время обработки деталей первого потока 72 мин., второго -- 112 мин. Смоделировать процесс обработки 100 деталей, образующих два потока.
Решение примера 2 приводится как программа 2.
SIMULATE ***************************************************************** GENERATE 5,2; Формирование 1-го потока деталей SEIZE FACIL1; Устройство под именем FACIL1 ADVANCE 7,2 RELEASE FACIL1 TERMINATE 1; Вывод деталей 1-го потока ***************************************************************** GENERATE 25,2; Формирование 2-го потока деталей PREEMPT FACIL1; Прерывание обработки 1-го потока ADVANCE 11,2; Время обработки 2-го потока=времени прерывания RETURN FACIL1; Снятие прерывания 1-го потока EXIT TERMINATE 1; Вывод деталей 2-го потока ***************************************************************** START 100; Задание числа счетчика завершений=общему количеству *деталей |
|
Программа 2. |
Два блока GENERATE формируют два независимых или разнородных потока транзактов. Блок PREEMPT позволяет получать в пользование устройство, указанное в поле <A> этого блока, т.е. устройства под именем FACIL1. Это соответствует тому состоянию системы, когда происходит прерывание обработки деталей 1 потока в устройстве и начинается обработка деталей 2 потока в том же устройстве. Длительность обработки деталей 2 потока задается блоком ADVANCE. Стандартная статистика системы GPSS/PC определяется только для одного устройства -- под именем FACIL1.
Для блока PREEMPT могут быть задействованы пять полей. Только поле операнда <A> является обязательным. В программе 2 формат записи блока PREEMPT следующий:
PREEMPT <A>
В поле <A> блока PREEMPT задается имя устройства (по метке FACIL1), на котором происходит прерывание 1-го потока транзактов от блока GENERATE. Длительность прерывания задается блоком ADVANCE. В то же время устройство FACIL1 во время прерывания 1-го потока деталей начинает обслуживать детали 2-го потока, который формируется блоком GENERATE. Снятие прерывания осуществляется блоком RETURN.
Формат записи блока RETURN:
RETURN <A>
В поле <A> блока RETURN задается имя устройства (по метке FACIL1), с которого снимается прерывание. Прерывание может быть снято только тем транзактом, которым оно было генерировано (тем транзактом, которым устройство было переведено в состояние прерывания). Приведенный формат блока возврата RETURN является единственным.
Задание к примеру 2: попарно изменить среднее время генерирования транзактов в соответствии с рядом чисел: 7 и 15; 9 и 11; 13 и 9; 21 и 7. Попарно изменить среднее время обработки требований в соответствии с рядом чисел: 5 и 13; 9 и 9; 11 и 7; 15 и 5. Объяснить результаты выполнения программ по файлу стандартного отчета.
Записать и запустить на выполнение программу для решения примера 3.
Рассмотрим некоторые дополнительные возможности блока PREEMPT.
Пример 3. Пусть в условиях примера 2 детали, прерванные на время обработки 2-го потока, выводятся из системы. В этом случае большая часть условий задачи остается неизменной: на обработку по равномерному закону поступает два потока заготовок деталей: первый -- со временем 101 мин., второй -- 252 мин. Второй поток прерывает изготовление деталей первого. Время обработки деталей 1-го потока 72 мин., 2-го -- 112 мин. Смоделировать процесс обработки 100 деталей, разделенных на два потока.
Данный пример решается с дополнительными полями блока PREEMPT, которые позволяют использовать блок PREEMPT в режиме удаления транзактов на повторный захват устройства и отправки их по метке к заданному блоку.
Программа решения примера 3 приводится как программа 3.
GENERATE 5,2; Формирование 1-го потока деталейSEIZE FACIL1; Устройство под именем FACIL1ADVANCE 7,2RELEASE FACIL1TERMINATE 1; Вывод деталей 1-го потока ***************************************************************** GENERATE 25,2; Формирование 2-го потока деталей PREEMPT FACIL1,,exit,,re; Прерывание обработки 1-го потока ADVANCE 11,2; Время обработки 2-го потока=времени прерывания RETURN FACIL1; Снятие прерывания 1-го потока exit TERMINATE 1; Вывод деталей 1-го и 2-го потоков START 100; Задание числа счетчика завершений=общему количеству *деталей |
|
Программа 3. |
Формат записи блока PREEMPT для программы 3:
PREEMPT <A>,[<B>],<C>,[<D>],<E>
В поле <A> задается метка прерываемого устройства -- FACIL1, поле <B> -- пусто, в поле <C> указывается имя блока (EXIT), куда направляются транзакты прерванного потока, поле <D> -- пусто, в поле <E> устанавливается режим удаления -- RE.
Операнд поля <C> задает номер или имя (метку) блока, куда должен попытаться войти прерванный транзакт (транзакт прерываемого 1-го потока). Режим удаления RE поля <E> означает, что прерванный транзакт не будут претендовать на пользование устройства, на котором произошло прерывание. Прерванный транзакт пытается войти в блок, заданный полем <C>. Поскольку в поле <C> задано имя блока уничтожения транзактов TERMINATE, то попытка войти в это блок всегда будет успешной. Происходит моделирование процесса вывода из системы необработанных деталей первого потока. Через блок с меткой EXIT выводятся также и обработанные детали второго потока.
В общем случае поле <B> блока PREEMPT может задать приоритетный режим. При работе в этом режиме транзакт, занимающий устройство или генерирующий на нем прерывание, может быть прерван только транзактом, приоритет которого выше приоритета данного транзакта. Поле <D> задает номер параметра, связанного с прерванным транзактом. Поле <D> задавать следует только в том случае, если приоритет прерывающего транзакта больше приоритета прерываемого транзакта.
Задание к примеру 3. Видоизменить программу 3 так, чтобы в ней прерванные транзакты отправлялись бы в дополнительное устройство с временем обработки 51 мин. При этом вывод из системы транзактов из дополнительного устройства не должны быть связаны со счетчиком завершений. Также попарно изменить среднее время генерирования транзактов в соответствии с рядом чисел: 7 и 15; 9 и 11; 13 и 9; 21 и 7. Объяснить результаты моделирования по файлу стандартного отчета.
Записать и запустить на выполнение программу для решения примера 4.
Статистическая информация об очереди формируется блоками QUEUE и DEPART. В GPSS World блоки QUEUE и DEPART описывают объекты типа "очередь". Статистика об очередях собирается в моменты входа сообщения (транзакта) в блок QUEUE (вход в очередь) или в блок DEPART (выход из очереди). Блоки QUEUE и DEPART являются информационно-статистическими и не влияют на внутренние операции процесса моделирования GPSS World.
Для сохранения и запоминания в модели числовой информации, различных стандартных числовых атрибутов в GPSS World отводятся специальные ячейки основной памяти. Для записи числовой информации в ячейки служит блок SAVEVALUE.
Пример 4. В систему по равномерному закону с интервалом 72 мин. поступают заявки на обслуживание. С вероятностью 0.6 заявки обслуживаются на первом приборе по равномерному закону с интервалом 122 мин. и с вероятностью 0.4 обслуживание происходит на втором приборе также по равномерному закону с интервалом 132 мин. Смоделировать процесс функционирования системы и получить статистические данные об очереди заявок при обслуженном числе их, равном 100.
Здесь входящий поток заявок не ограничен и по времени является более интенсивным, чем обслуживание в каждом из приборов. Естественно следует ожидать возникновение очередей перед каждым из устройств. Задача состоит в том, чтобы произвести обслуживание 100 заявок (двумя приборами) и собрать сведения о задержках начала обслуживания, т.е. статистику об очередях. Для решения этой задачи составлена программа PRIM28.GPS, в которой применены две пары совместных блоков QUEUE и DEPART. В блоке GENERATE поле <D> -- поле задания генерируемых транзактов (заявок) не используется, поэтому ограничение поступающих в систему транзактов определяется только операторм START и временем генерации транзактов блоком GENERATE.
Решение примера 4 приводится как программа 4.
Таблица.
GENERATE 5,2TRANSFER 0.4,CHAN1,CHAN2CHAN1 QUEUE 1SEIZE 1DEPART 1ADVANCE 12,2RELEASE 1TRANSFER ,EXIT CHAN2 QUEUE LEN2 SEIZE 2 DEPART LEN2 ADVANCE 13,2 RELEASE 2 SAVEVALUE NUM,C1 SAVEVALUE NUM1,Q1 SAVEVALUE NUM2,Q$LEN2 SAVEVALUE NUM3,QT1 SAVEVALUE NUM4,QT$LEN2 EXIT TERMINATE 1 START 100 |
|
Программа 4. |
Формат записи блоков QUEUE:
<метка> QUEUE <A>,[<B>]
<метка> QUEUE <A>,[<B>]
В поле <метка> задается имя блока, в поле <A> -- имя или номер очереди. В поле <B> задается число единиц, на которое увеличивается текущая длина очереди. Если поле <B> пусто (как в программе), то прибавляется единица. В поле <метка> блока QUEUE задана метка chan1, для другого блока задана метка chan2. Блок QUEUE регистрирует статистику для очереди под номером 1, которая возникает перед первым устройством (оно начинается с блока SEIZE). Блок QUEUE регистрирует статистику для очереди под именем LEN2, которая возникает перед вторым устройством (оно начинается с блока SEIZE).
Выход транзакта из очереди регистрируется блоком DEPART.
Формат записи блоков DEPART:
DEPART <A>,[<B>]
DEPART <A>,[<B>]
В поле <A> блока DEPART задается номер или имя очереди, длину которой нужно уменьшить. В поле <B> задается число единиц, на которое уменьшается длина очереди. Это число не должно превышать текущую длину очереди (чтобы не получилось отрицательное число). Если поле <B> пусто (как в программе), длина очереди уменьшается на единицу. В программе для блока в поле <A> задана очередь с номером 1, для блока в поле <A> задана очередь под именем LEN2. В подпрограмме блока DEPART автоматически проверяется значение времени пребывания транзакта в очереди. Если транзакт не был задержан в очереди, т.е. имеет нулевое время задержки, число нулевых входов увеличивается на число единиц, указанное в поле <B> блока DEPART. В программе PRIM26.GPS поле <B> пусто. В программе используются пять блоков SAVEVALUE, которые сохраняют СЧА по времени моделирования и очередей.
Формат записи блоков SAVEVALUE:
SAVEVALUE <A>,<B>
SAVEVALUE <A>,<B>
SAVEVALUE <A>,<B>
SAVEVALUE <A>,<B>
SAVEVALUE <A>,<B>
В поле <A> каждого блока SAVEVALUE задается имя ячейки, в которую записывается значение поля <B>. Для примера с помощью блоков SAVEVALUE были сохранены следующие стандартные числовые атрибуты. Для блока SAVEVALUE сохраняемой ячейки num, сохраняемая величина С1 -- условное время моделирования. Для блока SAVEVALUE имя сохраняемой ячейки num1, сохраняемая величина q1 -- длина очереди под номером 1. Для блока SAVEVALUE имя сохраняемой ячейки num2, сохраняемая величина q$len2 -- длина очереди с именем len2. Для блока SAVEVALUE имя сохраняемой ячейки num3, сохраняемая величина qt1 -- среднее время (с точностью до целых) пребывания сообщения в очереди под номером 1 (включая нулевые входы). Для блока SAVEVALUE имя сохраняемой ячейки num4, сохраняемая величина qt$len2 -- среднее время (с точностью до целых) пребывания сообщения в очереди с именем len2 (включая нулевые входы). Очереди имеют также и другие СЧА: QAj -- средняя длина очереди j (автоматически определяется и сохраняется программой, приводится в файле стандартного отчета); QMj -- максимальная длина очереди j (автоматически определяется и сохраняется программой, приводится в файле стандартного отчета); QCj -- общее число входов в очередь j (автоматически определяется и сохраняется программой, приводится в файле стандартного отчета); QZj -- число нулевых входов в очередь j (автоматически определяется и сохраняется программой, приводится в файле стандартного отчета); QXj -- среднее время пребывания транзакта в очереди j без нулевых входов (автоматически определяется и сохраняется программой, приводится в файле стандартного отчета).
Результаты моделирования примера 4 приводятся в таблице как файл стандартного отчета программы 4.
Файл стандартного отчета программы 4. |
|
GPSS World Report file REPORT.GPS. page 1START_TIME END_TIME BLOCKS FACILITIES STORAGES FREE_MEMORY 0 633 19 2 0 80800 LINE LOC BLOCK_TYPE ENTRY_COUNT CURRENT_COUNT RETRY 1 GENERATE 130 0 0 2 TRANSFER 130 0 0 CHAN1 QUEUE 73 20 0 4 SEIZE 53 0 0 5 DEPART 53 0 0 6 ADVANCE 53 1 0 7 RELEASE 52 0 0 8 TRANSFER 52 0 0 CHAN2 QUEUE 57 8 0 10 SEIZE 49 1 0 11 DEPART 48 0 0 12 ADVANCE 48 0 0 13 RELEASE 48 0 0 14 SAVEVALUE 48 0 0 15 SAVEVALUE 48 0 0 16 SAVEVALUE 48 0 0 17 SAVEVALUE 48 0 0 18 SAVEVALUE 48 0 0 EXIT TERMINATE 100 0 0 FACILITY ENTRIES UTIL. AVE._TIME AVAILABLE OWNER PEND INTER RETRY DELAY 1 53 0.992 11.85 1 96 0 0 0 20 2 49 0.973 12.57 1 111 0 0 0 8 QUEUE MAX CONT. ENTRIES ENTRIES(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY 1 21 20 73 1 10.36 89.85 91.10 0 LEN2 9 9 57 3 4.47 49.65 52.41 0 XACT_GROUP GROUP_SIZE RETRY POSITION 0 0 SAVEVALUE VALUE RETRY NUM +633 0 NUM1 +20 0 NUM2 +9 0 NUM3 +89 0 NUM4 +49 0 |
По условию входной поток неограничен и поэтому количество сгенерированных транзактов превышает количество обработанных и выведенных из системы транзактов, которых 100. Перед каждым устройством системы осуществляется сбор статистических данных об очередях с помощью блоков QUEUE, DEPART. Устройства моделируются блоками SEIZE, ADVANCE, RELEASE.
В файле стандартного отчета программы 4 строка QUEUE имеет следующие поля: 1 -- номер первой очереди, LEN2 -- имя второй очереди (очередь может иметь либо произвольный номер, либо произвольное имя), поле MAX определяет максимальное содержимое очереди в течение периода моделирования (для первой очереди 21, для второй с именем LEN2 -- 9), поле CONT. определяет текущее содержимое очереди в конце периода моделирования (для первой очереди 20, для второй с именем LEN2 -- 9), поле ENTRIES определяет общее количество входов в очередь в течение периода моделирования (для первой очереди 73, для второй с именем LEN2 -- 57), поле ENTRIES(0) определяет общее количество входов в очередь с нулевым временем ожидания (для первой очереди 1, для второй с именем LEN2 -- 3), поле AVE.CONT определяет среднее значение содержимого (количество транзактов) очереди (для первой очереди 10.36, для второй с именем LEN2 -- 4.47), поле AVE.TIME определяет среднее время, проведенное в очереди с учетом всех входов в очередь (для первой очереди 89.85, для второй с именем LEN2 -- 49.65), AVE.(-0) определяет среднее время, проведенное в очереди без учета "нулевых" входов в очередь (для первой очереди 91.10, для второй с именем LEN2 -- 52.41), поле RETRY определяет количество транзактов, ожидающих специальных условий, зависящих от состояния очереди (специальных условий в примере нет).
Статистика по транзактам может быть сопоставлена по полям MAX, CONT., ENTRIES и ENTRY_COUNT, CURRENT_COUNT.
Пояснения к полю AVE(-0). Для каждой очереди поле имеет большее время пребывания в очереди, чем для поля AVE.TIME. Это объясняется тем, что каждая очередь имеет какое-то количество нулевых входов, когда транзакты поступают на обслуживание без задержки, если же этих нулевых входов нет, то транзактам бы пришлось находиться в очереди, и значит, увеличивается время пребывания в очереди.
Для статистики блоков SAVEVALUE в файле стандартного отчета отводятся следующие поля. В поле SAVEVALUE указываются имена ячеек (в отчете это NUM, NUM1, NUM2, NUM3, NUM4), в которых сохраняются заданные величины. Сохраняемые величины указываются в поле VALUE (это 633, 20, 9, 89, 49). Поле RETRY определяет количество транзактов, ожидающих наступления специальных условий, зависящих от состояния сохраняемой величины (в примере специальных условий нет).
Задание к примеру 4: задать равновероятное распределение транзактов по устройствам, а также: 0.8 на 1-е устройство, 0.2 на 2-е устройство, 0.3 на 1-е устройство, 0.7 на 2-е устройство При этом в каждом случае произвести один прогон программы, два прогона, три прогона. Изменить среднее время обработки в устройствах: 9 и 7; 15 и 5; 13 и 11; 12 и 12. Подсчитать средние статистические показатели работы устройств и средние статистические показатели очередей. Объяснить результаты моделирования по файлу стандартного отчета. Вычислить с помощью оператора EQU , , , , , , и сохранить результаты с помощью блока SAVEVALUE.
Контрольные вопросы
1. Каким образом работают блоки PREEMPT, RETURN? Некоторые дополнительные возможности блока PREEMPT.
2. Какими блоками формируется статистическая информация об очереди QUEUE и DEPART в системе моделирования GPSS World?
3. Что отводится для сохранения и запоминания в модели числовой информации, различных стандартных числовых атрибутов в GPSS World?
4. Для чего служит блок SAVEVALUE?
Содержание отчета и его форма
1. Форма отчета письменная.
2. Выполнить примеры 1-4 (задания к примерам выполняются по требованию преподавателя).
3. Продемонстрировать данную работу на ПК.
4. Ответить на контрольные вопросы.
Литература
1. Боев В. Моделирование систем. Инструментальные средства GPSS World. - Санкт-Петербург:BHV-Санкт-Петербург, 2004 г. - 368 стр.
2. Вентцель Е.С. Исследование операций.- М.: Сов.радио, 1972.
3. Гнеденко Б.В., Коваленко И.Н. Введение в теорию массового обслуживания. М.: Высш. шк., 1987.
4. Кузин Л.Т. Основы кибернетики: В 2 т.- М.: Энергия, 1979.
5. Разработка САПР. Кн. 9. Имитационное моделирование: Практ. пособие / В.М.Черненький: Под ред. А.В. Петрова. М.: Высш. шк., 1990.
6. Советов Б.Я. Моделирование систем. Практикум: Учебное пособие для вузов/ Б.Я. Советов, С.А. Яковлев. - 2-е изд., перераб. и доп. - М.: Высш. шк., 2003. - 295 с.:ил.
7. Шрайбер Г.Дж. Моделирование на GPSS.- М.: Высш. шк., 1980.
Лабораторная работа № 5. «Системы с накопителями: блоки ENTER, LEAVE, оператор STORAGE. Управление потоком сообщений: блоки GATE, TEST. Операторы VARIABLE, FVARIABLE, INITIAL»
Цель работы: научиться моделировать системы с конечной емкостью накопителей, управлять потоком сообщений на основе заданных соотношений и логических условий, изучить операторы VARIABLE, FVARIABLE, INITIAL.
План выполнения работы:
1) зарегистрируйтесь в системе,
2) выполните практическую часть лабораторной работы,
3) выйдите из системы, сохранив листинги программы и отчета.
1. Теоретическая часть
В системах массового обслуживания часто задается ограниченная длина очереди или накопителя для требований, которые вошли в систему, и ожидают своего обслуживания. Для моделирования систем с ограниченной очередью и параллельной обработкой требований в GPSS/PC используются блоки ENTER, LEAVE и оператор STORAGE. Эти блоки и оператор образуют группу памятей или группу описания накопителей, в которых собираются сообщения перед началом обслуживания в одном из устройств. В системе GPSS/PC памяти или накопители относятся к аппаратной категории, которые имеют визуализацию в виде специальных окон для наблюдения заполнения моделируемых накопителей (в рабочей строке GPSS/PC следует набрать сочетание клавиш Alt+S).
Блок GATE проверяет состояние устройств, памятей, логических ключей. Блок TEST сравнивает два стандартных числовых атрибута по вычисляемому отношению. Оба блока управляют потоком сообщений (транзактов).
2. Практическая часть
Записать и запустить на выполнение программу для решения примера 1.
Пример 1. Входной поток требований поступает в накопитель с допустимой емкостью, равной 5 единицам, равномерно в течение 4±1 мин. Если требования после накопителя застают 1-е устройство заполненным, то они поступают на обработку во 2-е устройство. Время обработки для 1-го устройства равно 13±1 мин., для второго -- 11±1 мин. Смоделировать процесс обработки требований в течение 3 часов (180 мин.).
В данном примере поступающие в систему требования сначала буферизуются в накопителе емкостью в 5 единиц, а потом пытаются попасть на обработку в 1-е устройство. Если первое устройство оказывается заполненным, т.е. в нем осуществляется обслуживание, то очередное требование поступает на обслуживание во второе устройство.
Решение примера 1 приводится как программа 1.
nak STORAGE 5; Накопитель емкостью в 5 единиц GENERATE 4,1 GATE SNF nak,FACIL2; Анализ состояния накопителя ENTER nak QUEUE 1 SEIZE 1; 1-е устройство DEPART 1 LEAVE nak ADVANCE 13,1 RELEASE I TERMINATE FACIL2 SEIZE 2; 2-е устройство с меткой FACIL2 ADVANCE 11,1 RELEASE 2 TERMINATE GENERATE TERMINATE 1 START 1 |
|
Программа 1. |
Задание к примеру 1. Изучить и объяснить файл стандартного отчета для программы 1.
Изменить среднее время поступления транзактов в систему в соответствии с данным рядом чисел: 2, 3, 5, 6, 7, 9, 13, 15, 21 (мин.).
Изменить среднее время обработки первого устройства при среднем времени поступления требований в систему, равном 4 мин.: 7, 9, 11, 15. В то же время среднее время обработки второго устройства оставить неизменным. Изменить также среднее время обработки второго устройства при неизменном времени обработки первого устройства: 7, 9, 11, 15. Изучить и объяснить файл стандартного отчета.
Добавить в программу блоки, регистрирующие статистику очередей перед каждым устройством. Изучить и объяснить файл стандартного отчета.
Изменить для блока GATE логическое условие с SNF на SF. Подобрать средние времена обработки первого и второго устройства так, чтобы выходная статистика по устройствам оставалась неизменной, т.е. как и для условия SNF.
Записать и запустить на выполнение программу для решения примера 2.
Пример использования блока GATE с логическим оператором, связанным с устройствами.
Пример 2. Входной поток требований поступает в систему с двумя обслуживающими устройствами равномерно в течение 51 мин. Если требования застают первое устройство занятым, то они поступают на обработку во второе устройство. Время обработки для первого устройства равно 91 мин., для второго -- 131 мин. Смоделировать процесс обработки требований в течение 3 часов (180 мин.).
Подобная ситуация характерна для систем, когда каждое входящее в систему требование в первую очередь отправляется на более быстродействующее устройство обслуживания. Если же это устройство занято, то приходится использовать устройство менее быстродействующее.
Решение примера 2 приводится как программа 2.
GENERATE 5,1GATE NU 1,FACIL2SEIZE 1; 1-е устройствоADVANCE 9,1RELEASE 1TERMINATE ***************************************************************** ADVANCE 13,1 RELEASE 2 TERMINATE GENERATE 180 TERMINATE 1 START 1 |
|
Программа 2. |
Для этой программы рассмотрим формат записи блока GATE с логическим оператором -- оператором NU, связанным с устройством:
GATE NU 1,FACIL2
В поле <X> задан логический оператор NU, который указывает на то, что устройство, заданное в поле <A> (у нас устройство под номером 1), свободно. Если логическое условие не выполняется, то транзакт отправляется к блоку, имя которого задано в поле <B> (у нас отправление происходит по метке FACIL2).
В противоположность оператору NU может быть использован оператор U -- логический оператор, соответствующий занятому устройству.
Задание к примеру 2. Изучить и объяснить файл стандартного отчета для программы 2.
Ввести в программу блоки, по которым создается статистика по очередям.
Изменить среднее время поступления транзактов в систему в соответствии с данным рядом чисел: 2, 3, 4, 6, 7, 9, 13, 15, 21 (мин.).
Изменить среднее время обработки первого устройства при среднем времени поступления требований в систему, равном 5 мин.: 7, 9, 11, 15. В то же время среднее время обработки второго устройства оставить неизменным. Изменить также среднее время обработки второго устройства при неизменном времени обработки первого устройства: 7, 9, 11, 15. Изучить и объяснить файл стандартного отчета.
Изменить для блока GATE логическое условие с NU на U. Для логического условия U последовательно изменять параметры полей <A>, <B> блока GATE, получить загрузку обоих устройств или только одного из двух. Изучить и объяснить файл стандартного отчета.
Записать и запустить на выполнение программу для решения примера 3.
Примеры по моделированию систем с использованием блока TEST. Применение операторов VARIABLE, INITIAL.
Пример 3. Смоделировать процесс обслуживания равномерного потока требований с интервалом 51 мин. двумя приборами: обслуживание на первом приборе длится 91 мин., на втором -- 131 мин. Причем в течение первых 100 мин. обслуживание производить на первом приборе, а по истечении 100 мин. -- на втором приборе.
Пример 4. Смоделировать процесс обслуживания равномерного потока требований с интервалом 51 мин. двумя приборами: обслуживание на первом приборе длится 91 мин., на втором -- 131 мин. Причем в течение первых 100 мин. обслуживание производить на втором приборе, а по истечении 100 мин. -- на первом приборе.
Условия примеров различаются в последовательности начального обслуживания требований, которое связано с процессом функционирования системы.
Программы решения примеров 3 и 4 представлены как программы 3 и 4.
Табл.
ATR1 VARIABLE SQR(10000) GENERATE 5,1 TEST LE C1,V$ATR1,FACIL2 SEIZE 1; 1-е устройство ADVANCE 9,1 RELEASE 1 TRANSFER ,EXIT FACIL2 SEIZE 2; 2-е устройство с меткой FACIL2 ADVANCE 13,1 RELEASE 2 EXIT TERMINATE 1 ******************************************************** START 100 |
|
Программа 3. |
|
ATR1 VARIABLE SQR(10000) ******************************************************** GENERATE 5,1 TEST GE C1,V$ATR1,FACIL2 SEIZE 1; 1-е устройство ADVANCE 9,1 RELEASE 1 TRANSFER ,EXIT ******************************************************** FACIL2 SEIZE 2; 2-е устройство с меткой FACIL2 ADVANCE 13,1 RELEASE 2 EXIT TERMINATE 1 ******************************************************** START 100 |
|
Программа 4. |
В программах применены новые объекты GPSS World -- переменные типа арифметических. Оператор описания арифметической переменной не входит в основное тело программы, он содержит следующие три поля:
поле метки, содержащее имя переменной (в программах -- ATR1), которое используется при обращении к этой переменной;поле операции, содержит слово VARIABLE;
поле операндов, в котором задается выражение, используемое для вычисления значения переменной (в программах -- SQR(10000), что означает).
Формат описания арифметической переменной для программ 3,4:
ATR1 VARIABLE SQR(10000)
Поле метки отделяется от поля операции (VARIABLE) как минимум одним пробелом, поле операндов (задаваемое выражение) отделяется от поля операции также пробелом. Пробелы между символами недопустимы. Первый пробел записи считается концом выражения. При любом обращении к переменной в любом месте программы должно употребляться выражение V$ATR1. Символ V обозначает тип объекта GPSS World --переменную. Знак $ употребляется для связи объекта как переменной с конкретным обозначением (например, ATR1).
Формат записи блока TEST:
TEST <X> <A>,<B>,<C>
Блок TEST определяет номер следующего блока для вошедшего в него транзакта (сообщения) в зависимости от того, выполняется требуемое условие или нет. Блок управляет потоком транзактов, проверяя выполнение алгебраических отношений между значениями, заданных в полях <A> и <B>. Во вспомогательном поле операции <X> записывается один из шести условных операторов:
LE -- меньше или равно (как в программе 3). Отношение истинное, если значение аргумента поля <A> меньше или равно значению аргумента поля <B>;
GE -- больше или равно (как в программе 4). Отношение истинное, если значение аргумента поля <A> больше или равно значению аргумента поля <B>;
E -- равно. Отношение истинное, если значения обоих аргументов полей <A> и <B> равны;
L -- меньше. Отношение истинное, если значение аргумента поля <A> меньше значения аргумента поля <B>;
NE -- не равно. Отношение истинное, если значения аргументов полей <A> и <B> не равны.
Если отношение аргументов (числовых атрибутов), заданных в полях <A> и <B>, истинно, транзакт переходит к следующему по номеру блоку (который расположен за блоком TEST). Если отношение ложно, транзакт переходит к блоку, номер или имя которого задан полем <C> (в программах по метке блока устройства FACIL2). В поле <C> задается номер или имя блока для входящего транзакта, если отношение величин, заданных в полях <A> и <B>, ложно. В программах 3 и 4 в поле <A> задан стандартный числовой атрибут С1 -- условное относительное время моделирования. В поле <B> задана переменная через имя ATR1 (V$ATR1), которая численно равна 100.
В программе 3 пока значение условного относительного времени не достигнет 100, транзакты от блока TEST будут переходить к следующему по номеру блоку (к блоку SEIZE под номером 30). Как только величина С1 станет больше 100, транзакты будут переходить к блоку, имя которого определено в поле <C>, т.е. к блоку с меткой FACIL2 и с номером 100 -- SEIZE. Пока С1100, транзакты на обслуживание отправляются в 1-е устройство. Как только С1 станет больше 100, транзакты начинают отправляться на обслуживание в 2-е устройство.
В программе 4 транзакты после блока TEST будут направляться к следующему по номеру блоку -- блоку SEIZE под номером 30, когда значение условного относительного времени С1 будет больше числа 100, которое определено через арифметическую переменную под именем ATR1. Если же значение С1 меньше или равно величины 100, то транзакты отправляются по метке к блоку, заданный в поле <C>. Начало отсчета относительного времени моделирования начинается с нуля, поэтому сначала транзакты будут отправляться к блоку, заданному в поле <C>, т.е. к блоку SEIZE под номером 100.
В поле <В> блока TEST может быть задана ячейка сохраняемых величин, которая определяется с помощью оператора INITIAL. Использование оператора INITIAL дано в программе 5, которая решает ту же задачу, что и программа 3.
initial x13,100; В ячейку под номером 13 записывается число 100 ********************************************************* GENERATE 5,1 TEST LE C1,x13,FACIL2; Сравнение С1 и ячейки х13 SEIZE 1; 1-е устройство ADVANCE 9,1 RELEASE 1 TRANSFER ,EXIT FACIL2 SEIZE 2; 2-е устройство с меткой FACIL2 ADVANCE 13,1 RELEASE 2 EXIT TERMINATE 1 START 100 |
|
Программа 5. |
Формат записи оператора INITIAL:
INITIAL <A>,<B>
Оператор INITIAL записывается вне тела основной программы и может не нумераваться. Оператор INITIAL позволяет задавать начальные значения ячеек, элементов матриц и логических переключателей.
В приводимой программе в поле <A> оператора INITIAL задается ячейка под номером 13 (Х13), в которую записывается число 100. В поле <B> задается определяемая величина. Операнд может быть целым или именем. В программе ссылка на ячейку под заданным номером 13 производится как Х13 (в поле <B> блока TEST). Фактически в поле <B> блока TEST задано число 100.
Задание к примерам 3, 4: В программе 3 ввести переменные, по которым задать средние времена обработки -- натуральные числа от 3 до 19 для первого устройства и от 19 до 3 для второго устройства, соответственно. В исходных программах поменять условия сравнения в поле <X> блока TEST на "меньше", "не равно". При этом произвести замену среднего времени обработки в первом устройстве -- задать числа от 3 до 15. В программах 3, 4, 5 ввести блоки для регистрации данных об очередях перед устройствами.
С помощью блоков TEST, GATE написать программу по обработке требований в системе, состоящей из пяти устройств, и предусмотреть обработку либо только в четных по номеру устройствах, либо в нечетных. Длительность функционирования системы задать в течение 3 часов, длительность обработки в каждом из устройств 91 мин., интервал генерации требований 71 мин. Изучить и объяснить получаемые результаты моделирования.
Записать и запустить на выполнение программу для решения примера 5.
Примеры использования арифметических переменных. Арифметические переменные (переменные с фиксированной точкой) и арифметические переменные с плавающей точкой описываются соответственно операторами VARIABLE и FVARIABLE. Только при описании переменных с плавающей точкой (FVARIABLE) допускается применение дробных констант, округление результатов происходит после вычисления заданного выражения.
Пример 5. Вычислить и сохранить следующие величины:
с помощью операторов FVARIABLE, VARIABLE и блоков SAVEVALUE, сравнить результаты вычислений по файлу стандартного отчета.
Пример решения примера приводится в программе 6.
Табл.
ASL FVARIABLE (SQR(49)+1/2+3/2) AS2 VARIABLE (SQR(49)+1/2+3/2) AS3 FVARIABLE (LOG(15)+SQR(8)) AS4 VARIABLE (LOG(15)+SQR(8)) GENERATE 5 SAVEVALUE MMML,V$ASL SAVEVALUE MMM2,V$AS2 SAVEVALUE MMM3,V$AS3 SAVEVALUE MMM4,V$AS4 TERMINATE 1 START 1 |
|
Программа Б. |
Задание к примеру 5. Вычисленные значения с помощью операторов VARIABLE и FVARIABLE проверить на стандартном калькуляторе, сравнить и объяснить полученные результаты.
Написать программу по обслуживанию требований в трех устройствах, в которые поступающие в систему требования распределяются с помощью блоков TEST и GATE. Временные данные по обработке требований и их генераций принять равными по меткам арифметических переменных и произвести ссылки на них в соответствующих блоках (самое малое вычисленное число использовать как время генерации транзактов, остальные -- как времена обработки).
Контрольные вопросы
1. Привести пример использования блока GATE с логическим оператором, связанным с устройствами.
2. Привести примеры по моделированию систем с использованием блока TEST.
3. Каким образом применяются операторы VARIABLE, INITIAL?
4. Какие переменные типа арифметических существуют в системе моделирования GPSS World? С помощью каких операторов они описываются?
5. Привести пример формата записи оператора INITIAL и пояснить его.
Содержание отчета и его форма
1. Форма отчета письменная.
2. Выполнить примеры 1-5 (задания к примерам выполняются по требованию преподавателя).
3. Продемонстрировать данную работу на ПК.
4. Ответить на контрольные вопросы.
Литература
1. Боев В. Моделирование систем. Инструментальные средства GPSS World. - Санкт-Петербург:BHV-Санкт-Петербург, 2004 г. - 368 стр.
2. Вентцель Е.С. Исследование операций.- М.: Сов.радио, 1972.
3. Гнеденко Б.В., Коваленко И.Н. Введение в теорию массового обслуживания. М.: Высш. шк., 1987.
4. Кузин Л.Т. Основы кибернетики: В 2 т.- М.: Энергия, 1979.
5. Разработка САПР. Кн. 9. Имитационное моделирование: Практ. пособие / В.М.Черненький: Под ред. А.В. Петрова. М.: Высш. шк., 1990.
6. Советов Б.Я. Моделирование систем. Практикум: Учебное пособие для вузов/ Б.Я. Советов, С.А. Яковлев. - 2-е изд., перераб. и доп. - М.: Высш. шк., 2003. - 295 с.:ил.
7. Шрайбер Г.Дж. Моделирование на GPSS.- М.: Высш. шк., 1980.
Лабораторная работа № 6. «Недоступность устройств. Блоки FUNAVAIL, FAVAIL. Недоступность многоканальных устройств. Блоки SUNAVAIL, SAVAIL. Накопление и синхронизация сообщений. Блоки GATHER, MATCH. Логические ключи. Блоки LOGIC, GATE.»
Цель работы: изучить возможности системы GPSS World для моделирования ситуаций с помощью блоков FUNAVAIL и FAVAIL, SUNAVAIL и SAVAIL. Изучить блок GATHER для сбора сообщений одного семейства (ансамбля). Изучить ситуации с коммутируемыми объектами с помощью блоков LOGIC и GATE
План выполнения работы:
1) зарегистрируйтесь в системе,
2) выполните практическую часть лабораторной работы,
3) выйдите из системы, сохранив листинги программы и отчета.
1. Теоретическая часть
Изучение состояний недоступности устройств обслуживания. Блоки FUNAVAIL, FAVAIL.
Блоки FUNAVAIL, FAVAIL предусмотрены для адекватного отображения состояния недоступности в статистике использования устройства обслуживания требований, заявок и т.п. Блок FUNAVAIL делает недоступным устройство до тех пор, пока не вступит в действие блок FAVAIL. Эти блоки действуют совместно. Для блока FUNAVAIL предусмотрены специальные режимы работы, задание которых приводит к следующим действиям над транзактами (сообщениями и т.п.), связанными с недоступным устройством:
-- управляющему транзакту, котороый занимал и генерировал прерывание на устройстве в тот момент, когда оно стало недоступным, может быть разрешено продолжение использования этого устройства;
-- прерванные транзакты, которые были прерваны другими транзактами при использовании этого устройства,могут продолжать претендовать на устройство в течение периода недоступности; могут быть сняты из рассмотрения на использование устройства и направлены к вспомогательному блоку или могут претендовать на устройство только по окончании периода недоступности;
-- над задержанными транзактами, которые ожидали устройство для его занятия или прерывания в момент, когда оно стало недоступным, совершаются те же действия, что и над прерванными транзактами.
2. Практическая часть
Записать и запустить на выполнение программу для решения примера 1.
Пример 1. Поток требований, поступающий в систему каждые 5 мин., сначала направляется в первое устройство обслуживания. Каждые 55 мин. на время 15 мин. первое устройство становится недоступным. При этом каждые 11 мин. на время 9 мин. делается попытка прервать поток требований, поступающих в первое устройство. В случае недоступности первого устройства требования направляются на обслуживание во второе, третье и четвертое устройства. Длительность обслуживания первого устройства составляет 4 мин., остальных -- 11 мин. Смоделировать работу системы по обслуживанию 100 требований.
Решение примера 1 приводится как программа 1.
GENERATE 5; Генерирование потока требований FACIL1 SEIZE 1; Устройство №1 с меткой FACIL1 ADVANCE 4 RELEASE 1 exit1 TERMINATE 1 ************************************************************** GENERATE 55; Генерирование потока команд по недоступности FUNAVAIL 1,re,FACIL2,,re,FACIL3,re,FACIL4; Недоступность 1-*го устройства ADVANCE 15 FAVAIL 1; Снятие недоступности TERMINATE ************************************************************** FACIL2 SEIZE 2; Устройство №2 с меткой FACIL2 ADVANCE 11 RELEASE 2 TRANSFER ,exit1 ************************************************************** FACIL3 SEIZE 3; Устройство №3 с меткой FACIL3 ADVANCE 11 RELEASE 3 TRANSFER ,exit1 ************************************************************** FACIL4 SEIZE 4; Устройство №4 с меткой FACIL4 ADVANCE 11 RELEASE 4 TRANSFER ,exit1 ************************************************************** GENERATE 11; Генерирование потока прерываний PREEMPT 1 ADVANCE 9 RETURN 1 TERMINATE ************************************************************** START 100; Задание числа счетчика завершений |
|
Программа 1. |
Блоки, связанные с устройствами, FUNAVAIL и FAVAIL, PREEMPT и RETURN действуют попарно. Попытка прерывания первого устройства блоком PREEMPT позволяет задействовать все рабочие поля блока FUNAVAIL. Один блок FUNAVAIL осуществляет распределение требований по устройствам.
Формат записи блока FUNAVAIL:
FUNAVAIL 1,re,FACIL2, ,re,FACIL3,re,FACIL4
В поле <A> задается имя или номер устройства (в программе номер 1), которое должно стать недоступным. В поле <B> задаются режимы работы с транзактами (требованиями, сообщениями), использующими устройство в момент, когда оно становится недоступным:
режим RE (режим удаления -- remove) означает, что занимавший устройство транзакт, больше не может претендовать на устройство. Удаленный транзакт попытается войти в альтернативный блок, заданный в поле <C>. В программе использован режим RE (re в поле <B>);
режим СО (режим продолжения -- continue) позволяет транзакту использовать устройство в период недоступности;
если режим не задан (режим по умолчанию). то это означает, что транзакт, использующий устройство, прерывается до тех пор, пока устройство вновь не станет доступным.
В поле <C> задается номер или имя блока, к которому направляется транзакт, использующий устройство в момент, когда оно становится недоступным (в программе транзакт отправляется в блок с меткой FACIL2).
В поле <D> задается номер параметра управляющего транзакта (в программе не задан). Информация по полю <D> может быть использована для вычисления времени, которое управляющий транзакт должен провести в списке будущих событий, когда устройство становится недоступным.
Поле <E> может быть использовано в следующих допустимых режимах:
режим RE (режим удаления) указывает на то, что прерванные транзакты (например, блоком PREEMPT) больше не могут претендовать на устройство. Эти транзакты пытаются войти в альтернативный блок, заданный в поле <F>. В программе задан режим удаления (в поле <E> задан операнд "re");
режим СО (режим продолжения) допускает использование устройства всеми транзактами во время периода недоступности. Транзакты занимают устройство в порядке их приоритета;
если режим не задан (режим по умолчанию -- пустое поле), то прерванный транзакт покидает список прерывания устройства, и не допускается использование устройства во время периода недоступности.
В поле <F> задается номер или имя альтернативного блока, к которому направляется прерванный транзакт. Поле <F> используется, если в поле <E> задан режим удаления. В программе в поле <F> задан блок с меткой FACIL3.
Когда устройство становится недоступным поле <G> определяет действия с транзактами, пытающимися занять устройство или сгенерировать на нем прерывание (например, блоком PREEMPT) в момент, когда это устройство становится недоступным. Допускаются следующие режимы поля <G>:
режим RE (режим удаления) указывает на то, что задержанные транзакты больше не должны претендовать на устройство. Эти транзакты не должны пытаться войти в блоки RETURN или RELEASE. Они удаляются из списков задержки с тем, чтобы в дальнейшем попытаться войти в альтернативный блок, заданный полем <H>. В программе используется режим удаления (в поле <G> задан операнд "re");
режим СО (режим продолжения) предполагает, что всем транзактам будет разрешено использовать устройство во время периода его недоступности. Транзакты занимают устройство в порядке их приоритета;
если режим не задан (режим по умолчанию), то это означает, что задержанные транзакты покидают список задержки или список ожидания устройства и не могут больше претендовать на устройство во время периода недоступности.
Поле <H> задает номер или имя блока, к которому направляются задержанные транзакты в режиме RE поля <G>. В программе в поле <H> задан блок с меткой FACIL4.
Блок PREEMPT используется в простом режиме прерывания.
Распределение транзактов по устройствам может быть изменено, если для одного из устройств применить блок TERMINATE с пустым полем <A>.
Формат записи блока FAVAIL:
FAVAIL 1
В поле <A> блока FAVAIL задается номер или имя устройство, с которого снимается недоступность. В программе в поле <A> задано число 1 -- номер первого устройства. Блок FAVAIL делает доступным заданное устройство после периода недоступности.
Чаще блок FUNAVAIL используется только для осуществления недоступности устройства.
Записать и запустить на выполнение программу для решения примера 2.
Пример 2. Смоделировать систему, в которой поток входящих требований начинает обслуживаться в одном устройстве и переводится на обслуживание в другое устройство, если первое становится недоступным на какое-то время. Генерация требований происходит по равномерному закону со временем 52 мин. Устройства осуществляют обработку требований также по равномерному закону со временем 93 мин. Одно из устройств становится недоступным через каждые 332 мин. на время 132 мин. Определить загрузку каждого из устройств и количество обработанных требований вторым устройством, если в первом устройстве должны быть обслужены 100 требований.
Решение примера 2 приводится как программа 2.
GENERATE 5,2 GATE FNV 1,FACIL2; Проверка 1-го устройства на недоступность FACIL1 SEIZE 1; Устройство №1 ADVANCE 9,3 RELEASE 1 TERMINATE 1 FACIL2 SEIZE 2; Устройство №2 ADVANCE 9,3 RELEASE 2 TERMINATE GENERATE 33,2; Генерация команд недоступности FUNAVAIL 1 ADVANCE 13,2 FAVAIL 1 TERMINATE START 100; Задание числа счетчика завершений |
|
Программа 2. |
Программа 2 содержит блоки недоступности устройств (FUNAVAIL, FAVAIL) и проверки на недоступность (GATE в режиме FNV).
Формат записи блока FUNAVAIL:
FUNAVAIL 1
В поле <A> блока FUNAVAIL задается номер устройства (номер 1), которое должно стать недоступным. В данном случае остальные поля не задействованы.
Формат записи блока FAVAIL:
FAVAIL 1
В поле <A> блока FAVAIL задается номер устройства, которое должно стать доступным (в программе устройство под номером 1).
Формат записи блока GATE:
GATE FNV 1,FACIL2
В поле <X> блока GATE зарезервирован логический операнд FNV -- устройство, заданное в поле <A> (устройство под номером 1), не доступно. Блок GATE может работать в режиме FV -- устройство, заданное в поле <A> доступно. Если логический оператор (FNV или FV) имеет значение "истина", то транзакт пытается перейти к следующему по номеру блоку (в программе к блоку SEIZE). Если логический оператор имеет значение "ложь", то транзакты будут пытаться перейти к блоку, метка которого задана в поле <B> (метка FACIL2). Выбор следующего блока производится один раз в момент входа транзакта в блок GATE.
Пустые поля блоков TERMINATE позволяет не влиять на регистрацию счетчика завершений, который связан с обслуживанием требований в первом устройстве. Кроме того, все задержанные транзакты перед первым устройством отправляются во второе устройства и все они там обслуживаются.
Задание к примеру 1:
Произвести в программе 1 изменения по недоступности устройства: сделать недоступным 2-е устройство, затем 3-е, затем 4-е. Соответственно изменить перераспределение транзактов блоком FUNAVAIL. При каждом новом распределении транзактов задавать следующие интервалы времени поступления транзактов в систему: 7, 9, 11, 15, 17, 19 мин. Проанализировать и объяснить файл стандартного отчета по каждой новой программе.
В программе 2 создать режим моделирования в течение заданного промежутка времени: 3 часа, 5 часов. Проанализировать сколько транзактов за указанное время будет обслужено системой. Для программы 2 изменить логический оператор FNV на FV, сравнить и объяснить результаты моделирования по файлу стандартного отчета.
Записать и запустить на выполнение программу для решения примера 3.
Для моделирования параллельной работы устройств в системе GPSS World вводится понятие многоканального устройства. Такое устройство характеризуется определенной емкостью накопителя поступающей информации на обработку. Емкость накопителя описывается оператором STORAGE. Кроме того, в системе GPSS World существуют блоки для анализа, использования и создания недоступности многоканального устройства. К ним относятся блоки использования накопителя ENTER и LEAVE; доступность и недоступность многоканального устройства осуществляется блоками SUNAVAIL и SAVAIL.
Блок SUNAVAIL переводит многоканальное устройство (а по существу накопитель) в состояние недоступности. Блок SAVAIL переводит заданное многоканальное устройство из состояния недоступности в состояние доступности.
Пример 3. Пусть входной поток требований поступает в накопитель с допустимой емкостью, равной 3 единицам, равномерно в течение 51 мин. Если поступающие требования застают накопитель в состояние недоступности, то они направляются в 1-е устройство, в противном случае поступают на обработку во 2-е устройство. Время обработки для 1-го устройства равно 131 мин., для второго -- 91 мин. Смоделировать процесс обработки 100 требований, если состояние недоступности накопителя происходит через каждые 291 мин. в течение 17 мин.
...Подобные документы
Структурная схема, классификация устройств СМО и анализ динамики ее функционирования. Формализация модели СМО средствами GPSS World. Модификация имитационной модели. Реализация модельных экспериментов. Имитационное моделирование СМО в среде GPSS World.
курсовая работа [504,6 K], добавлен 14.12.2012Построение модели вычислительного центра: постановка задачи, выбор метода моделирования и составление моделирующей программы на языке GPSS. Исследование трехфазной одноканальной системы и определение значений параметров и размеров буферных устройств.
курсовая работа [276,8 K], добавлен 25.06.2011Моделирующие программы системы GPSS WORLD. Блоки и транзакты - типы объектов системы. Событийный метод моделирования. Проект моделирования работы в библиотеке, его анализ с помощью среды GPSS WORLD. Описание процесса и метода моделирование системы.
курсовая работа [227,4 K], добавлен 16.08.2012Понятие компьютерной модели и преимущества компьютерного моделирования. Процесс построения имитационной модели. История создания системы GPSS World. Анализ задачи по прохождению турникета на стадион посредством языка имитационного моделирования GPSS.
курсовая работа [291,3 K], добавлен 11.01.2012Создание имитационной модели экономической системы на языке программирования GPSS. Определение возможных мест появления очередей, количества необслуженых заявок. Выявление причин возникновения неблагоприятных факторов, усовершенствование системы.
курсовая работа [32,9 K], добавлен 13.12.2010Основные сведение о системе моделирования GPSS и блоки, используемые при моделировании одноканальных и многоканальных систем массового обслуживания. Разработка модели работы ремонтного подразделения в течение суток с использованием программы GPSS World.
курсовая работа [36,4 K], добавлен 11.02.2015Разработка концептуальной модели системы обработки информации для узла коммутации сообщений. Построение структурной и функциональной блок-схем системы. Программирование модели на языке GPSS/PC. Анализ экономической эффективности результатов моделирования.
курсовая работа [802,8 K], добавлен 04.03.2015Принципы работы в системе имитационного моделирования GPSS World. Анализ количества транзактов, вошедших в блок с момента последней трансляции. Характеристика команд Window/Simulation, Window/Block, Command/Creat Simulation. Образец системы Sample 1.
лабораторная работа [343,3 K], добавлен 29.03.2015Процессы функционирования различных систем и сетей связи как стохастических, динамических, дискретно-непрерывных математических моделей. Блоки языка GPSS, использованные в программе. Общая информация о результатах работы модели, о группах транзактов.
курсовая работа [27,3 K], добавлен 18.01.2010Актуальность и важность технической защиты информации, нормативные документы. Анализ деятельности ООО "Технология защиты", информационные потоки. Обоснование угроз по техническим каналам. Разработка системы управления информационной безопасности.
дипломная работа [771,4 K], добавлен 13.06.2012Процесс моделирования имитационной модели функционирования класса персональных компьютеров на языке GPSS World. Поиск линейной зависимости и оценка полученного уравнения. Отчет по результатам работы имитационной модели. Листинг разработанной программы.
курсовая работа [49,2 K], добавлен 07.09.2012Количественная мера измерения информации: бит, байт. Аппаратная часть ПК: основные блоки; монитор; клавиатура. Характеристика устройств ввода информации. Системное программное обеспечение. Общая характеристика Windows 95. Защита от компьютерных вирусов.
шпаргалка [776,3 K], добавлен 06.06.2009Угрозы в сфере информационного обеспечения. Цели и задач и создания комплексной системы защиты информации на предприятии. Применение скрытия и уничтожения информации, дезинформации противника, легендирования. Анализ функций системы защиты предприятия.
курсовая работа [60,7 K], добавлен 23.06.2012Современные системы обработки данных. Автоматизированная информационная система. Понятие информационной и динамической модели. Появление множества разнотипных систем, отличающихся принципами построения и заложенными в них правилами обработки информации.
презентация [36,0 K], добавлен 14.10.2013Программно-аппаратные средства защиты компьютера от несанкционированного доступа. Электронный замок "Соболь". Система защиты информации SecretNet. Дактилоскопические устройства защиты информации. Управление открытыми ключами, удостоверяющие центры.
курсовая работа [3,1 M], добавлен 23.08.2016Общий вид вычислительной системы. Начальная последовательность действий. Элементы организации основных блоков ЭВМ. Архитектурная организация процессора ЭВМ. Организация систем адресации и команд ЭВМ. Система внешних устройств. Средства вывода информации.
курсовая работа [39,5 K], добавлен 28.01.2012Проектирование и реализация модели, которая будет имитировать автозаправочную станцию с постоплатой. Подбор оптимальных параметров модели с учетом требований к сети массового обслуживания. Разработка модели в среде имитационного моделирования GPSS World.
контрольная работа [279,5 K], добавлен 16.03.2014Технологическая схема системы. Структурно-функциональная модель обработки сообщений системой управления технологическим процессом. Поток сообщений в общем виде. Моделирование в среде GPSS и в среде C#, их результаты. Алгоритм имитационного моделирования.
курсовая работа [1,3 M], добавлен 14.12.2012Особенности систем массового обслуживания и сущность имитационного моделирования с использованием GPSS. Структурная схема модели системы и временная диаграмма. Сравнение результатов имитационного моделирования и аналитического расчета характеристик.
курсовая работа [214,2 K], добавлен 23.06.2011Особенности моделирования работы сборочного участка цеха, которая состоит из трех этапов: сборка, предварительная обработка и регулировка деталей. Понятие среды имитационного моделирования GPSS World - программного комплекса, работающего под Windows.
контрольная работа [39,5 K], добавлен 04.06.2011