Открытие диалогового окна BLOCK ENTITIES

Лабораторная работа 7

Моделирование в интерактивном режиме вGPSSW

Цель работы:изучить процесс моделирования с применением системы GPSSW в интерактивном режиме.

Теоретическое обоснование

Одна из наиболее интересных диалоговых особенностей системы GPSSW – возможность включения в модель любого оператора в интерактивном режиме в процессе моделирования, кроме оператора GENERATE, который является единственным исключением.

Для моделирования в интерактивном режиме, прежде всего, надо иметь активное требование, которое можно получить несколькими способами:

– использовать команду STOPдля прерывания процесса моделирования;

– использовать функциональную клавишу, обеспечивающую вызов команды STOP. Эта команда регистрирует состояние моделируемой системы, когда любое требование пытается войти в любой блок;

– подождать до тех пор, пока процесс моделирования не прекратится.

Общая постановка задачи

Выполните все описанные в примере действия. Выполните индивидуальное задание. Оформите отчет.

Пример выполнения работы

Постановка задачи

Допустим, что нам надо исследовать работу мастерской по ремонту техники. В мастерскую поступают для ремонта те или иные изделия с интервалом 29±3 единицы времени с равномерным законом распределения. Известно время ремонта поступающих в систему изделий. Оно колеблется в пределах 27±6 единиц времени с равномерным законом распределения. Требуется определить параметры функционирования системы.

 

Создание имитационной модели

Допустим, что имитационная модель выглядит так, как показано на рисунке 1.

Рисунок 1 - Имитационная модель ремонтной мастерской REM_MASTER

 

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

Для получения активного требования будет использоваться команда STOP.

Транслирование модели

Для транслирования модели выполните следующие действия:

• щелкните по пункту Commandглавного меню. Появится контекстное меню;

• щелкните по пункту Create Simulation(Создать выполняемую модель) выпада ющего меню. Появится окно JOURNALс сообщениями о результатах трансляции. Сообщения будут выглядеть, например, так, как показано на рисунке 2.

Рисунок 2 - Окно JOURNAL для имитационной модели REM_MASTER


Поскольку на данный момент активным становится окно JOURNAL, то оно перекрывает окно модели.

 

Открытие диалогового окна BLOCK ENTITIES

Для открытия диалогового окна BLOCK ENTITIESвыполните следующие действия:

• щелкните по пункту Windowглавного меню. Появится контекстное меню;

• щелкните по пункту Simulation Window(Окно моделирования) выпадающе- го меню. Появится всплывающее меню;

• щелкните по пункту Blocks Window(Окно блоков) всплывающего меню. Появится диалоговое окно BLOCK ENTITIES(Блочные элементы), показанное на рисунке 3;

 
 

Рисунок 3 - Диалоговое окно BLOCK ENTITIES

• щелкните дважды по первому блоку – GENERATE;

• щелкните по кнопке Place(Разместить) на панели инструментов в верхней части диалогового окна BLOCK ENTITIES.

 

Моделирование системы

Для моделирования системы выполните следующие действия:

• щелкните по пункту Commandглавного меню. Появится контекстное меню;

• щелкните по пункту START. Появится диалоговое окно Start Command, по- казанное на рисунке 4;

 

 

Рисунок 4 - Диалоговое окно Start Command

 

• вместо 1 введите 1000 – это число изделий, которые предполагается отремонтировать в мастерской;

• щелкните по кнопке OK.

 

Просмотр сообщений

Чтобы просмотреть сообщения в окне JOURNAL, выполните следующие действия:

• щелкните по пункту Windowглавного меню. Появится контекстное меню, показанное на рисунке 5.

 

 

Рисунок 5 - Контекстное меню пункта Window главного меню

 

В нижней части выпадающего меню сообщается, что на данный момент в системе GPSSW открыты три окна:

1 REM_MASTER– окно модели под именем REM_MASTER;


