Колледж связи





НазваниеКолледж связи
страница5/10
Дата публикации22.06.2014
Размер1.14 Mb.
ТипПояснительная записка
100-bal.ru > Информатика > Пояснительная записка
1   2   3   4   5   6   7   8   9   10
Тема 3.1. Основы моделирования в системе GPSSW.

Базовые понятия и определения

Система GPSSW, как вам уже известно, предназначена для моделирования дискретных (в основном, систем массового обслуживания) и непрерывных систем.

Система массового обслуживания

Система массового обслуживания – это совокупность последовательно связанных

между собой входящих потоков требований на обслуживание (машин, самолетов,

пользователей и т.д.), накопителей, очередей, каналов обслуживания (станций

техобслуживания, аэродромов, ЭВМ и т.д.) и выходящих потоков требований после обслуживания.

Входящий поток требований – это последовательность входящих требований,

нуждающихся в обслуживании в системе и подчиняющихся определенному закону.

Выходящий поток требований – это последовательность выходящих требований, обслуженных в системе и подчиняющихся определенному закону.

Требование (транзакт) – это объект, поступающий в систему и нуждающийся

в определенном обслуживании в данной системе. Требование является активным элементом в моделируемой системе. Под требованием можно понимать сообщение, машину, изделие, информацию, пользователя и т.д. Требование в системе GPSSW – это объект с набором определенных признаков, который

определяется уникальным номером. Объекты нумеруются последовательно,

начиная с номера 1.

Канал обслуживания – устройство, в котором выполняется обслуживание требования. Основным параметром канала обслуживания является время обслуживания, которое, как правило, является случайной величиной.

Накопитель (буфер) – это место временного расположения требований, нуждающихся в обслуживании. Накопители характеризуются не временем обслуживания требований, а емкостью – максимально возможным количеством одновременно находящихся в накопителе требований.

Имитационная модель

Имитационная модель – это формальное описание логики функционирования

исследуемой системы во времени, учитывающее наиболее существенные взаимодействия ее элементов и обеспечивающее возможность проведения статистических экспериментов.

Имитационная модель СМО – это модель, отражающая поведение системы

и изменения ее состояния во времени при заданных потоках требований, поступающих на входы системы. Параметры входных потоков требований – внешние параметры СМО. Выходными параметрами являются величины, характеризующие

свойства системы – качество ее функционирования, – например такие, как:

• коэффициенты использования каналов обслуживания;

• максимальная и средняя длина очередей в системе;

• время нахождения требований в очередях и каналах обслуживания и т.д. Имитационное моделирование – это численный метод определения параметров функционирования самых различных систем по многочисленным реализациям с учетом вероятностного характера протекания процесса.

Основой имитационного моделирования является метод статистических испытаний – метод Монте_Карло. Этот метод наиболее эффективен при исследовании

сложных систем, на функционирование которых оказывают существенное влияние случайные факторы.

Имитационное моделирование позволяет исследовать СМО при различных

типах входных потоков и разной интенсивности поступления требований в систему, а также различных дисциплинах обслуживания требований.

Модель в системе GPSSW – это последовательность операторов моделирования. Оператор моделирования может быть или оператором GPSS, или процедурой языка PLUS (Programming Language Under Simulation – Язык программирования для моделирования).

Представление времени в процессе имитации

При имитационном моделировании выделяют три представления времени: реальное, модельное (системное) и машинное время.

Реальное время – это время, в котором происходит функционирование моделируемой системы в реальной жизни, например час, смена, год.

Модельное (системное) время – это время, в котором происходит функционирование моделируемой системы при проведении имитационного моделирования

на ЭВМ. В системном времени выполняются следующие действия:

• осуществляется переход моделируемой системы из одного состояния в другое;

• выполняется синхронизация работы всех компонент имитационной модели;

• обеспечивается управление ходом имитационных экспериментов;

• обеспечивается параллельная реализация событий в моделируемой системе.

Машинное время – это время, отражающее затраты времени ЭВМ на проведение имитационного моделирования.

Система моделирования GPSSW основана на переходе требований (транзактов) от блока к блоку (от оператора к оператору) в определенные моменты времени, что называется событием.

Событие – это нечто, меняющее статус связанных с ним состояний системы.

События соответствуют конкретным изменениям в реальной системе: требование

появилось, требование вошло в очередь, требование обслуживается и т.д. При этом

прослеживается процесс моделирования с использованием как абсолютного времени (текущего), так и относительного (с начала прогона модели, с момента последней модификации или последнего сброса и т.д.). События характеризуются

условиями (или законом) возникновения и типом, который определяет порядок

их обработки (дисциплину обслуживания). Событие по существу представляет

собой мгновенное изменение некоторого элемента системы или состояния системы в целом. Очень важная особенность GPSSW заключается в том, что продолжительность

моделирования определяется не длительностью интервалов между событиями,

а числом событий, возникающих в системе. Поэтому переход на более мелкие единицы времени не увеличивает время моделирования.

Динамические элементы системы

Динамическими объектами системы являются требования (транзакты), которые

создаются и уничтожаются в определенные моменты времени моделирования той

или иной системы. Требования перемещаются от блока к блоку, которые имитируют реальные элементы моделируемой системы.

Поведение требования определяется его несколькими фазовыми переменными

(атрибутами, параметрами).

