Лабораторная работа 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
Статьи к прочтению:
- Откроем окно объекта мой компьютер.
- Откройте и прочитайте главу настройка панели задач или главного меню.
С++ Создаем окно.
Похожие статьи:
-
Если в окне отображены пиктограммы (крупные или мелкие), то можно вручную или автоматически изменить порядок их размещения. В первом случае необходимо…
-
Открытие и сохранение документа
Лабораторная работа №1 ЗНАКОМСТВО С MICROSOFT OFFICE Цель работы: введение в MS Office; работа с окнами, панелями; работа с документами (просмотр, поиск,…