REM_MASTER.1.sim – JOURNALдля модели под именем REM_ MASTER. Следует обратить внимание, что сообщения, появляющиеся в окне JOURNAL, имеют расширение .sim;

REM_MASTER.1:2 – BLOCK ENTITIESдля модели REM_ MASTER.

- Перед названием последнего окна стоит галочка. Значит, в данный момент оно является активным. Щелчком левой кнопки мыши можно активизировать любое открытое окно;


• щелкните по названию второго окна – REM_MASTER.1.sim – JOURNAL. Появится окно с сообщением об останове, показанное на рисунке 6.

 
 

Рисунок 6 - Окно JOURNAL c сообщением об останове в модели REM_MASTER

Вернемся к диалоговому окну BLOCK ENTITIES, щелкнув по нему на видимой его части. Оно выйдет на передний план. Затем для создания активного требования:

• щелкните по первому блоку – GENERATE(Генерировать);

• щелкните по кнопке Remove(Удалить) на панели инструментов в верхней части диалогового окна.

 

Таким образом, мы создали активное требование. Теперь можно присвоить ему имя и значение. Для этого:

• щелкните по пункту Commandглавного меню. Появится контекстное меню;

• щелкните по пункту Custom(Заказать) выпадающего меню. Появится диалоговое окно Simulation Command,в котором введите оператор ASSIGN(Присвоить), например, в виде, представленном на рисунке 7;

 

- Рисунок 7 - Диалоговое окно Simulation Command

 

• щелкните по кнопке OK.

 

Активное требование теперь имеет параметр требования по имени Cena, содержащий заданное значение.

Для просмотра всех параметров этого требования, в том числе и вновь введенного параметра под именем Cena, выполните следующие действия:

• щелкните по пункту Windowглавного меню. Появится контекстное меню;

• щелкните по пункту Simulation Snapshot(Снимок моделирования) выпада- ющего меню. Появится всплывающее меню;

• щелкните по пункту CEC Snapshot. Появится окно CURRENT EVENTS CHAIN SNAPSHOT(Снимок цепи текущих событий);

• щелкните в нем по пиктограммам, расположенным слева, – по всем пиктограммам со знаком +. Тогда окно может выглядеть так, как показано на рисунке 8.

Рисунок 8- Снимок цепи текущих событий в модели REM_MASTER

Теперь закройте окно снимка CEC в модели REM_MASTER, щелкнув мышью по кнопке закрытия (с крестиком), расположенной в верхнем правом углу окна. Можно также просмотреть значение параметра активного требование с помощью команды SHOW(Показать). Для этого:


• щелкните по пункту Commandглавного меню. Появится контекстное меню;

• щелкните по пункту SHOW. Появится диалоговое окно Show Command(Показать команду), в котором введите имя активного требования – P$Cena. Это будет выглядеть так, как изображено на рисунке 9;

 


Рисунок 9 - Диалоговое окно Show Command


• щелкните по кнопке OK. Значение параметра P$Cena появится в окне JOURNALи в строке состояния в нижней части главного окна системы GPSSW;

• активизируйте окно JOURNALс помощью выпадающего меню пункта Windowглавного меню – об этом говорилось выше. Появится окно с фик- сацией введенного значения нового параметра требования, показанное на рисунке 10.

Рисунок 10 - Окно JOURNAL для модели REM_MASTER

Теперь попробуем использовать оператор TRACE(Трассировать). Для этого:

• щелкните по пункту Commandглавного меню. Появится контекстное меню;

• щелкните по пункту Customвыпадающего меню. Появится диалоговое окно

Simulation Command, в котором введите оператор TRACE;

• щелкните по кнопке OK. Появится дополнительное сообщение в окне JOUR- NAL(Журнал) с фиксацией времени и номера требования.

Это действие имеет тот же самый эффект, как если бы активное требование пропустили через блок TRACE. Индикатор следа для активного требования те- перь включен. Чтобы продолжить моделирование:

• щелкните по пункту Commandглавного меню. Появится контекстное меню;

