Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Упражнение  1. Первая программа



Для открытия Главного Окна системы нужно последовательно нажать кнопки Пуск/Программы и щелкнуть по пункту GPSS World.

Для открытия файла с моделью выберем File/ Open. После раскрытия папки Sample Models и указания типа интересующих нас файлов (с расширением .gps) вы­свечивается список моделей. Для поиска конкретной модели можно воспользоваться горизонтальной прокруткой. Щелчок по выбранному файлу выделяет его. Нажатием [ОК] открываем Окно Моделей и в нем - программу выбранной модели.

Выберите в папке Sample Models файл sample 1. gps. Операторы про­граммы не содержат номеров строк. Однако GPSS/ W использует порядковые но­мера строк для указания места ошибок и других функций. По этим номерам работают команды Search/ Go To Line . . . Считанный файл с программой непосредственно не готов к прогону - требуется его компиляция.

Изучим некоторые установки и пункты меню и правила работы с ними. Глав­ное Меню - начальная среда GPSS/W. Панель инструментов содержит стандартные иконки текстовый редакторов и дополнительных пояснений не требует.

Пункт File можно использовать для вывода текста модели в Окно Модели. Из текста компиляцией создается отдельный объект - Имитация. С этого момента все взаимодействия заносятся в Окно Журнала или в окна различных сущностей. Вставим блок BUFFER после GENERATE. Для этого, установив мышью курсор на GENERATE, через меню Edit/ Insert Line добавим пустую строку. Курсор будет выставлен в начале но­вой строки непосредственно перед строкой с QUEUE Barber. Напечатаем в новой строке BUFFER. Старайтесь размещать типы блоков («глаголы» GPSS) один под другим - это не обязательно, но сделает программу более читаемой.

Используем команду File/ Save As. . . для сохранений модели в файле с дру­гим именем. Появится окно диалога. Введем в него имя tmp вместо текущего имени и нажмем Save. Имя файла вверху Окна Модели меняется на tmp. Закроем этот файл. В режиме открытия файла убеждаемся в том, что он был сохранен в папке Samples.

Не забудьте удалить этот файл после завершения сеанса, чтобы не засорять «образцовую» папку. То же относится ко всем «технологическим отходам» процесса освоения GPSS/ W. По аналогичным соображениям для собственной практической ра­боты создайте отдельную папку.

Установки модели задаются через Edit/ Settings. Все Установки - штатные или измененные - привязываются к конкретной модели и производным от нее объектам, в частности, к Имитации. Ознакомьтесь с содержанием страницы Simulation. Обратите внимание на возможность переключения режимов знаков * и # - По умолчанию первый из них является признаком косвенной адресации, а второй знаком умножения. Будем иметь эту возможность в виду для собственных разработок, но пока оставим все как есть - иначе штатные примеры работать не будут. Заглянем на страницу Reports для ознакомления со средствами управления содержанием Отчета. Щелкнув по ОК, выйдем из блокнота Установок.

Выберем Command/ Create Simulation. По данной команде выполняется компиляция модели - создается Имитация. При этом автоматически открывается Окно
Журнала.
В него записываются все взаимодействия и сообщения GPSS/ W - в частности, информация о найденных синтаксических ошибках.                           

Познакомимся с Окном Блоков. Выберем Window/Simulation Window/Blocks Window. Появится детальный вид блоков в новом окне - см. рис. 1. Состояние окна для большей информативности дано на конец моделирования. После открытия Окна Блоков вы находитесь в детальном его режиме. Для перехода к обзорному следует вы­полнить команду View/ Entity Details. Режим детальности переключается повторным выбором этой команды независимо от активного окна.

Одновременно могут быть открыты несколько окон. Команды Window/ Tile и Window/ Cascade позволяют расположить открытые окна рядом и с частичным нало­жением соответственно. Щелчок мышью по любому месту окна делает его активным и выводит - при частичном перекрытии окон - на передний план. Вы можете изме­нить статус, размеры и положение активного окна стандартными средствами Windows. Статус меняется щелчком по одной из кнопок в верхнем правом углу окна - сворачива­ние, частичное и полноэкранное представление; размер регулируется протаскиванием мышью за угол или сторону. Окно перемещается протаскиванием заголовка.

Выберем, наконец, Command/ START. Когда откроется диалог, заменим 1 на рас­четное число обработанных транзактов (скажем, 5000) и нажмем ОК. Имитация запу­стится. Щелкнем мышью по любому месту в Окне Блоков, чтобы сделать его активным и наблюдать динамику модели. Свернем окно, щелкнув по [-] в его верхнем правом углу. Внизу Главного Окна (выше статусной строки) появится иконка свернутого окна, щелчок мышью по которой позволяет быстро восстановить его. Восстановим окно и затем закроем его, щелкнув по [х] в верхнем правом углу. Напомним, что открытые (хотя бы и свернутые) окна многократно замедляют моделирование. Поэтому всегда закрывайте окна, которыми не пользуетесь в данный момент.

 

Рисунок 1. Окно Блоков

После закрытия окон моделирование ускорится и быстро завершится. Автома­тически откроется Окно Отчета. Для удобства рассмотрения расширьте окно протя­гиванием мышью его границы. Распечатайте отчет нажатием кнопки с изображением принтера. Изучите отчет. Обратите внимание на расчетное число заявок, прошедших блок TERMINATE, и большое скопление заявок в очереди. Последнее объясняется тем, что система при заданных параметрах не справляется с нагрузкой.

