Система имитационного моделирования GPSS. Лабораторная работа № 1

МОДЕЛИРОВАНИЕ ПРОСТЫХ ИНФОРМАЦИОННЫХ ПРОЦЕССОВ НА КОМПЬЮТЕРЕ

Цель работы: знакомство с системой имитационного моделирования 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, то командная строка будет такой:

Gpss.bat EX1.GPS

Если моделирование прошло успешно, то в нижней части экрана DOS появляется строка для ввода команды. Для выхода из программы нужно ввести в эту строку команду QUIT

Листинг выполненной модели будет находиться в файле fname.lst. Например, если исходный текст модели находился в файле EX1.GPS, то результат моделирования - в файле EX1.LST, который можно просмотреть с помощью любого текстового редактора, поддерживающего кодировку DOS (866).

Программа на языке GPSS состоит из пронумерованных операторов, располагающихся и выполняемых в порядке этих номеров. Операторы управления моделированием не нумеруются.

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

  1. Ознакомится с кратким описанием работы.
  2. Получить вариант задания у преподавателя (среднее значение и разброс времени генерации транзактов, среднее значение и разброс времени обслуживания устройства, число прогонов, параметры для построения таблицы равномерного распределения).
  3. Подготовить описания на языке GPSS и выполнить:
    • моделирование процесса прохождения заявок через устройство (пример 1);
    • получение статистических данных об очереди заявок (пример 2) при разном соотношении времен генерации и обслуживания заявок;
    • построение таблиц частоты попадания интервалов генерации при равномерном законе распределения (пример 3).
  4. Выполнить анализ результатов.
  5. Подготовить отчет о работе с представлением и объяснением полученных результатов

Следующая работа Главная страница

Hosted by uCoz