• щелкните по пункту Continue(Продолжить) выпадающего меню. Процесс мо- делирования продолжится. Появится измененное окно JOURNAL, показанное на рисунке 11.

 

 

 

Рисунок - 11. Измененное окно JOURNAL для модели REM_MASTER

Заметьте, что в окне JOURNALкаждый вход в блок TRACEкончается следом, потому что индикатор следа требования включен.

Система GPSSW может также вызывать командные файлы, состоящие из инструкций INITIAL(Инициализировать) или других команд. Это можно делать или в интерактивном режиме, вводя команду INCLUDE(Включить) в диалоговом окне Custom Command(Заказные команды), или помещая инструкции в модель.

Допустим, наша программа под названием REM_TEL2.GPS будет выглядеть так, как изображено на рисунке 12.

 

 
 

 


Рисунок 12 - Программа моделирования Rem_tel2

 

Но мы хотим изменить значения двух сохраняемых величин: X1 и X2. Для этого мы должны создать текстовый файл, в котором будут находиться их новые значения:

• щелкните по кнопке New(Создать) – первой кнопке на стандартной панели инструментов с изображением чистого листа. Появится диалоговое окно Новый документ, показанное на рисунке 13;

 
 

 

 


Рисунок 13 - . Диалоговое окно Новый документ

 

• щелкните по опции Text File(Текстовый файл), а затем – по кнопке OK. Появится текстовое окно под названием Untitled Text File 1(Неименованный текстовый файл 1);

• введите в текстовом окне необходимые начальные значения так, как показано на рисунке 14;

 
 

 
 


Рисунок 14 - Текстовое окно

Untitled Text File 1

 

 

Рисунок 15 - Диалоговое окно Сохранить как

 

 

• щелкните по кнопке Save(Сохранить) – третьей кнопке с изображением дискеты на стандартной панели инструментов. Появится диалоговое окно Сохранить как, показанное на Рисунок - 18;

• введите в текстовом поле Имя файла:имя файла, например Rem_tel2;

• выберите в раскрывающемся списке Тип файла:– Text File (*.txt);

• щелкните по кнопке Сохранить.




Теперь можно переходить к использованию текстового файла. Для этого:

• щелкните по пункту Commandглавного меню. Появится контекстное меню;

• щелкните по пункту Create Simulation(Создать выполняемую модель) выпа- дающего меню. Появится окно JOURNALс сообщениями о результатах трансляции;

• щелкните по пункту Commandглавного меню. Появится контекстное меню;

• щелкните по пункту Customвыпадающего меню. Появится диалоговое окно

Simulation Command, показанное на рисунке 16;

• щелкните по кнопке OK. Появится окно JOURNALс сообщением о результатах включения текстового файла. Сообщение будет выглядеть так:

INCLUDE "Rem_tel2.txt"

• щелкните по пункту Commandглавного меню. Появится контекстное меню;

• щелкните по пункту Retranslate(Перетранслировать).

После этого можно переходить к моделированию процесса с уже новыми начальными значениями исходных величин. Для этого:

• щелкните по пункту Commandглавного меню. Появится контекстное меню;

• щелкните по пункту STARTвыпадающего меню. Появится диалоговое Start Command;

Рисунок16 - Диалоговое окно imulation Command


 

• введите нужное число заказчиков – пользователей мастерской, – например 100, и щелкните по кнопке OK. Появятся результаты моделирования с новы- ми начальными данными.

Можно текстовый файл ввести непосредственно в исходную модель. Это будет выглядеть так, как показано на рисунке 17.

 

Рисунок - 17. Имитационная модель Rem_tel2 с новыми начальными значениями

Отладка модели

Рассмотрим на конкретном примере отладку модели под названием REM_TEL1.GPS. Для этого:

• щелкните по пункту Fileглавного меню системы. Появится контекстное меню;

• щелкните по пункту Newвыпадающего меню. Появится диалоговое окно Новый документ;

