Знакомство с визуальной средой рекомендуется начать с раздела "Примеры". Загрузить визуальную среду можно здесь.
Модель в визуальной среде представляет собой сеть (рисунок 5.10). В узлах сети находятся блоки модели, а соединяющие линии - связи между блоками. Связь блоков представляет собой соединение выхода блока с входом другого блока. Отношение входа блока к выходам других блоков нужно рассматривать как один ко многим. Направление движения транзактов между блоками осуществляется от выхода блока к входу другого блока, а направление движения транзактов в сети - от "Генераторов" к "Терминатору". В сети не допускаются контуры, в которых могут циркулировать транзакты, так как время срабатывания некоторых блоков визуальной среды равно нулю и симулятор не может определить, в каком блоке находится транзакт (транзакт "размыт" по блокам).
Начало сети или модели СМО представляют блоки "Генераторы", а конец модели блок "Терминатор", причем блок "Терминатор" в модели присутствует только в одном экземпляре.
Если в тексте говорится о выборе таких объектов модели, как блок или связь, то подразумевается следующий механизм: нужно навести на объект указатель "мыши" и щелкнуть на нем левой клавишей. В визуальной среде невозможно за один раз выбрать несколько объектов.
Добавить блок в модель можно с помощью окна "Блоки" (рисунок 1.1). В этом окне находятся все доступные блоки для построения модели. Механизм добавления - перетаскивание манипулятором нужного блока из окна "Блоки" в область проектирования модели. Если при добавлении нового блока ему не задано имя, то он не сможет получить связь с другими блоками.
Для того чтобы удалить блок, нужно выбрать удаляемый блок и из меню приложения "Блоки" выполнить команду "Удалить". Существует альтернативный способ удаления блока - через его контекстное меню, применив ту же команду.
Редактировать имя блока можно через свойства блока - "Блок". Существует более быстрый способ редактирования имени блока, который удобно использовать при построении модели. Для этого нужно выполнить двойной щелчок в первой строке блока. После этой операции появится окно с полем для редактирования имени блока (рисунок 1.2). При задании имени блока происходит его регистрация в модели, то есть он может устанавливать связь с другими блоками. Ограничений на количество используемых символов в имени блока нет. Все пробелы из начала и конца имени блока удаляются. Одинаковые имена, записанные в разных регистрах, считаются разными.
Для того чтобы добавить или изменить связь, нужно выполнить следующее действие. На выходе блока выполнить двойной щелчок, в результате появится модальное окно "Связать с блоком" (рисунок 1.3). В раскрывающемся списке этого окна находятся имена блоков, с которыми можно установить или разорвать связь.
Другой способ, позволяющий изменить связь, - выбираем связь. Из меню приложения "Связь" выполнить команду "Изменить", появится окно "Изменить блок приемник" (рисунок 1.4). Эту же команду можно выполнить из контекстного меню связи.
Наряду с перечисленными способами добавления и изменения связи существует другой более быстрый способ. При помощи манипулятора, используя технологию drag-and-drop, можно захватить выход блока и перетащить на соединяемый блок, или захватить вход блока и перетащить на свободный (не имеющий связи) выход другого блока. Связь могут получить только зарегистрированные в модели блоки. Такие блоки имеют имена.
Для удаления связи ее нужно выбрать. После этого действия из меню приложения "Связь" выполнить команду "Удалить" или запустить эту команду из контекстного меню связи.
Свойства блоков представляют набор вкладок, на которых можно произвести редактирование атрибутов блока. Для того чтобы получить доступ к свойствам блока, нужно выполнить следующие операции: выбрать блок и из меню приложения "Блок" выполнить команду "Свойства…". Последнюю команду можно выполнить и из контекстного меню блока.
Для получения доступа к свойствам модели, нужно из меню приложения "Модель" выполнить команду "Свойства…" или запустить ее из контекстного меню области проектирования. Также существует и более быстрый способ получения свойств модели: двойной щелчок левой клавишей "мыши" в области проектирования.
Запуск модели выполняется через меню приложения "Модель" командой "Запуск…". При выполнении этой команды появится окно "Запуск модели" (рисунок 1.5). В этом окне показано: "Текущее время моделирования", "Количество вышедших из системы транзактов", область для диагностических сообщений. Конечный этап запуска модели СМО - это запуск симулятора. Для этого нужно нажать на кнопку "Старт".
Если в окне "Запуск модели" (рисунок 1.5) установлен флаг "Показать отчет о запуске после моделирования", то отчет будет показан после завершения моделирования, иначе отчет придется запустить вручную, нажав кнопку "Отчет". Окно "Отчет о запуске модели" состоит из трех таблиц (вкладок).
Таблица "Блоки" описывает атрибуты и общую статистику для всех блоков модели, накопленную за время моделирования. Таблица имеет следующие поля: "Номер блока", "Имя блока", "Тип блока", "Количество транзактов, вошедших в блок", "Количество транзактов, вышедших из блока", "Количество транзактов, оставшихся на конец периода моделирования".
В таблице "Устройства обслуживания" содержится статистика о блоках "Устройства обслуживания". Таблица имеет следующие поля: "Номер устройства", "Имя устройства", "Количество транзактов, прошедших через устройство", "Коэффициент использования устройства", "Среднее время задержки или обработки одного транзакта в устройстве обслуживания", "Состояние готовности устройства на конец периода моделирования", "Количество транзактов, ожидающих устройство в конце периода моделирования".
В последней таблице "Очереди" содержится статистика о блоках "Очередь". Таблица содержит поля: "Номер очереди", "Имя очереди", "Общее количество входов в очередь", "Количество входов в очередь с нулевым временем ожидания", "Максимальное содержимое очереди в течение периода моделирования", "Текущее содержимое очереди в конце периода моделирования", "Среднее значение содержимого очереди", "Среднее время, проведенное в очереди с учетом всех входов в очередь", "Среднее время, проведенное в очереди без учета "нулевых" входов в очередь", "Состояние готовности очереди в конце периода моделирования", "Количество транзактов, ожидающих очередь в конце периода моделирования".
Блоки, из которых строятся модели СМО в визуальной среде, являются аналогами блоков в языке GPSS. Наблюдается и схожесть функционирования блоков визуальной среды с блоками GPSS во время моделирования. Если транзакт не может войти в следующий блок (блок на пути транзакта занят), то он задерживается в текущем блоке, пока следующий блок не освободится.
Графически блок в визуальной среде представлен окном (рисунок 2.1). В заголовке этого окна находится тип блока. В первой строке расположен индикатор активности и имя блока. Следующие строки могут быть входом и выходами. Наличие входа и количество выходов зависит от типа блока.
Генерирует (вводит) транзакты в систему.
Наличие входа | Нет |
Количество выходов | 1 |
Свойства |
"Блок" "Характеристика генератора" "Характеристика потока" |
Уничтожает (выводит) транзакты из системы.
Наличие входа | Да |
Количество выходов | 0 |
Свойства |
"Блок" |
Задерживает транзакт на время.
Наличие входа | Да |
Количество выходов | 1 |
Свойства |
"Блок" "Характеристика потока" "Приоритет" |
Организует очередь транзактов.
Наличие входа | Да |
Количество выходов | 1 |
Свойства |
"Блок" "Характеристика очереди" "Приоритет" |
Изменяет направление движения транзактов согласно режиму.
Наличие входа | Да |
Количество выходов | от 1 до 20 |
Свойства |
"Блок" "Характеристика коммутирующего блока" "Выходы" "Значение выходов" "Приоритет" |
Генерирует N копий входящего транзакта.
Наличие входа | Да |
Количество выходов | от 1 до 20 |
Свойства |
"Блок" "Выходы" "Значение выходов" "Приоритет" |
Собирает N транзактов одного ансамбля, пропускает в следующий блок первый транзакт, остальные уничтожает.
Наличие входа | Да |
Количество выходов | 1 |
Свойства |
"Блок" "Ожидаемые транзакты" "Приоритет" |
Собирает N транзактов одного ансамбля и пропускает их одновременно в следующий блок.
Наличие входа | Да |
Количество выходов | 1 |
Свойства |
"Блок" "Ожидаемые транзакты" "Приоритет" |
На вкладке "Блок" (рисунок 3.1) можно редактировать имя блока.
Вкладка "Характеристика генератора" (рисунок 3.2) позволяет редактировать параметры блока "Генератор".
На вкладке "Характеристика потока" (рисунок 3.3) можно задать закон поступления/обслуживания: детерминированный, равномерный, специальный; минимальное и максимальное значение случайной величины в случае равномерного закона, а при специальном законе - интервалы генерируемой величины. При выборе детерминированного закона его интервал задается в поле "Минимальное значение".
Кнопка "Тест" является проверкой заданного закона (происходит тест функции симулятора), то есть при нажатии появляется окно с гистограммой распределения случайной величины (рисунок 3.4).
Вкладка "Приоритет" (рисунок 3.5) присутствует во всех блоках, через которые может пройти транзакт. Транзакты в системе могут быть без приоритета, либо с относительным приоритетом. Приоритет может быть только положительным числом, и самое низкое его значение равно нулю.
На вкладке "Характеристика очереди" (рисунок 3.6) можно задать дисциплину очереди (раньше поступил - раньше обслужился, последний поступил - первый обслужился, выбор из очереди случайный или по приоритету). Также возможно задать фиксированный размер очереди.
Вкладка "Характеристика коммутирующего блока" (рисунок 3.7) используется для задания условия передачи транзактов.
На вкладке "Выходы" (рисунок 3.8) можно изменить количество выходов у блока.
Вкладка "Значение выходов" (рисунок 3.9) позволяет задать выходам блока значения и взаимодействует со свойством "Выходы".
Вкладка "Ожидаемые транзакты" (рисунок 3.10) позволяет задать количество ожидаемых транзактов.
На вкладке "Условия эксперимента" (рисунок 4.1) можно задать условия эксперимента. К ним относятся условия завершения моделирования по времени ли по числу вышедших транзактов из системы, а также установка нужного количества запусков (имитаций) модели.
В этом разделе приводятся примеры имитационных моделей СМО, построенных с использованием языка GPSS и визуальной среды.
Заявки поступают в систему массового обслуживания через время, равное 9 единиц. Обработка (обслуживание) каждой заявки занимает 7 единиц времени. После обработки заявки покидают систему. Провести обработку 150 заявок.
Загрузить модели GPSS и визуальной среды.
Программа GPSS на рисунке 5.1.
SIMULATE 10 GENERATE 9 20 SEIZE 1 30 ADVANCE 7 40 RELEASE 1 50 TERMINATE 1 START 150 END |
Стандартный отчет после выполнения GPSS программы на рисунке 5.2.
START_TIME END_TIME BLOCKS FACILITIES STORAGES FREE_MEMORY 0 1357 5 1 0 19504 LINE LOC BLOCK_TYPE ENTRY_COUNT CURRENT_COUNT RETRY 10 1 GENERATE 150 0 0 20 2 SEIZE 150 0 0 30 3 ADVANCE 150 0 0 40 4 RELEASE 150 0 0 50 5 TERMINATE 150 0 0 FACILITY ENTRIES UTIL. AVE._TIME AVAILABLE OWNER PEND INTER RETRY DELAY 1 150 0.773 7.00 1 0 0 0 0 0 |
Вид модели в визуальной среде представлен на рисунке 5.3.
Отчет визуальной среды на рисунке 5.4.
|
Время поступления заявок в систему массового обслуживания от 7 до 11 мин., а время обслуживания от 5 до 9 мин. Поступление и обслуживание заявок осуществляется по равномерному закону. Время работы системы 120 мин.
Загрузить модели GPSS и визуальной среды.
Программа GPSS на рисунке 5.5.
SIMULATE 10 GENERATE 120 20 TERMINATE 1 30 GENERATE 9,2 40 SEIZE 1 50 ADVANCE 7,2 60 RELEASE 1 70 TERMINATE START 1 END |
Стандартный отчет после выполнения GPSS программы на рисунке 5.6.
START_TIME END_TIME BLOCKS FACILITIES STORAGES FREE_MEMORY 0 120 7 1 0 19104 LINE LOC BLOCK_TYPE ENTRY_COUNT CURRENT_COUNT RETRY 10 1 GENERATE 1 0 0 20 2 TERMINATE 1 0 0 30 3 GENERATE 13 0 0 40 4 SEIZE 13 0 0 50 5 ADVANCE 13 1 0 60 6 RELEASE 12 0 0 70 7 TERMINATE 12 0 0 FACILITY ENTRIES UTIL. AVE._TIME AVAILABLE OWNER PEND INTER RETRY DELAY 1 13 0.691 6.38 1 14 0 0 0 0 |
Вид модели в визуальной среде представлен на рисунке 5.3. Отчет визуальной среды на рисунке 5.7.
|
Смоделировать процесс прохождения 100 деталей на производственном участке сборочного цеха. На участок сборки подшипников поступают обоймы и шарики с интервалом времени 25 +/- 4 единицы. На контроль обоймы затрачивается 4 +/- 1 единицы времени; контроль шариков осуществляется последовательно со временем 2 +/- 1 единицы времени на шарик. Операция сборки требует одновременного поступления обоймы и шариков и производится со временем 4 +/- 2 единицы. В одной обойме 8 шариков. Все процессы подчиняются равномерному закону [1].
Загрузить модели GPSS и визуальной среды.
Программа GPSS на рисунке 5.8.
SIMULATE 10 GENERATE 25,4,,100 20 SPLIT 8,CHAN2 30 CHAN1 SEIZE 1 40 ADVANCE 4,1 50 RELEASE 1 60 TRANSFER ,COMM 70 CHAN2 SEIZE 2 80 ADVANCE 2,1 90 RELEASE 2 100 GATHER 8 110 COMM ASSEMBLE 9 120 CHAN3 SEIZE 3 130 ADVANCE 4,2 140 RELEASE 3 150 EXIT TERMINATE 1 START 100 END |
Стандартный отчет после выполнения GPSS программы на рисунке 5.9.
START_TIME END_TIME BLOCKS FACILITIES STORAGES FREE_MEMORY 0 2512 15 3 0 17376 LINE LOC BLOCK_TYPE ENTRY_COUNT CURRENT_COUNT RETRY 10 1 GENERATE 100 0 0 20 2 SPLIT 100 0 0 30 CHAN1 SEIZE 100 0 0 40 4 ADVANCE 100 0 0 50 5 RELEASE 100 0 0 60 6 TRANSFER 100 0 0 70 CHAN2 SEIZE 800 0 0 80 8 ADVANCE 800 0 0 90 9 RELEASE 800 0 0 100 10 GATHER 800 0 0 110 COMM ASSEMBLE 900 0 0 120 CHAN3 SEIZE 100 0 0 130 13 ADVANCE 100 0 0 140 14 RELEASE 100 0 0 150 EXIT TERMINATE 100 0 0 FACILITY ENTRIES UTIL. AVE._TIME AVAILABLE OWNER PEND INTER RETRY DELAY 1 100 0.156 3.92 1 0 0 0 0 0 2 800 0.636 2.00 1 0 0 0 0 0 3 100 0.151 |