Параметры требования – это набор значений, связанных с требованием. Каждое требование может иметь любое число параметров. Каждый параметр имеет

номер – положительное целое число. Значение любого параметра активного требования может быть возвращено через стандартный числовой атрибут (StandardNumber Attribute, SNA) P или P$. Необходимо создать параметры требования и присвоить им значения до того, как они

будут использоваться. Параметрами могут быть:

приоритет, определяющий предпочтение, которое требование получает, когда оно вместе с другими требованиями ожидает один и тот же ресурс. Требования с более высокими приоритетными значениями получают предпочтение. Наиболее важные приоритетные очереди в моделировании – цепь текущих событий (Current Events Chain), цепи задержек каналов обслуживания (Facility Delay Chains) и цепи задержек накопителей (Storage Delay

Chains). Эффект приоритета заключается в том, что требование с более высоким приоритетом будет выбрано на обслуживание раньше требований

с низким приоритетом;

метка времени – абсолютное время – с начала моделирования или с момента входа требования в блок MARK (Метка) без операнда А;

номер ансамбля – положительное целое число, сохраняемое внутри каждого требования. Номера для ансамбля используются, чтобы синхронизировать требования в блоках ASSEMBLE (Объединить), GATHER (Со_

брать) и MATCH (Согласовать). Когда требование создается блоком

GENERATE, его номер для ансамбля устанавливается равным номеру

требования. Когда требование создается блоком SPLIT (Разделить), номер для ансамбля устанавливается равным номеру родительского требования. Можно изменить номер требования для ансамбля, используя блок

ADOPT (Принять);

индикатор задержки – флажок, сохраняемый в каждом требовании, который

устанавливается при входе в любой блок и сбрасывается при входе в блок

TRANSFER SIM. Он используется блоками TRANSFER SIM, чтобы переадресовать требования;

индикатор трассировки – флажок, сохраняемый в требовании, который заставляет генерировать сообщение трассы каждый раз, когда требование, входит в любой блок. Индикатор трассировки устанавливается блоком TRACE

(Трассировать) и сбрасывается блоком UNTRACE (Не трассировать);

текущий блок – номер блока, который содержит требование;

следующий блок – номер блока, в который требование будет пытаться войти

далее;

цепи состояния требования – в них требование постоянно находится. Считается, что требование может находиться в одном из нескольких состояний:

активное требование – самое приоритетное требование в цепи текущих событий;

приостановленное требование – оно ожидает в цепи будущих или текущих

событий, чтобы стать активным;

пассивное требование – оно при моделировании временно находится

в цепи пользователя (User Chain), задержки (Delay Chain) или ожидания

(Pending Chain);

удаленное требование – оно было удалено и больше не существует в системе моделирования.

Кроме того, имеются другие состояния, которые не являются взаимоисключающими с вышеуказанными:

выгруженное требование, которое выгрузилось из канала обслуживания и находится в одной или большем числе цепей прерываний;

• в любой момент во время дискретной стадии моделирования одно какое либо

требование пытается войти в новый блок GPSS. Это требование является

активным. Вообще, активное требование перемещается настолько далеко,

насколько это возможно в процессе моделирования. Когда оно не может перемещаться дальше, активизируется другое требование. При этом может

быть только одно активное требование. Активное требование – самое высокое приоритетное требование в цепи текущих событий.

Можно выделить стандартные числовые атрибуты, связанные с требованиями:

• A1 – определяет объединенный набор активных требований;

• MB$ или MB – возвращает 1, если имеется требование в блоке,

которое находится в том же самом наборе, что и активное требование. Иначе

возвращается 0;

• MP$ или MP – определяет время прохождения требования с заданным параметром, то есть текущее абсолютное время моделирования системы;

• M1 – время прохождения требования. M1 возвращает абсолютное время моделирования системы минус метка времени требования;

• P$, P или * – возвращает значение параметра активного

требования;

• PR – приоритет активного требования;

• XN1 – возвращает номер активного требования.

Именованные величины

В системе GPSSW используют символы обозначения и специальные символы.

Символы обозначения включают прописные буквы A–Z, строчные буквы a–z,

цифры 0–9 и символ _ (подчеркивание).

Специальные символы – это символы, используемые для обозначения операторов и пунктуации: # (решетка), * (звездочка), + (плюс), _ (минус), / (косая черта

направо), \ (косая черта налево) и , (запятая). Символ [^] также является оператором.

Для идентификации объектов, переменных и местоположения программы используются имена – последовательность символов. Существует несколько правил

для создания имени:

• можно использовать от 1 до 250 символов;

• имя должно начинаться с символа;

• имя не должно быть ключевым словом системы GPSSW.

Система GPSSW не различает в обозначениях верхний и нижний регистры

(прописные или строчные буквы). Только символы в строковых константах и комментариях сохраняют нижний регистр. Все другие символы строчных букв преобразуются в прописные.

Нельзя присваивать имена операторов, команд, а также стандартных числовых

атрибутов, используемых в системе. Чтобы избежать риска совпадения имени

с ключевыми словами системы GPSSW, включайте в имя знак подчеркивания где нибудь после первого символа, в середине или в конце. Используйте, по крайней

мере, 3 символа сначала, а затем цифры, так как имена в стандартных числовых

атрибутах имеют 1–2 буквы и цифру.