• выделите пункт Modelи щелкните по кнопке ОК. Появится окно модели, в котором введите программу, показанную на рисунке 18.

Во введенной программе в самом начале добавлен оператор QTABLE, например, с меткой Time_ojid (Время ожидания) для сбора информации и построения соответствующей гистограммы функционирования очереди под именем, скажем, Remont.


 

 

Рисунок 18 - Окно имитационной модели ремонтной мастерской Rem_tel1

Чтобы вызвать окно для представления имитационной модели в системе GPSSW, можно также нажать комбинацию клавиш Ctrl+Alt+S.

Предварительно назначим чаще всего используемым командам соответствую- щие функциональные клавиши для данной модели. Для этого:

• щелкните по пункту Edit(Правка) главного меню системы. Появится выпа- дающее меню;

• щелкните по пункту Settings(Установки) выпадающего меню. Появится соответствующее диалоговое окно для данной программы;

• щелкните по вкладке Function Keys(Функциональные клавиши), а затем по кнопке ОК. Появится соответствующая вкладка;

• введите в текстовые поля F8и F9соответственно команды SHOW P$N_zakaz и SHOW X$N_zakaz. Это будет выглядеть так, как показано на рисунке 19;

• щелкните по кнопке OK.

 

 
 

Рисунок 19 - Окно SETTINGS для модели ремонтной мастерской Rem_tel1

 

Эти действия обеспечили возможность вызова двух команд – SHOW P$N_zakaz и SHOW X$N_zakaz – с помощью соответственно клавиш F8и F9. Это поможет сэкономить много времени при моделировании и использовании различных исходных данных.

Теперь перейдем к этапу трансляции модели. Для этого:

• щелкните по пункту Commandглавного меню системы или нажмите комби- нацию клавиш Alt+C. Появится контекстное меню;

• щелкните по пункту Create Simulation(Создать выполняемую модель) выпадающего меню.

Затем откроем окно BLOCK ENTITIES(Блочные элементы). Для этого:

• щелкните по пункту Windowглавного меню системы. Появится контекстное меню;

• щелкните по пункту Simulation Windowвыпадающего меню. Появится всплывающее меню;

• щелкните по пункту Blocks Windowво всплывающем меню. Появится диалоговое окно BLOCK ENTITIES. В нашей задаче оно выглядит так, как показано на рисунке 20.


Рисунок 20 - Диалоговое окно BLOCK ENTITIES для модели Rem_tel1

Теперь поместим условие остановки требования (заказчика) на блоке 5.

Для этого:

• щелкните по пункту Commandглавного меню системы. Появится контекстное меню;

• щелкните по пункту Custom(Заказать) выпадающего меню. Появится диалоговое окно Simulation Command;

• введите в текстовом поле STOP 5 (Остановить на блоке 5). Это будет выглядеть так, как изображено на рисунке 21;

• щелкните по кнопке ОК. Появится окно JOURNAL.

 

Рисунок 21 - Диалоговое окно Simulation Command

 

Расположите окна JOURNALи BLOCK ENTITIESтак, чтобы можно было видеть каждое из них, а остальные пока скройте, то есть щелкните по кнопке со знаком подчеркивания (Свернуть) – первой в верхнем правом углу окна.

Для перемещения окна наведите курсор мыши на заголовок окна – верхнее си- нее поле, – нажмите левую кнопку мыши и, удерживая ее нажатой, переместите окно в нужное место, затем отпустите кнопку. Для уменьшения или увеличения размеров окна подведите курсор к любой его границе. Указатель мыши преобразуется в двустороннюю стрелку; нажав левую кнопку, перемещайте курсор, а вместе с ним и границу в нужном направлении.

Для показа окон:

• щелкните по пункту Windowглавного меню системы. Появится контекстное меню;

• щелкните по пункту Tile(Мозаика) выпадающего меню. Окна разместятся друг под другом так, как показано на рисунке 22.

 

 

Рисунок 22 - Главное окно системы с двумя окнами – JOURNAL и BLOCK ENTITIES – до начала моделирования для модели Rem_tel1

