Создание объекта «Процесс моделирования»



Объект «Процесс моделирования» представляет собой оттранслированный объект «Модель». Для трансляции объекта «Модель» необходимо выбрать Command ► Create Simulation (Команда ► Создать процесс моделирования) ([Ctrl]+[Alt]+[S]). По этой команде транслятор GPSS проверяет модель на наличие синтаксических ошибок. При отсутствии синтаксических ошибок транслятор активизирует все интерактивные команды и окна для того, чтобы можно было следить за состоянием процесса моделирования и управления им.

Однако чаще всего синтаксические ошибки в объекте «Модель» имеются. Предположим, что есть они и в модели Пример_1. Пусть при вводе третьем строки вместо Table набрано Tale и, поскольку следующие две строки (четвертая и пятая) были введены посредством копирования, эта ошибка оказалась и в них. Вследствие ошибок объект «Процесс моделирования» не может быть создан. В окне JOURNAL (Журнал) транслятор выдаст список сообщении об ошибках трансляции (рис. 14).

 

Рисунок 14 - Окно JOURNAL со списком сообщений об ошибках трансляции

 

Для поиска ошибок и их исправления следует воспользоваться командой Search ► Next Error (Поиск ► Следующая ошибка) ([Ctrl]+[Alt]+[N]). При первом выполнении этой команды курсор мыши помещается в строке текста модели с ошибкой (рис. 15).

 

Рисунок 15 - Курсор мыши в строке текста модели с ошибкой

Ошибка исправляется и, поскольку ошибок три, то еще дважды применяется команда Search ► Next Error. Следует иметь в виду, что помимо помещения курсора мыши в строку с ошибкой каждая ошибка при этом также описывается в строке состояния главного окна (см. рис. 15). Команда Search ► Previous Error (Поиск ► Предыдущая ошибка) ([Ctrl]+[Alt]+[P]) позволяет просмотреть список ошибок трансляции в тексте модели в обратном направлении.

После исправления ошибок повторно выполняется трансляция. Ее можно также выполнить командой Command ► Retranslate (Команда ► Повторная трансляция) ([Ctrl]+[Alt]+[R]). В случае отсутствия ошибок, обнаруживаемых транслятором, в окне JOURNAL появляется об этом сообщение (рис. 16).

 

Рисунок 16 - Окно JOURNAL с сообщением об отсутствии ошибок

 

Теперь можно запустить процесс моделирования. Для этого нужно выбрать Command ► Start (Команда ► Старт). Появится диалоговое окно (рис. 17), в котором имеется возможность заменить 1 на любое количество прогонов, например, на 100 или 100,NP (NP - стандартный отчет не выводится).

Рисунок 17 - Диалоговое окно команды Start

 

После нажатия ОК произойдет останов по ошибке выполнения и в окне JOURNAI будет выдано об этом сообщение (рис. 18).

Сообщение указывает, что транзакт пытается освободить ОКУ, которое не было им занято, т. е. в блоке RELEASE в данной модели нужно было указать Reml, а не Rem. При останове по ошибке транслятор не создает список ошибок выполнения, подобный списку ошибок трансляции. Поэтому использовать команду Search ► Next Error нельзя. Строку с ошибкой нужно найти самостоятельно. Для этого следует воспользоваться командой Search

 

Рисунок 18 - Окно JOURNAL с сообщением об ошибке выполнения

 

► Go To Line… (Поиск ►Перейти к строке…) ([Ctrl]+[Alt]+[G]). Номер строки, которую нужно найти, указан в сообщении об ошибке выполнения (см. рис. 18, Line 14).

Объект «Процесс моделирования» создан.

Отчеты

 

По окончании работы модели система автоматически создает отчет. Статистическая информация выводится только о тех объектах, которые присутствуют в модели. В общем же стандартный отчет содержит кроме общей характеристики модели следующие сведения:

o об именах объектов модели;

o блоках модели;

o устройствах;

o многоканальных устройствах;

o очередях;

o списках пользователя;

o статистических таблицах;

o матрицах;

o группах транзактов;

o числовых группах;

o логических переключателях;

o сохраняемых величинах;

o списке текущих событий;

o списке будущих событий.

Необходимость в выводе списков текущих и будущих событий определяет операнд D команды START. Если операнд D не равен нулю, списки выводятся.

Вывод отчета может быть заблокирован. Для этого в поле операнда В команды START необходимо записать NP. Создание стандартных отчетов можно также отключить, сняв флажок Create Standard Report (Создавать стандартные отчеты) на странице Reports (Отчеты) журнала настроек модели.

Каждому отчету присваивается имя. Это имя по умолчанию составляется из имени файла модели, порядкового номера процесса моделирования, созданною из этого файла, и номера отчета данного процесса моделирования. Нумерация отчета начинается с 1. У файлов с отчетами имеется расширение .qpr.

Например, Пример_1.1.1. qpr, Пример_1.1.2. qpr и т. д. При удалении некоторых отчетов их порядковые номера в сеансе работы будут непоследовательными.

Имя отчета, формируемое системой, пользователь изменить не может. Отчеты являются специально отформатированными файлами. Если возникает необходимость сохранить какой-либо отчет с именем пользователя, его нужно скопировать в буфер обмена, а из него — в соответствующий файл. Любой отчет можно распечатать из окна Report (Отчет) с помощью команды File ► Print (Файл ► Печать) в главном меню.

Отчет может настраиваться. Откройте модель Пример_1. Выберите Edit ► Settings (Правка ► Настройки) Перейдите на страницу Reports (отчеты) (рис. 19). Вы увидите перечень объектов GPSS, данные о которых по умолчанию включаются в отчет. По желанию пользователя перечень объектов можно изменить, сняв или установив соответствующие флажки.

 

Рисунок 19 - Страница Reports (Отчеты) журнала настроек модели

 

Запустите процесс моделирования. По его завершению автоматически появляется окно Report (Отчет) (рис. 20). Окно Report (Отчет) предоставляет возможности редактирования текста, изменения шрифта, цвета текста и печати. Закройте окно отчета. Ответьте No (Нет) на вопрос о сохранении файла отчета.

Используйте команду RFPORT для получения отчета в момент времени, когда транзакт пытается войти в интересующий вас блок. Щелкните мышью в любом месте окна Journal (Журнал), которое вы не закрыли. Выберите сначала Command ► CLEAR (Команда ► CLEAR), потом Window ► Simulation Window ► Blocks Window (Окно ► Окно процесса моделирования ► Окно «Блоки»). В окне Blocks (Блоки) выберите блок TERMINATE (блок 21), затем нажмите кнопку Place (Поместить) на панели инструментов окна Blocks (Блоки). В блок 21 было помешено условие остановки. Выберите Command ► START (Команда ► СТАРТ).

 

Рисунок 20 - Окно Report (Отчет)

 

Вместо 1 наберите 100 и нажмите ОК. Процесс моделирования остановится и транзакт будет задержан в блоке 20 с меткой Metl. Выберите Command ► Custom... (Команда ► Выбрать...). Введите команду REPORT и нажмите ОК. Сразу же появится окно с отчетом для момента времени, в который было остановлено моделирование.

Контрольные вопросы

1. На решение каких задач моделирования ориентирован язык GPSS?

2. Что понимается под транзактом?

3. Перечислите основные функции управляющих операторов/блоков языка GPSS.

4. Перечислите основные группы объектов языка GPSS.

5. Синтаксис языка GPSS.

6. Блоки языка GPSS.


Дата добавления: 2018-09-23; просмотров: 242; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!