Вводные сведенияЛитература:1. Боев В.Д. Моделирование систем. Инструментальные средства GPSS World: Учеб. пособие. - СПб.: БХВ-Петербург, 2004. Пакет моделирования: Лабораторная работа № 1. МОДЕЛИРОВАНИЕ ПРОСТЫХ ИНФОРМАЦИОННЫХ ПРОЦЕССОВ НА КОМПЬЮТЕРЕЦель работы: знакомство с системой имитационного моделирования GPSS World, с подготовкой задания на моделирование, выполнением анализа и обработкой результатов моделирования. Краткие сведения о GPSS WorldСистема имитационного моделирования общего назначения GPSS (General Purpose Simulation System) предназначена для описания и исследования дискретных моделей систем массового обслуживания (СМО). Программа GPSS World разработана компанией Minuteman Software. Используемая для лабораторных работ, GPSS World Student Version является свободно распространяемой и ее можно скачать с официального сайта разработчика www.minutemansoftware.com . Вопросы и пожелания к разработчику можно посылать по адресу электронной почты Support@MinutemanSoftware.com . Вычислительные системы (ВС), которые будут рассматриваться как СМО, состоят из элементов, называемых объектами аппаратной категории (устройства, памяти и логические ключи). Этими элементами могут быть компьютеры, отдельные устройства компьютеров, устройства телеобработки и т.п. Динамическими объектами в СМО являются транзакты (сообщения, заявки), это решаемые в ВС задачи, которые представляют собой единицы исследуемых потоков. Функционирование СМО представляется как процесс прохождения транзактов через фиксированную структуру объектов аппаратной и ряда других категорий. Блоки генерации и удаления транзактовGENERATE A,B,C,D,E - блок генерации транзактов A - средний интервал времени между последовательными транзактами; B - разброс интервала времени относительно A; C - время начальной задержки; D - количество генерируемых транзактов, по умолчанию неограничено; E - приоритет транзактов, по умолчанию 0. TERMINATE A - блок удаления транзакта A - величина уменьшение счетчика числа завершений. Блоки занятия и освобождения приборовSEIZE A - блок занятия прибора A - имя прибора, подлежащего занятию транзактом. RELEASE A - блок освобождения прибора A - имя освобождаемого прибора. Блок задержки транзактовADVANCE A,B - блок задержки транзакта в цепи будущих событий A - средний интервал времени задержки; B - разброс интервала времени относительно A; Операторы и блоки вычислительной категорииName VARIABLE X - оператор описания целой переменной Name FVARIABLE X - оператор описания действительной переменной Name BVARIABLE X - оператор описания логической переменной Name - имя переменной; X - выражение соответствующего типа. SAVEVALUE A,B - блок сохранения значения сохраняемой величины A - имя или номер изменяемой ячейки; B - значение, которое надо записать в ячейку. Компиляция и запуск имтацииДля того чтобы создать модель необходимо запустить GPSS World. Выбрать пункт меню File->New и указать, что новый файл будет моделью (Model). После чего набрать текст программы на языке GPSS и откомпилировать ее, вызвав Command->Create Simulation. Если компилятор выдал сообщение об успешной компиляции:Model Translation Begun. Ready.то можно запустить имитацию Command->Start. Пример 1:Процесс прохождения заявок, поступление которых подчиняется равномерному закону со средним значением 8 и интервалом [6,10] единиц времени, а обработка - равномерному закону со средним 5 и интервалом [2,8], можно описать программой: GENERATE 8,2 ; генерация транзактов SEIZE DEV ; занятие прибора ADVANCE 5,3 ; задержка транзакта RELEASE DEV ; освобождение прибора TERMINATE 1 ; уничтожение транзакта Блоки занятия и освобождения очередиТранзакт помещается в очередь в том случае, когда некоторое устройство не в состоянии обслужить его немедленно (например, устройство занято, либо память переполнена). Статистические данные об очередях могут быть получены с помощью двух типов блоков: QUEUE A,B - блок занятия очереди A - имя очереди; B - количество мест в очереди, занимаемое транзактом. DEPART A,B - блок освобождения очереди A - имя очереди; B - количество мест в очереди, освобождаемое транзактом.Блок QUEUE может быть помещен перед любым блоком модели, в котором может возникнуть задержка. Отметим, что очередь к занятому устройству автоматически организуется пакетом моделирования независимо от того, есть в программе блок QUEUE или нет. Пример 2:В условиях примера 1 необходимо получить статистические данные об очереди заявок, ожидающих обслуживание на приборе: GENERATE 8,2 QUEUE SER SEIZE DEV DEPART SER ADVANCE 5,3 RELEASE DEV TERMINATE 1 Построение гистограммСистема GPSS позволяет строить дополнительные статистические таблицы для получения частотных распределений определенных аргументов, которыми могут быть некоторые СЧА (например, времени задержки транзакта в отдельных частях модели; длин очередей; содержимого памяти и т.п.). У каждой таблицы имеются определенные области значений аргумента. Число попаданий аргумента в каждую из этих областей регистрируется системой автоматически. В конце эксперимента результаты в таблицах выводятся на печать. Name TABLE A,B,C,D - команда описания таблицы частотного распределения Name - имя таблицы, A - имя переменной, значение которой табулируется, B - левая граница первого интервала таблицы, C - ширина интервалов, D - количество интервалов. Name QTABLE A,B,C,D - команда описания таблицы времени пребывания в очереди Name - имя таблицы, A - имя очереди, B - левая граница первого интервала таблицы, C - ширина интервалов, D - количество интервалов. MARK A - блок отметки времени A - номер параметра транзакта, в который заносится момент времени входа транзакта в данный блок. TABULATE A,B - блок табулирования A - имя таблицы, в которую заносится табулируемая величина, B - весовой коэффициент, задающий число раз занесения величины в таблицу при каждом входе в блок. Пример 3:Получить таблицу распределения интервалов заявок по равномерному закону в интервале от 0 до 100: AAA1 VARIABLE C1-X1 ; вычисление значения переменной ААА1 как разность ; текущего значения времени моделирования (C1) и предыдущего, ; сохраняемого в ячейке 1 (X1) GENERATE 50,50 ; генерация транзактов по равномерному закону TABULATE TAB1 ; блок табулирования времени SAVEVALUE 1,C1 ; cохранение в ячейке 1 текущего времени TERMINATE 1 ; удаление транзакта TAB1 TABLE V$AAA1,10,10,11 ; формирование таблицы частоты попадания ; интервалов генерации транзактов в интервалы временной оси ; от 0 до 100 с шагом 10 Статистика имитацииВ процессе выполнения программы собирается стандартная статистическая информация, которая автоматически выводится на печать по окончании моделирования. Содержание стандартного отчета:
|