Теперь перейдем к моделированию системы:

• щелкните по пункту Commandглавного меню системы или нажмите комби- нацию клавиш Alt+C. Появится контекстное меню;

• щелкните по пункту STARTвыпадающего меню. Появится диалоговое окно Start Command, в котором укажите число прогонов модели, например 100, и щелкните по кнопке ОК. В ранее открытые окна добавится информация, и эти окна будут выглядеть так, как изображено на рисунке 23.

 

Рисунок 23 - Главное окно системы с двумя окнами – JOURNAL и BLOCK ENTITIES – после начала моделирования для модели Rem_tel1

 

В окне JOURNALвы видите сообщение о том, что требование остановилось на блоке 5. В окне BLOCK ENTITIESперед блоком 5 (5 QUE QUEUE …) останови- лось требование (транзакт) в виде маленького прямоугольника.

Теперь мы сделаем один шаг в моделировании с использованием функциональной клавиши F5, которая по умолчанию соответствует команде STEP 1(см. рисунке 22). В окна JOURNALи BLOCK ENTITIESснова добавится информация. Поскольку мы назначили функциональные клавиши F8и F9соответственно командам SHOW P$N_zakaz и SHOW X$N_zakaz, то в любой момент, нажав на эти клавиши, можем в окне JOURNALполучить численные значения стандартных числовых атрибутов P$N_zakaz и X$N_zakaz.

Теперь, когда мы умеем управлять активным требованием (заказчиком), давайте снимем условие остановки. Для этого:

• щелкните по пункту Windowглавного меню системы. Появится контекстное меню;

• щелкните по пункту Simulation Snapshot(Снимок моделирования) выпада- ющего меню. Появится диалоговое окно Stop Conditions(Условия останов- ки). Оно будет выглядеть так, как показано на рисунке 24;

 

Рисунок 24 - Диалоговое окно Stop Conditions

• щелкните по числу 5 для выделения строки;

• щелкните по кнопке Remove– выделенная строка исчезнет;

• щелкните по кнопке OK. Условие остановки в примере будет снято. Об этом появится следующее сообщение в окне JOURNAL:

STOP 5,0,OFF

Можно посмотреть некоторые другие показатели работы моделируемой систе- мы, например текущее содержание очереди, которое выводится с помощью соответствующего стандартного числового атрибута Q$Remont. Для этого:

• щелкните по пункту Commandглавного меню системы или нажмите комбинацию клавиш Alt+C. Появится контекстное меню;

• щелкните по пункту SHOW(Показать) выпадающего меню. Появится диалоговое окно Show Command, в котором укажите искомый показатель – Q$Remont. Это будет выглядеть так, как представлено на Рисунок - 25;

 

Рисунок 25 - Диалоговое окно Show Command

• щелкните по кнопке OK. Искомый показатель появится в окне JOURNAL

и в строке состояния в нижней части главного окна системы GPSSW.

Нажимая на функциональную клавишу F5, мы на каждом шаге можем просмот- реть, что же происходит во время работы системы.

Можно просмотреть требования и в другом окне – TABLE WINDOW. Для этого:

• щелкните по пункту Windowглавного меню системы. Появится контекстное меню;

• щелкните по пункту Simulation Windowвыпадающего меню. Появится всплывающее меню:

• щелкните по пункту Table Window(Окно гистограммы) во всплывающем меню. Появится диалоговое окно Open Table Window(Открыть окно гистограммы) ( рисунок 26).

 

Рисунок 26 - Диалоговое окно Open Table Window

• щелкните по кнопке OK. Появится окно TABLE WINDOWc соответствующей гистограммой (рисунок 27).

На этой гистограмме можно увидеть распределение времени ожидания заказчиков ремонта. Среднее время ожидания составляет 13,070 мин, стандартное отклонение – 2,912 мин.

Рисунок 27 - Диалоговое окно TABLE WINDOW для модели Rem_tel1