Для завершения сеанса выберите команды File/ Exit. На вопрос о сохранении изменений ответьте No.

Обсудим эту простейшую имитацию. Формально она относится к моделированию одноканальной системы обслуживания с неограниченной очередью, а содержательно - к классической задаче моделирования работы парикмахерской, хотя, разумеется, может иметь другие интерпретации. Клиенты прибывают в среднем каждые 300 с модельно­го времени. Парикмахер тратит на стрижку в среднем 400 с. Значит, теоретический коэффициент загрузки системы р - 400/300 = 1.33 .

Снова запустим GPSS World. Выберем команды File/ Open, откроем папку Sample Models и в ней - Samplel. gps. Откомпилируем эту модель: Command/ Create Simulation.

Перед началом моделирования закажем график одной из характеристик модели в Окне Графиков. GPSS обеспечивает большой набор встроенной статистики, или СЧА. В данном случае имеет смысл рассмотреть Q $ Barber, представля­ющий длину очереди. Выберем команды: Window / Simulation Window / Plot Window .

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

– в поле Label - наименование кривой (легенда);

– в поле Expression - выводимая зависимость (в нашем случае Q$Barber);   

– в поле Title - наименование графика в целом;

– в поле X - максимальное значение абсциссы (системного времени) 40000, а
в поле Y - максимальное значение длины очереди (200).

Предельное значение системного времени определялось из расчета завершения обслу­живания 100 заявок, приходящих с интервалами 400 единиц времени. Отметим, что в полях наименований допустимо использование кириллических шрифтов.

Рисунок 2. Диалог настройки графика

Закончив ввод, щелкнем по кнопкам Plot и ОК. На экране увидим коор­динатные оси. Собственно график появится после начала моделирования. Он пока­зан на рис. 3. Введем команду START 100. Через несколько секунд (в зависимости от быстродействия компьютера) моделирование закончится. GPSS/ W выдаст в ста­тусной строке (внизу Главного Окна) сообщения The Simulation has Ended и затем - Report is Complete. Отметим, что значение Q$ Barber на графике меняется скач­кообразно. Отчет можно анализировать, прокручивая содержимое окна и изменяя его размеры либо выведя на печать. Закроем окно, щелкнув по [х].

Рассмотрим некоторые результаты. Сделаем активным Окно Журнала, выберем Command/ SHDW и напечатаем С1. В статусной строке будет выведено относительное си­стемное время на момент окончания моделирования - то же, что в Журнале.

Аналогичным образом посмотрим СЧА QM$ Barber - максимальную длину оче­реди в процессе моделирования. При желании можете проверить значения других СЧА.

Рисунок 3. График изменения очереди

GPSS/ W позволяет просматривать состояние модели многими различными спо­собами. Каждый из основных типов сущностей GPSS имеет окно для отображения их динамики. Можно открыть Окно Выражений, которое содержит список заявленных PLUS-выражений - в простейших случаях переменных или СЧА. Выберем: Window/ Simulation Window/ Expressions Window и затребуем системное время, длину, очереди и номер активного транзакта. В поле Label напечатаем Clock, в поле Expression - АС1. Щелкнув по соответствующим кнопкам, выберем опции View и Memorize. Первая из них позволит видеть значение выражения только в текущем прогоне, а вторая - использовать в будущих прогонах. Аналогичные операции нужно выполнить для остальных интересующих нас выражений. Соответственно в разделе New Expression наберем и введем метки и выражения:

Barber Queue Q$Barber
Act Trans XN1

Закроем Окно Графиков и откроем Окно Устройств. Разместим два окна так, чтобы видеть оба, введем команду START 20000, NP и, остановив процесс по F4, про­наблюдаем результаты моделирования работы сильно загруженного парикмахера.

Закроем Окна Выражений и Устройств и откроем Окно Блоков. Используем это окно для ввода контрольных остановов на траектории транзактов. Для останова выбе­рем блок DEPART. Щелкнем по иконке этого блока, а затем по иконке с изображением красного светофора Place (Поместить) отладочной панели. Сделаем активным Окно Журнала. Передвинем это окно так, чтобы его можно было видеть вместе с Окном Блоков.

Теперь выберем Command/ Custom и введем в диалоговое окно команду трасси­ровки Trace. С этого момента каждый вход данного активного транзакта в новый блок вызовет появление в журнале (и Окне Журнала) трассировочного сообщения. Дело в том, что блок Trace был создан в режиме ручного моделирования, то есть для ра­зового использования. Он не становится постоянной частью модели и не повлияет на прохождение других транэактов. Выполним несколько шагов моделирования повтор­ным нажатием F5 и посмотрим в Окне Журнала сообщений трассировки. Журнал можно распечатать в любой момент, сделав активным Окно Журнала и выполнив ко­манду File/ Print.

Теперь удалим контрольный останов. Для этого сделаем активным Окно Блоков, щелкнем мышью по блоку DEPART, а затем по иконке Remove отладочной панели. Один или несколько остановов можно удалить также, выбрав:


Поделиться:



Последнее изменение этой страницы: 2019-04-11; Просмотров: 349; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.023 с.)
Главная | Случайная страница | Обратная связь