МОДЕЛИРОВАНИЕ ПРОСТЫХ ИНФОРМАЦИОННЫХ ПРОЦЕССОВ НА КОМПЬЮТЕРЕЦель работы: знакомство с системой имитационного моделирования GPSS/PC, с подготовкой задания на моделирование, выполнением анализа и обработкой результатов моделирования. Краткие сведения о GPSS/PCСистема имитационного моделирования общего применения GPSS/PC (General Purpose Simulation System) предназначена для описания и исследования дискретных моделей систем массового обслуживания (СМО). ВС, рассматриваемая как СМО, состоит из элементов, называемых объектами аппаратной категории (устройства, памяти и логические ключи). Этими элементами могут быть компьютеры, отдельные устройства компьютеров, устройства телеобработки и т.п. Динамическими объектами в СМО являются транзакты (сообщения, заявки), это решаемые в ВС задачи, которые представляют собой единицы исследуемых потоков. Функционирование СМО представляется как процесс прохождения транзактов через фиксированную структуру объектов аппаратной и ряда других категорий. Блоки генерации и удаления транзактовGENERATE Tcp,Tм,Тн,Кт,Пр,Кп,Рп - блок генерации транзактов Тср - средний интервал времени между последовательными транзактами; Тм - разброс интервала времени относительно Тср; Тн - время появления первого транзакта; Кт - количество генерируемых транзактов; Пр - приоритет транзактов; Кп - количество параметров транзакта; Рп - размер памяти для одного параметра. TERMINATE Nз - блок удаления транзакта Nз - уменьшение счетчика числа завершений на величину Nз. Блоки занятия и освобождения приборовSEIZE Ип - блок занятия прибора Ип - имя прибора, подлежащего занятию транзактом. RELEASE Ип - блок освобождения прибора Ип - имя освобождаемого прибора. Операторы вычислительной категорииИп VARIABLE АВ - оператор описания целой переменной Ип FVARIABLE АВ - оператор описания действительной переменной Ип BVARIABLE ЛВ - оператор описания булевской переменной Ип - имя переменной АВ - арифметическое выражение ЛВ - логическое выражение. SAVEVALUE И,П - оператор изменения сохраняемой величины И - имя или номер изменяемой ячейки П - значение, которое надо записать в ячейку. Блок задержки транзактовADVANCE Тср,Тм - параметры блока соответствуют параметрам блока GENERATE. Пример 1:процесс прохождения заявок, поступление которых подчиняется равномерному закону со средним значением 8 и интервалом [6,10] единиц времени, а обработка - равномерному закону со средним 5 и интервалом [2,8], можно описать программой: GENERATE 8,2 генерация транзактов SEIZE DEV занятие прибора ADVANCE 5,3 задержка транзакта RELEASE DEV освобождение прибора TERMINATE 1 уничтожение транзакта В процессе выполнения программы собирается стандартная статистическая информация, которая автоматически выводится на печать по окончании моделирования. Выходные статистические данные для блоков (BLOCK COUNTS) содержат текущее (CURRENT) и общее (TOTAL) показания счетчиков числа входов для каждого блока. В стандартном выводе статистической информации по устройствам представлена следующая информация: номер (имя) устройства (FACILITY), число входов или обслуживаний (ENTRIES), коэффициент использования устройства (UTIL.), среднее время одного обслуживания (AVE.TIME). Блоки занятия и освобождения очередиТранзакт помещается в очередь в том случае, когда некоторое устройство не в состоянии обслужить его немедленно (например, устройство занято, либо память переполнена). Статистические данные об очередях могут быть получены с помощью двух типов блоков: QUEUE Ио,К - блок занятия очереди Ио - имя очереди; К - количество мест в очереди, занимаемое транзактом. DEPART Ио,К - блок освобождения очереди Ио - имя очереди; К - количество мест в очереди, освобождаемое транзактом.Блок QUEUE может быть помещен перед любым блоком модели, в котором может возникнуть задержка. Отметим, что очередь к занятому устройству автоматически организуется пакетом моделирования независимо от того, есть в программе блок QUEUE или нет. По очередям печатается информация: имя или номер очереди(QUEUE), максимальная длина очереди за время моделирования (MAX),минимальная длина очереди (CONT.), число входов в очередь (ENTRIES), число входов в очередь без последующего ожидания - нулевые входы (ENTRIES(0)), средняя длина очереди (AVE.CONT), среднее время пребывания в очереди (AVE.TIME), среднее время пребывания в очереди при учете только ненулевых входов(AVE.(0)). Пример 2:в условиях предыдущей задачи необходимо получить статистические данные об очереди заявок, ожидающих обслуживание в приборе: GENERATE 8,2 QUEUE SER SEIZE DEV DEPART SER ADVANCE 5,3 RELEASE DEV TERMINATE 1 Построение гистограммСистема GPSS позволяет строить дополнительные статистические таблицы для получения частотных распределений определенных аргументов, которыми могут быть некоторые СЧА (например, времени задержки транзакта в отдельных частях модели; длин очередей; содержимого памяти и т.п.). У каждой таблицы имеются определенные области значений аргумента. Число попаданий аргумента в каждую из этих областей регистрируется системой автоматически. В конце эксперимента результаты в таблицах выводятся на печать. ИТ TABLE Ип,Нл,Ш,Ки - оператор описания таблицы ИТ - имя таблицы Ип - имя переменной, значение которой табулируется Нл - левая граница первого интервала таблицы Ш - ширина интервалов таблицы Ки - количество интервалов таблицы, увеличенное на 2. ИТ QTABLE Ио,Нл,Ш,Ки - оператор описания таблицы времени пребывания в очереди Ио - имя очереди. MARK Nt - блок отметки Nt - номер параметра транзакта, в который заносится момент вре- мени входа транзакта в данный блок. TABULATE Ит,Вк - блок табулирования Ит - имя таблицы, в которую заносится табулируемая величина Вк - весовой коэффициент, задающий число раз занесения величины в таблицу при каждом входе в блок. Пример 3:получить таблицу распределения интервалов заявок по равномерному закону в интервале от 0 до 100: * AAA1 VARIABLE C1-X1 вычисление значения переменной ААА1 как * разность текущего значения времени моделирования и предыдущего, * сохраняемого в ячейке 1 GENERATE 50,50 генерация транзактов по равномерному закону TABULATE TAB1 блок табулирования времени SAVEVALUE 1,C1 cохранение в ячейке 1 текущего времени TERMINATE 1 удаление транзакта TAB1 TABLE V$AAA1,5,5,22 формирование таблицы частоты попадания * интервалов генерации транзактов в интервалы временной оси от 0 * до 100 с шагом 5 В таблицах печатается информация: имя таблицы (TABLE), среднее значение аргумента (MEAN), стандартное отклонение (STD.DEV); а также табличные значения: диапазон интервала (RANGE), частота попадания в интервал (FREQUENCY), накопленная относительная частота (CUM.%). Подготовка и выполнение моделирования в GPSS/PCЗапуск системы выполняется с помощью команды Gpss.bat fname , где fname - имя файла. Например, если нужно выполнить запуск модели, содержащейся в файле EX1.GPS, то командная строка будет такой:
Если моделирование прошло успешно, то в нижней части экрана DOS появляется строка для ввода команды. Для выхода из программы нужно ввести в эту строку команду QUIT Листинг выполненной модели будет находиться в файле fname.lst. Например, если исходный текст модели находился в файле EX1.GPS, то результат моделирования - в файле EX1.LST, который можно просмотреть с помощью любого текстового редактора, поддерживающего кодировку DOS (866). Программа на языке GPSS состоит из пронумерованных операторов, располагающихся и выполняемых в порядке этих номеров. Операторы управления моделированием не нумеруются. Порядок выполнения работы
|