Именованные величины – это имена, размещаемые в поле меток или в операторе

присваивания языка PLUS. Если имена используются в качестве метки оператора

GPSS, они называются метками. Если они используются в команде EQU или операторе присваивания PLUS, они называются переменными пользователя. Именованные величины обычно имеют глобальную область использования, и к ним можно обращаться в любом месте модели.

Метка – имя, которое используется в команде создания объекта. В отличие от

переменных пользователя, меткам автоматически присваивается уникальное целое число больше 9999. Когда вы обращаетесь к помеченному объекту, система

GPSSW сначала восстанавливает номер объекта, сохраненный как значение метки. Номер объекта – строго положительное целое число, которое используется

объектом моделирования, чтобы найти или создать любой объект GPSS. Номер

объекта устанавливается системой GPSSW во время его создания. Однако если

вы хотите назначить другой номер объекту, используйте команду EQU, помещая

ее перед оператором определения объекта.__

Переменная пользователя – именованная величина, не используемая как метка

объекта, которой можно давать числовое или строковое значение и по которой

можно интегрировать, как по непрерывной переменной. Переменные пользователя нужно инициализировать, прежде чем их можно будет применять.

Большую роль в процессе моделирования играют величины, которые сохраняют свое начальное значение на протяжении всего процесса моделирования.

Сохраняемые величины – это величины, начальные значения которых задаются перед началом моделирования и к которым можно обратиться из любого места программы.

Матрица – это многомерный массив элементов. Массив в общем случае характеризуется размерностью и размером – числом элементов в каждой размерности.

Массив размерностью 1 представляет собой строку (столбец), а размер – это число элементов в строке (столбце). Массив размерностью 2 представляет собой прямоугольную таблицу, а размер – это число элементов в строке (столбце), умноженное на число строк (столбцов) в таблице. Матрицу размерностью 3 можно

представить в виде нескольких таблиц данных или результатов моделирования.

Матричный элемент – это любой элемент матрицы. Матричный элемент представляет собой индексированную величину.

Логические переключатели – объекты, которые могут находиться только в одном из двух состояний: установки или сброса.

Типы данных

Все переменные пользователя, матричные элементы, сохраняемые величины

и параметры требования могут иметь значение любого типа данных. В системе

выделяют три главных типа данных: целые, вещественные и строковые константы. Первые два относятся к числовому типу данных.

Целые константы – 32_разрядные целые числа. Если во время арифметических

операций происходит переполнение целого числа, то выполняется его преобразование к вещественному числу.

Вещественные константы имеют числа с двойной точностью с плавающей запятой. Они имеют точность 15 десятичных цифр и диапазон экспоненты от –306 до 306.

Строковая константа – последовательность символов ASCII, взятая в двойные

кавычки. Строковая константа может иметь любой размер, насколько позволит

память. Для создания и управления строковыми константами в системе имеется

множество строковых процедур, которые находятся в библиотеке процедур.

Строковые константы используются тогда, когда вы выводите результаты моделирования в файл результата. Вы можете также использовать строковые константы, чтобы формировать свои собственные специальные сообщения.

Элементы выражений

Элементы выражений – это основные стандартные блоки выражений, которые,

в свою очередь, могут использоваться в полях операндов операторов GPSS

и процедурах PLUS.

Элементами выражений могут быть:

• строковые константы, например "Go to metka";

• вещественные константы, например 201.6;

• целые константы, например 17;

• имена, например Kanal;

• элементы матрицы, например Massiv[P$Part,Q2+20];

• система числовых атрибутов, например AC1, F$My_Kran, MX$Mat1(2,1)

и SR*MY_PARM.

Арифметические целые переменные

Арифметические целые переменные определяются с помощью оператора

VARIABLE (Переменная). Перед оператором VARIABLE в поле меток ставится символьное или числовое имя переменной (идентификатор), а в поле переменных пишется арифметическое выражение, определяющее данную переменную, например:

19 VARIABLE Q2 + 3

Такая запись означает, что арифметическая переменная под номером 19, которую далее именуют V19, равна сумме числа требований в очереди под номером 2

(Q2) и константы 3.

SUM VARIABLE (P3 + P4)/5

Такая запись означает, что арифметическая переменная с символьным именем

SUM, которую далее именуют V$SUI, равна сумме значений 3_го и 4_го параметров

требования, деленных на 5.

Каждый раз при обращении к арифметическим переменным V19 или V$SUM их

значения будут рассчитываться по приведенным выше выражениям, составляющие которых в процессе моделирования могут менять свои значения.

Ссылки из любого места программы на арифметическую переменную вводятся

с помощью стандартного обозначения. Обращение к переменной с числовым или

с символьным именем в нашей задаче будет выполняться соответственно так: V19

и V$SUM.

Значение арифметической переменной может использоваться как:

• элемент другой арифметической переменной, булевой переменной;

• аргумент функции, таблицы;

• зависимое значение функции, задаваемое признаком;

• операнд операторов ASSIGN, INDEX, LOOP, SPLIT и др.

В арифметических выражениях допускаются следующие арифметические операции: + (сложение); _ (вычитание); * (умножение); / (деление).

Переменные вычисляются слева направо, причем операции умножения и деления обладают старшинством над операциями сложения и вычитания.

Арифметическое выражение образуется из целых констант, других арифметических переменных, стандартных числовых атрибутов, знаков арифметических

операций и круглых скобок.

Арифметические переменные

с фиксированной точкой

Арифметические переменные с фиксированной точкой определяются с помощью

оператора FVARIABLE. Перед оператором FVARIABLE в поле меток ставится

символьное или числовое имя переменной (идентификатор). После оператора

в поле переменных пишется арифметическое выражение, определяющее данную

переменную, например

PER FVARIABLE (S1-S$CAN)/5 + 3.6

Эта запись означает арифметическую переменную с фиксированной точкой

под символьным именем PER, которую далее именуют V$PER и которая равна

сумме разности текущих вместимостей накопителей под номером 1 и символьным именем CAN, деленной на 5, и десятичной константы с фиксированной точкой, равной 3,6.

Ссылка на арифметическую переменную с фиксированной точкой выполняет_

ся так же, как и на арифметическую переменную. В нашем примере это V$PER.

Арифметические выражения арифметической переменной с фиксированной

точкой образуются аналогично арифметической целой переменной.

Булевы переменные

Булевы переменные определяются с помощью оператора ВVARIABLE, в поле

меток которого ставится символьное или числовое имя (идентификатор) переменной, а в поле переменных пишется булево выражение. Булево выражение образуется из стандартных числовых атрибутов булевых переменных, знаков булевых

операций и условных операторов. Булево выражение принимает одно из двух значений: 1 или 0.

Вычислительные выражения

Вычислительные выражения представляют собой комбинацию математических

операторов, библиотечных функций, стандартных числовых атрибутов и констант, которые удовлетворяют правилам элементарной алгебры. Они вычисляются согласно иерархии операторов, перечисленных выше, и в направлении слева

направо. Порядок вычисления можно изменить с помощью круглых скобок, как

это делается в любом алгебраическом выражении.

Ниже представлены вычислительные и логические операторы, используемые

в системе GPSSW (табл. 2.1).

Таблица 2.1

Оператор Пример использования Описание

^ A ^ B Возведение в степень

# A # B Умножение

/ A / B Деление

\ A \ B Целочисленное деление. Возвращает результат

целочисленного деления А на B

@ A @ A Целочисленный остаток. Возвращает

целочисленный остаток от деления А на В

- A - B Вычитание

+ A + B Сложение

>= или 'GE' A >= B Возвращается 1, если А в цифровой форме

больше или равно B, в противном случае

возвращается 0

<= или '@' A <= B Возвращается 1, если в цифровой форме A

меньше или равно B, в противном случае

возвращается 0

> или 'G' A > B Возвращается 1, если в цифровой форме А

больше B, в противном случае

возвращается 0

< или 'L' A < B Возвращается 1, если в цифровой форме А

меньше B, в противном случае

возвращается 0

= или 'E' A = B Возвращается 1, если в цифровой форме А

равно B, в противном случае возвращается 0

!= или 'NE' A != B Возвращается 1, если в цифровой форме А

отличается от B, в противном случае

возвращается 0

& или 'AND' A & B Возвращается 1, если А и B не равны нулю,

в противном случае возвращается 0

| или 'OR' A | B Возвращается 1, если А, или B, или оба

не равны нулю, в противном случае возвращается 0

Вычисления выражений выполняются в такой последовательности:

• ^ – возведение в степень;

• #, /, \ – умножение, деление, целочисленное деление;

• @ – целочисленный остаток;

• -, + – вычитание, сложение;

• >=, <=, >, < – операторы сравнения;

• =, != – равный, не равный;

• & – логическое И;

• | – логическое ИЛИ.

Например, выражение

2 # 5 ^ 2 + 34

вычисляется так: сначала число 5 возводится в степень 2, затем полученный ре_

зультат, 25, умножается на смежный множитель 2, после чего новый результат, 50,

прибавляется к слагаемому 34. Окончательный результат – 84. Это выражение

можно представить и в таком виде:

((2 # (5 ^ 2)) + 34).

Для изменения установленного порядка выполнения арифметических опера_

ций используются круглые скобки. Например, выражение

(2 # 5) ^ 2 + 34

вычисляется в такой последовательности: сначала выполняется умножение числа

2 на 5, затем полученный результат, 10, возводится в степень 2, и новый результат,

100, прибавляется к слагаемому 34. Окончательный результат – 134. Это выражение можно представить и в таком виде:

(((2 # 5) ^ 2) + 34).

Операторы системы GPSSW определяют тип данных непосредственно перед

тем, как операция применяется. Поэтому нет необходимости беспокоиться о типах данных при создании PLUS_выражений. Выражения могут оцениваться

в числовой или строковой формах. Когда выражение оценивается в числовой форме, строковый результат преобразуется к его числовому эквиваленту, основанному на числах, с которых начинается строка. Строка, начинающаяся не с цифры,

преобразуется к числовому нулю. Точно так же, когда выражение оценивается как

строка, любой числовой результат преобразуется к строковому эквиваленту.

В сообщениях и потоках данных представлением больших чисел можно управлять, подавляя экспоненциальный формат. Для этого:

• щелкните по пункту Edit главного меню или нажмите комбинацию клавиш

Alt+E. Появится выпадающее меню;

• щелкните по пункту Settings (Установки) выпадающего меню. Появится диалоговое окно SETTINGS;

• выберите вкладку Report (Отчет) и установите галочку напротив элемента

Scientific (Научный).

Типы объектов

В системе GPSSW имеются различные типы объектов, которые можно использовать при создании моделей:

• транзакты (Transactions) – обслуживаемые требования (заявки);

• блоки (Blocks);

65

• каналы (аппараты) обслуживания (Facilities);

• функции GPSS (GPSS Functions);

• логические переключатели (Logicswitches);

• матрицы (Matrixes);

• очереди (Queues);

• накопители (Storages);

• сохраняемые величины (Savevalues);

• табличные цепи пользователя (Tables User Chains);

• переменные (Variables);

• числовые группы (Numeric Groups);

• группы требований (Transaction Groups);

• генераторы случайных чисел (Random Number Generators).

За исключением требований (транзактов), объекты никогда не удаляются из

моделирования. Однако некоторые типы объектов могут быть переопределены

в интерактивном режиме: STORAGE, TABLE, QTABLE, MATRIX или VARIABLE.

PLUS_процедуры можно также переопределить в интерактивном режиме. Блоки не могут быть переопределены в системе GPSSW. Однако, используя блок

EXECUTE, можно переопределить значение операнда A.

Математические процедуры

Система GPSSW включает небольшую библиотеку математических процедур:

ABS – абсолютное значение;

ATN – арктангенс;

COS – косинус;

INT – целое;

EXP – экспонента;

LOG – натуральный логарифм;

SIN – синус;

SQR – квадратный корень;

TAN – тангенс.

Основные этапы моделирования

в системе GPSSW
Система GPSSW достаточно проста в изучении и универсальна в применении.

Эффективное использование системы предусматривает выполнение ряда этапов:

1. Постановка задачи.

2. Выявление основных особенностей.

3. Создание имитационной модели процесса.

4. Представление имитационной модели в системе GPSSW.

5. Моделирование системы.

Создание имитационной модели процесса

На этом этапе необходимо подробно изложить все действия, связанные с функционированием той или иной системы, возможно, с помощью циклических процедур. Надо указать, какая входная информация требуется и как она будет использована соответствующими операторами системы.

Процесс моделирования начинается с создания исходной модели на языке имитационного моделирования GPSS. Самый простой способ начать моделирование –

это использование, а затем и модернизация существующей модели. В папке

C:\Program Files\Minuteman Software\GPSS World Student Version\Samples

Models имеется большой набор типовых примеров для обучения моделированию.

Инструкции к моделям могут находиться в нескольких текстовых объектах. Процесс моделирования начинается с открытия текстового объекта (файла), если он

присутствует в модели. Для обращения к текстовому объекту в модели используется оператор INCLUDE, далее следует имя текстового файла с расширением .txt,

записываемое в двойных кавычках.

Исходная модель – это определенный набор (список) операторов модели. Оператором модели может быть оператор языка имитационного моделирования

GPSS, процедура языка программирования PLUS или определение PLUS_эксперимента.

На втором этапе создается имитационная модель с помощь транслятора системы GPSSW. Результатом трансляции программы является объект моделирования

блочной структуры.

Трансляцию исходной модели можно выполнить двумя способами.

Первый способ:

• щелкните по пункту Command главного меню. Появится выпадающее меню;

• щелкните по пункту Create Simulation или Retranslate. Появится окно

JOURNAL, в котором указываются дата и время начала и окончания трансляции исходной модели.

Второй способ: нажмите комбинацию клавиш Ctrl+Alt+S для трансляции или

Ctrl+Alt+R для перетрансляции программы.

Если в процессе трансляции в программе обнаруживаются синтаксические

ошибки, то их можно исправить. Для этого:

• щелкните по пункту Search (Поиск) главного меню. Появится выпадающее

меню;

• щелкните по пункту Next Error (Следующая ошибка).

После выполнения этих действий курсор мыши каждый раз устанавливается

на очередной ошибке. Эти действия проводятся до тех пор, пока не будут устранены все выявленные ошибки. При этом курсор мыши циклически проходит список

всех выявленных транслятором ошибок.

Моделирование системы

Как только все синтаксические ошибки будут устранены, можно послать оттранслированную модель на выполнение. Для этого:

• щелкните по пункту Command главного меню. Появится выпадающее меню;

• щелкните по пункту START. Появится диалоговое окно Start Command,

в котором можно определить режим моделирования. После определения режима моделирования щелкните по кнопке ОК. Появится окно JOURNAL,

в котором указываются дата и время начала и окончания процесса моделирования оттранслированной модели, а затем – окно REPORT с результатами имитационного моделирования.

Можно послать инструкции для моделирования тремя способами:

• используя наиболее общие команды, перечисленные в выпадающем меню

пункта Command главного меню;

• щелкнув по пункту Custom в выпадающем меню пункта Command главного

меню. Появится диалоговое окно Simulation Command, где можно напечатать

любую инструкцию для моделирования, даже PLUS_процедуру, и послать ее

существующему объекту моделирования;

• используя набор функциональных клавиш с собственным набором команд.

Это можно сделать через пункты главного меню Edit и выпадающего меню

Settings в главном окне системы. После нажатия соответствующей функцио_

нальной клавиши объекту моделирования посылается определенная команда.

Комплексные процедуры и длинные списки команд могут также быть посланы

с помощью команды INCLUDE (Включить), связанной с предварительно созданным текстовым объектом.

Команды управления моделированием могут быть вставлены в имитационную

модель, или их можно интерактивно ввести в процессе моделирования. Для этого:

• щелкните по пункту Command главного меню. Появится выпадающее меню;

• щелкните по пункту Custom. Появится диалоговое окно Simulation Custom;

• введите в поле диалогового окна нужную команду управления и щелкните

по кнопке ОК.

Пункты (команды) выпадающего меню пункта Command главного меню становятся активными после транслирования исходной модели.

Команда START используется для запуска процесса моделирования. Эта команда может быть введена в модели или в интерактивном режиме.

Многократное моделирование может быть выполнено с использование последовательности управляющих операторов RESET, CLEAR и START.

Остановить процесс моделирования можно несколькими способами:

• щелкните по пункту Command главного меню, а затем – по пункту Halt

(Остановить) выпадающего меню;

• нажмите комбинацию клавиш Ctrl+Alt+H;

• нажмите на функциональную клавишу F4;

• щелкните по пункту Command главного меню, а затем – по пункту Custom

выпадающего меню. Появится диалоговое окно Simulation Custom. Введите

в поле диалогового окна команду HALT и щелкните по кнопке ОК;

• используйте командный файл.

Вы можете возобновить моделирование, используя команду CONTINUE или

STEP.

Интерактивные команды HALT и SHOW выполняются в момент их ввода,

а другие команды ставятся в очередь. Они помещаются в конце списка команд, которые еще не были закончены к моменту ввода. Когда оператор процедуры языка

PLUS посылается в интерактивном режиме, процедура регистрируется в пределах

моделирования. После этого процедура может быть вызвана из любого PLUS выражения. Если процедура с тем же именем уже существует в пределах моделирования, она переопределяется.

Отладка модели

Во время отладки модели можно использовать многочисленные средства визуализации, имеющиеся в системе GPSSW. Среди 10 динамических окон есть окна PLOT

и EXPRESSIONS, которые позволяют визуализировать оценку любого выражения

PLUS, поскольку оно изменяется динамически. Окно TABLE дает возможность

визуализировать сходимость гистограмм. Кроме того, имеется 6 дополнительных

окон для представления снимков. Они предназначены для профессионалов моделирования, нуждающихся в детальной информации о состоянии моделирования

изнутри. Система GPSSW имеет большой набор стандартных сообщений. Они описывают конечное состояние и/или результаты моделирования. Можно изменять

содержание стандартных сообщений, редактируя установки во время моделирования объекта. Промежуточные сообщения часто используются во время отладки

модели.

Новый высокоэффективный транслятор системы работает как минимум на два

порядка быстрее, чем его предшественник. Когда транслятор обнаруживает одну

или большее число ошибок в модели, то создается круговой список сообщений об

ошибках, к которым можно обращаться из моделируемой системы. Для этого ис_

пользуйте команды Next Error (Следующая ошибка) или Previous Error (Преды_

дущая ошибка) в меню, выпадающем при щелчке по пункту Search (Поиск) глав_

ного меню. После каждой остановки в списке на той или иной ошибке выдается

сообщение о ней в строке состояния в нижней части главного окна системы. При

этом курсор размещается перед синтаксическим элементом, который вызвал

ошибку. Это значительно облегчает устранение ошибок. Для устранения ошибок

используется текстовый редактор.

Если ошибка произошла в текстовом объекте, вводимом оператором INCLUDE

(Включить), можно вставить исправленные операторы в новый временный модельный объект и снова его оттранслировать.
Тема 3.3 Создание имитационной модели на языке GPSSW
Основные правила и операторы языка  GPSS

Для описания имитационной модели на языке GPSS полезно представить ее в виде схемы, на которой отображаются элементы СМО - устройства, накопители, узлы и источники . Описание на языке GPSS есть совокупность операторов (блоков), характеризующих процессы обработки заявок. Имеются операторы и для отображения возникновения заявок, задержки их в ОА, занятия памяти, выхода из СМО, изменения параметров заявок (например, приоритетов), вывода на печать накопленной информации, характеризующей загрузку устройств, заполненность очередей и т.п. 
    Каждый транзакт, присутствующий в модели, может иметь до 12 параметров. Существуют операторы, с помощью которых можно изменять значения любых параметров транзактов, и операторы, характер исполнения которых зависит от значений того или иного параметра обслуживаемого транзакта. 
     Пути продвижения заявок между ОА отображаются последовательностью операторов в описании модели на языке GPSS  специальными операторами передачи управления (перехода). Для моделирования используется событийный метод. Соблюдение правильной временной последовательности имитации событий в СМО обеспечивается интерпретатором GPSSPC - программной системой, реализующий алгоритмы имитационного моделирования. 
  
Структура операторов GPSS

     В записи оператора выделяют три части: метку, название, поле переменных. 
Пример оператора:

110  L1    GENERATE     30,5                     Первый сегмент модели 
      2....6.8.................18 ..19.............................................................70 
    <метка><название>   <поле переменных>                <комментарии>

    В поле переменных выделяют подполя, разделяемые при записи запятыми и служащие для указания чисел, стандартных числовых атрибутов (СЧА), символов, обозначающих метки, идентификаторов, указателей разновидностей операторов и т.п. Подполя могут быть пустыми. Возможна запись комментария после последнего непустого поля через пробел.
    Стандартные числовые атрибуты служат для сокращенного указания различных величин, фигурирующих в модели. 
     Примеры СЧА: К126 - константа, равная 126; V2 - переменная N 2; Q4 - длина очереди N 4; X5 - хранимая величина N 5; FN7 - функция N 7; P4 - значение параметра N 4 транзакта; *6 - содержимое параметра  N 6 транзакта; S*3 (или FN*3) - память (или функция), определенная в параметре  N 3 транзакта.

Основные операторы языка GPSS

 Основные операторы языка  GPSS  приведены в виде примеров с конкретными значениями подполей в поле переменных.

GENERATE   12,4,50,5,1  -  генерация транзактов, интервалы времени между появлениями транзактов распределены равномерно в диапазоне [12-4, 12+4], первый транзакт появится с задержкой в 50 единиц модельного времени, всего будет создано 5 транзактов, приоритет транзактов равен единице.

GENERATE   12,4,50,,1    -  то же, но количество  генерируемых транзактов неограничено.

GENERATE   6, FN$FFF,50,5,1  -  то же, но интервал времени между появлениями транзактов есть целая часть произведения числа 6 на значение функции FFF.

FNK      FUNCTION        RN1,C4 
0,0/0.1,0.8/0.5,1.6/1.0,1.9 
- описание функции FNK, ее аргументом является случайная величина (на это указывает значение RN1), равномерно распределенная в диапазоне [0,1], функция является непрерывной числовой (указатель С), заданной таблично четырьмя точками: (0;0), (0.1; 0.8), (0.5, 1.6), (1.0; 1.9).

FNK      FUNCTION        *2,D4 
0,12/1,9/2,8/3,6 
- то же, но аргументом является значение второго параметра транзакта, для которого вычисляется значение дискретной величины (D)  числовой функции FNK, заданной таблично четырьмя узловыми точками. Это текущее значение округляется до ближайшего большего значения аргумента в узловой точке.

SEIZE    PLOT   - занятие устройства PLOT приходящим на его вход транзактом; если устройство занято, то транзакт задерживается в очереди к этому устройству.

RELEASE  PLOT   - освобождение устройства PLOT обслуженным транзактом.

ENTER    MEM,12 - занятие транзактом 12 единиц емкости в накопителе  MEM.

LEAVE    MEM,*2 - освобождение k единиц памяти в накопителе MEM, гдк  k - значение 2-го параметра транзакта.

STR    STORAGE    4096 - описание накопителя STR емкостью 4096 единиц.

TERMINATE    3 - удаление транзакта из системы, при этом содержимое итогового счетчика уменьшается на 3 единицы, моделирование заканчивается, если содержимое счетчика станет равным или меньше нуля.

ADVANCE    A,B  - задержка транзакта на время, определенное содержимым полей A и B, смысл величин, записываемых в этих подполях , такой же, как и в блоке GENERATE.

SPLIT       3,LLL,6 - копирование транзактов, в данном случае создаются три копии исходного транзакта, исходный транзакт направляется в следующий по порядку блок, а созданные копии - в блок с меткой LLL, при этом параметр 6 основного транзакта увеличивается на единицу, а транзактов - копий - на 2, 3, 4 соответственно.

ASSEMBLE    5 - объединение транзактов, первый из вошедших в блок транзактов продолжит движение в системе после того, как в блок придут еще четыре транзакта.

ASSIGN     2,NAP  - изменение параметров транзактов, в данном случае второй параметр транзакта получит значение  NAP.

ASSIGN     3+,V4  - изменится значение третьего параметра транзакта - к нему прибавится значение V4.

TRANSFER    ,MET  - безусловная передача управления оператору с меткой (номером) MET.

TRANSFER    BOTH,LAB1,UNN - переход к оператору с меткой LAB1, если он невозможен, то к оператору с меткой UNN , если и он невозможен, то транзакт задерживается до следующего момента дискретного модельного времени, в который повторяются указанные попытки перехода.

TRANSFER    .4,AAA,LAB - транзакт с вероятностью 0.4 переходит к оператору с меткой LAB и с вероятностью 0.6 к оператору с меткой AAA.

TRANSFER    PICK,STK7,STK21  - равновероятный переход к операторам с номерами STK7, STK7+1, STK7+2, . . . , STK21.

TRANSFER    FN,AAA,5  - переход к оператору, метка которого равна сумме значения функции AAA и числа 5.

TRANSFER    P,4,41 - переход к оператору, метка которого равна сумме значения параметра N 4 транзакта и числа 41.

TRANSFER    SBR,PRC,7 - переход к оператору PRC с записью в параметр N 7 транзакта метки данного оператора.

LOOP        6,MET  - организация цикла - переход 5 раз к оператору с меткой MET и на шестой раз - к следующему по порядку оператору.

TEST E V7,K256,LAB - переход по условию (условная передача управления): в позициях 13-18 записывается знак отношения, в первых двух подполях поля переменных записываются сравниваемые величины, если условие выполняется, то перехода нет, иначе переход есть к оператору с меткой LAB. Символы отношений: G - больше, L - меньше, E - равно, NE - неравно, LE - меньше или равно, GE - больше или равно. В данном примере перехода нет, если V7 = 256, иначе переход к оператору с номером LAB.

QUEUE SQV  -  оператор организации очереди, длина очереди SQV увеличивается на единицу.

DEPART SQV  - то же, но длина очереди уменьшается на единицу.

PRIORITY 2 - транзакту присваивается приоритет 2.

SIMULATE - начальная карта программы, если разработчик намерен выполнить прогон модели. Если эта карта отсутствует, то интерпретатор проверяет правильность записи модели на языке  GPSS, но прогона модели не выполняет.

START 100,,25 - занесение значения 100 в итоговый счетчик, вывод накопленных статистических данных производится с интервалом изменения содержимого итогового счетчика в 25 единиц.

TABULATE MAT7 - в соответствующий интервал гистограммы  с именем MAT добавляется единица.

MAT7 TABLE P3,8,1,5  - описание таблицы (гистограммы) MAT7, предназначенной для табулирования величины, значения которой находятся в третьем параметре транзакта, входящего в оператор TABULATE MAT7, верхний предел левого интервала гистограммы равен 8, ширина каждого последующего интервала равна 1, всего интервалов 5.

5 VARIABLE X2 -  K25 - вычислительный оператор, в данном случае из хранимой величины N 2 вычитается число 25 и результат присваивается переменной N 5.

SAVEVALUE 5,*3 - хранимая величина N 5 (X5) получает значение третьего параметра транзакта.

Основные команды интерпретатора  GPSSPC

@<имя файла> - загрузить исходный текст модели

SAVE <имя файла> - сохранить текст модели

DISPLAY[<строка N 1>],[< строка N 2>] - вывести на экран текст модели, начиная со строки N1 , до строки N 2.

DELETE [<строка N 1>],[<строка N 2>] - удалить из  программы текст, начиная со строки N1 , до строки N 2.

EDIT <номер строки> - отредактировать строку текста

CLEAR - сбросить всю статистику модели в ноль (включая таймеры абсолютного и относительного модельного времени), возвратить все транзакты в пассивный буфер .

END - завершить работу интерпретатора.


Команды управления моделированием. Работа с транзактами. Работа с очередями.

1   2   3   4   5   6   7   8   9   10

Похожие:

Колледж связи iconПрограмма учебной дисциплины
Организация-разработчик: аоу во спо «Вологодский колледж связи и информационных технологий»
Колледж связи iconУтверждены
«Самарский медико-социальный колледж», является новой редакцией Устава, подготовленного в связи с переименованием Учреждения и приведением...
Колледж связи iconЛитература: "му 10. 3014-12. 10. Состояние здоровья населения в связи...
Государственное автономное профессиональное образовательное учреждение Тюменской области «Тюменский медицинский колледж»
Колледж связи iconДоклад директора огбоу спо «Плесский колледж бизнеса и туризма»
«Плесский аграрный колледж» переименован в Областное государственное бюджетное образовательное учреждение среднего профессионального...
Колледж связи iconПрограммы вид работы (краткая инструкция) форма и метод контроля...
Общие сведения об электрической связи: история развития связи; Понятие информация и звук; Системы передачи информации: передача информации...
Колледж связи iconОтчет по результатам самообследования в гаоу спо рб салаватский медицинский...
Гоу салаватское медицинское училище преобразовано в гоу спо мз рб салаватский медицинский колледж. На основании распоряжения Правительства...
Колледж связи iconЛитература: "му 10. 3014-12. 10. Состояние здоровья населения в связи...
Государственное автономное образовательное учреждение среднего профессионального образования Тюменской области «Тюменский медицинский...
Колледж связи iconМетодические рекомендации по изучению дисциплины «педагогика среднего...
Программа курса предусматривает установление связи между отдельными звеньями в системе непрерывного образования: детский сад-школа...
Колледж связи icon«Ковровский медицинский колледж» утверждаю директор гбоу спо во
Настоящее Положение устанавливает порядок деятельности учебных кабинетов гбоу спо во «Ковровский медицинский колледж» (далее – Колледж)...
Колледж связи icon«Вот и закончен колледж»
Тамбовское областное государственное образовательное учреждение среднего профессионального образования «Уваровский химико-технологический...
Колледж связи iconСреднего профессионального образования московской области «московский...
Московской области «Московский областной колледж искусств» (далее – Колледж) с целью анализа качества подготовки студентов и выпускников...
Колледж связи iconДоклад «О конкуренции между услугами связи для целей передачи голосовой...
На основе анализа рынка услуг телефонной связи для целей передачи голосовой информации, в результате которого установлено, что функционально...
Колледж связи iconДоклад «О конкуренции между услугами связи для целей передачи голосовой...
На основе анализа рынка услуг телефонной связи для целей передачи голосовой информации, в результате которого установлено, что функционально...
Колледж связи iconДоклад директора боу оо спо «Омкпт»
Омской области о признании колледжа прошедшим государственную аккредитацию. В связи с переходом на бюджет Омской области и на основании...
Колледж связи iconДоклад о результатах деятельности Санкт-Петербургского государственного...
Публичный доклад о работе спб гб поу «Колледж электроники и приборостроения» (далее Колледж) в 2014-2015 учебном году содержит информацию...
Колледж связи iconОб учебной и производственной практике студентов гбоу спо ао «Амурский...
Гбоу спо ао «Амурский областной колледж искусств и культуры» (далее – колледж), осваивающих основные профессиональные образовательные...


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск