Работа в GPSS

Автор работы: Пользователь скрыл имя, 16 Февраля 2012 в 09:27, реферат

Описание

Главное окно состоит из нескольких компонентов. В верхней части расположено основное меню, еще ниже – панель инструментов, еще ниже поле – клиентская область. В самой нижней части экрана размещена строка состояния: левая часть For Help показывает подсказки с информацией об используемых пунктах меню. Средняя часть строки состояния Results показывает сообщения об ошибках. Правая часть Clock используется для отображения модельного времени в процессе выполнения модели.

Работа состоит из  1 файл

Работа в GPSS.doc

— 1.59 Мб (Скачать документ)

    Основные  команды системы  моделирования GPSS World.  Построение GPSS модели

 

      При запуске файла  появится Главное окно системы: 

      

      Рис. 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. Но будьте внимательны, иногда бывает, что  найденная строка по сообщению об ошибке ее не содержит, ошибка находится в соседних строках.

       Когда успешно завершается первоначальная трансляция модели, создаются:

  1. последовательность блоков;
  2. регистрационный список процедур;
  3. список команд.

    Все это передается объекту «Процесс моделирования». Последовательность блоков и список команд сохраняются отдельно.

      После первоначальной трансляции модели, созданному объекту «Процесс моделирования» можно  передавать любые операторы модели. Такие операторы называются интерактивными. Это могут быть:

Информация о работе Работа в GPSS