Автор работы: Пользователь скрыл имя, 16 Февраля 2012 в 09:27, реферат
Главное окно состоит из нескольких компонентов. В верхней части расположено основное меню, еще ниже – панель инструментов, еще ниже поле – клиентская область. В самой нижней части экрана размещена строка состояния: левая часть For Help показывает подсказки с информацией об используемых пунктах меню. Средняя часть строки состояния Results показывает сообщения об ошибках. Правая часть Clock используется для отображения модельного времени в процессе выполнения модели.
При
запуске файла
появится Главное окно системы:
Рис.
1. Главное окно GPSS
Главное окно состоит из нескольких компонентов. В верхней части расположено основное меню, еще ниже – панель инструментов, еще ниже поле – клиентская область. В самой нижней части экрана размещена строка состояния: левая часть For Help показывает подсказки с информацией об используемых пунктах меню. Средняя часть строки состояния Results показывает сообщения об ошибках. Правая часть Clock используется для отображения модельного времени в процессе выполнения модели.
Нам необходимо создать объект «Модель».
Для обработки текста GPSS World имеет текстовый редактор. Выбираем File ►New. После этого появится меню
Рис.
2. Меню выбора объекта
Так
как нам нужно создать объект
«Модель» - выбираем Model. Откроется окно
текстового редактора:
Рис.3.
Окно текстового редактора
Пример 1
Решить
с помощью программы-иммитатора
задачу 1.
Задача 1. Требуется построить и проверить имитационную модель (ИМ) работы ремонтного подразделения с одним каналом обслуживания. В ремонтное подразделение поступают неисправные средства связи (СС) двух типов, которые ремонтируются одними и теми же мастерами ремонтного отделения. Интервалы времени поступления СС первого типа распределены равномерно 10±5 часов. Распределение интервалов времени поступления СС второго типа 12±8 часов. Поступающие СС ремонтируются в последовательности: первым поступило – первым отремонтировано. На ремонт СС первого типа затрачивается 6±2 часа, второго типа – 8±4 часов.
Функционирование ремонтного подразделения моделируется двумя независимыми последовательностями блоков. В качестве единицы модельного времени берем 1 мин. Время моделирования – 3 суток (72 часа).
Переводим все данные в мин.:
10 часов = 600 мин.
5 часов = 300 мин.
12 часов = 720 мин.
8 часов = 480 мин.
6 часов = 360 мин.
2 часа = 120 мин.
4 часа = 240 мин.
72 часа = 4320 мин.
При
построении и проверке ИМ используются
параметры:
Таблица 1
Обозначение идентификатора | Наименование идентификатора | Примечание |
Rem1 | Ремонтное подразделение с одним каналом обслуживания | |
RemQ | Общая очередь неисправных СС первого типа | |
RemQ1 | Общая очередь неисправных СС второго типа | |
RemQ2 | Имя таблицы, в которой будет табулироваться общее время прохождения неисправного СС в ремонте | |
VrRem | Имя таблицы, в которой будет табулироваться общее время нахождения неисправного СС в ремонте | |
VrRem1 | Имя таблицы, в которой будет табулироваться общее время нахождения в ремонте неисправного СС первого типа | |
VrRem2 | Имя таблицы, в которой будет табулироваться общее время нахождения в ремонте неисправного СС второго типа |
Модель для решения задачи 1 начнем с заголовка, выделив его жирным шрифтом. В изменения типа шрифта воспользуемся Edit ►Font, жирный. После ввода заголовка приступаем к вводу команд определения таблиц.
Введем имя VrRem1. Для перехода к вводу таблицы командой TABLE следует воспользоваться клавишей [Tab]. Введем строку
«VrRem1 TABLE M1, 420, 180, 5», следующие строки-команды отличаются от первой команды только последними символами в именах переменных. Поэтому воспользуемся командамои копирования Copy и вставки Paste.
Для ввода остальных операторов модели воспользуемся окном Edit ► Insert GPSS Blocks, в появившемся окне выбирается необходимая команда (рис. 4).
Выберем блок GENERATE, появится окно создания блока. В операнды А и В введем данные из условия задачи: 600 и 300, соответственно. Переход от операнда к операнду осуществляется клавишей [Tab] либо мышью. В окошке Comment вводятся комментарии к действиям, например «Источник СС 1 типа» (рис. 5).
Рис.
4. Использование меню блоков GPSS
Рис.
5. Окно заполнения блока GENERATE
Продолжим
ввод остальных операторов модели:
; Пример 1
; Определение таблиц
VrRem1 TABLE M1,420,180,5
VrRem2 TABLE M1,420,180,5
VrRem TABLE M1,420,180,5
; Сегмент имитации ремонта СС 1 типа
GENERATE 600,300 ; Источник СС 1 типа
QUEUE RemQ ; Встать в общую очередь
QUEUE RemQ1 ; Встать в очередь СС 1 типа
SEIZE Rem1 ; Занять ремонтное подразделение
DEPART RemQ ; Покинуть общую очередь
DEPART RemQ1 ; Покинуть очередь СС 1 типа
ADVANCE 360,120 ; Имитация ремонта
RELEASE Rem1 ; Освободить ремонтное подразделение
TABULATE VrRem1 ; Данные о СС 1 типа в таблицу
TRANSFER ,Met1 ; Отремонтированные СС 1 типа
; Сегмент имитации ремонта СС 2 типа
GENERATE 720,480 ; Источник СС 2 типа
QUEUE RemQ ; Встать в общую очередь
QUEUE RemQ2 ; Встать в очередь СС 2 типа
SEIZE Rem1 ; Занять ремонтное подразделение
DEPART RemQ ; Покинуть общую очередь
DEPART RemQ2 ; Покинуть очередь СС 2 типа
ADVANCE 480,240 ; Имитация ремонта
RELEASE Rem1 ; Освободить ремонтное подразделение
Met1 TABULATE VrRem2 ; Данные о СС 2 типа в таблицу
TABULATE VrRem ; Данные о СС обоих типов в таблицу
TERMINATE ; Отремонтированные сс 1 и 2 типа
; Сегмент задания времени моделирования
GENERATE 4320
TERMINATE 1
Таблица 2
Описание блоков GPSS
Блок | Описание | Примечание |
GENERATE | Осуществляет
модификацию атрибутов |
|
QUEUE | Блок, обеспечивающий получение статистических результатов - очереди | |
SEIZE | Блок, описывающий обект аппаратной категории – однокональных устройств (технических средств) | |
DEPART | Блок, обеспечивающий получение статистических результатов - очереди | |
ADVANCE | Блок, осуществляющий
модификацию атрибутов |
Продолжение таблицы 2
Блок | Описание | Примечание |
RELEASE | Блок, описывающий обект аппаратной категории – однокональных устройств (технических средств) | |
TABULATE | Блок, обеспечивающий получение статистических результатов - таблиц | |
TRANSFER | Блое, изменяющий последовательность движения транзактов (блок передачи управления) | |
GENERATE | Блок |
|
TERMINATE | Блок |
Сохраним объект «Модель» и приступим к созданию объекта «Процесс моделирования», который представляет собой оттранслированный объект «Модель». Для трансляции необходимо выбрать Command ► Create Simulation. По этой команде транслятор GPSS проверяет модель на наличие синтаксических ошибок. При их отсутствии, транслятор активизирует все интерактивные команды и окна, что бы можно было следить за состоянием процесса моделирования и управлять им.
Если ошибки имеются, то в окне Journal транслятор выдаст список сообщений об ошибках трансляции. Для поиска ошибок и их исправления следует воспользовавться командой Search ► Next Error. При выполнении этой команды курсор помещается в строке текста модели с ошибкой. После исправления ошибок трансляция выполняется повторно Command ► Retranslate. В случае отсутствия ошибок появится сообщение (рис. 6):
12/06/10 15:35:57 Model Translation Begun.
12/06/10 15:35:57 Ready.
Рис. 6.
Теперь можно запустить процесс моделирования. Для этого выбрать Command ► Start. Появится диалоговое окно (рис. 7):
Рис.
7. Диалоговое окно Start
После нажатия ОК может произойти останов по ошибке выполнения, например, если в строках будет записано Rem, а не Rem1:
ADVANCE 360,120 ; Имитация ремонта
RELEASE Rem1 ; Освободить ремонтное подразделение ,
то в окне Journal будет выдано сообщение об этом (рис. 8):
Рис.
8. Окно с сообщением об ошибке выполнения
There are no Transactions. Check Transaction limits and blocking - означает «Попытка освободить незанятое устройство», что транзакт пытается освободить ОКУ, которое не было им занято, т.е. в блоке RELEASE в данной модели нужно было указать Rem1, а не Rem. При ошибках выполнения строка с ошибкой ищется самостоятельно, иногда номер строки с ошибкой указан в сообщении словом Line №. Перейти к строке с этим номером можно с помощью команды Search ► Go TO Line. Но будьте внимательны, иногда бывает, что найденная строка по сообщению об ошибке ее не содержит, ошибка находится в соседних строках.
Когда успешно завершается первоначальная трансляция модели, создаются:
Все это передается объекту «Процесс моделирования». Последовательность блоков и список команд сохраняются отдельно.
После первоначальной трансляции модели, созданному объекту «Процесс моделирования» можно передавать любые операторы модели. Такие операторы называются интерактивными. Это могут быть: