- •Общие положения
- •Объекты GPSS
- •Именование объектов
- •Типы данных
- •Правила описания стандартных числовых и стандартных логических атрибутов
- •Арифметическое выражение
- •Логическое выражение
- •Транзакты
- •Продвижение транзактов по модели
- •Блоки генерации и задержки транзактов
- •Блок GENERATE
- •Блок PRIORITY
- •Блок MARK
- •Блок ASSIGN
- •Блок TERMINATE (базовое описание)
- •Блок ADVANCE
- •Ресурсы
- •Блок SEIZE
- •Блок RELEASE
- •Оператор STORAGE
- •Блок ENTER
- •Блок LEAVE
- •Блок LOGIC
- •Блоки и операторы организации вычислений
- •Блок SAVEVALUE
- •Оператор MATRIX
- •Блок MSAVEVALUE
- •Оператор VARIABLE
- •Оператор FVARIABLE
- •Оператор BVARIABLE
- •Оператор FUNCTION (базовое описание)
- •Оператор INITIAL
- •Блоки управления движением транзактов
- •Блок TRANSFER (базовое описание)
- •Блок TEST
- •Блок GATE
- •Блок LOOP
- •Блоки и операторы сбора статистики
- •Блок QUEUE
- •Блок DEPART
- •Оператор TABLE
- •Блок TABULATE
- •Блоки работы с семейством транзактов
- •Блок SPLIT
- •Блок ASSEMBLE
- •Блок MATCH
- •Останов процесса моделирования
- •ПРИЛОЖЕНИЕ
- •Список дополнительных блоков и расширений
- •Блоки работы со списками пользователя
- •Блок LINK
- •Блок UNLINK
- •Приборы с прерыванием
- •Блок PREEMPT
- •Блок RETURN
- •Расширенные описания блоков
- •Блок TRANSFER (полное описание)
- •Блок SELECT
- •Оператор FUNCTION (полное описание)
- •Сводный список стандартных атрибутов объектов языка GPSS
- •Задания по составлению имитационных программ для самостоятельной проработки
- •ЛИТЕРАТУРА
15
СЧА
Особенности выполнения.
1.Блок LOGIC предназначен для того, чтобы устанавливать, сбрасывать или инвертировать (менять на противоположное) состояние логического ключа.
2.Логический ключ может находиться в двух состояниях: S (включен или 1) или R (выключен или 0).
3.Если логический оператор равен «S» или «R» , то логический ключ, заданный операндом А, устанавливается во включенное или выключенное состоянии соответственно.
4.Если логический оператор равен «I», то логический ключ, заданный операндом А, инвертируется. Это значит, что если он был включен, он будет выключен и наоборот.
Примеры.
1. |
LOGIC S |
SWITCH |
2. |
LOGIC R |
SWITCH |
3. |
LOGIC I |
SWITCH |
Блоки и операторы организации вычислений
Вектор сохраняемых величин – это совокупность параметров, предназначенная для сохранения скалярных значений, организованная в виде вектора. Адресация такой величины имеет вид Х I , где Х – стандатное имя вектора, I – номер или имя элемента вектора Х.
Блок SAVEVALUE
Назначение. Блок присваивает, увеличивает или уменьшает значение сохраняемой величины.
Синтаксис. SAVEVALUE A[±],B
Операнд |
Назначение |
Значение |
Значение по умолчанию |
A |
Имя изменяемой сохраняемой величины |
Имя, |
Обязательный операнд |
|
|
число, |
|
|
|
СЧА |
|
B |
Значение, которое присвоено, прибавлено или вы- |
Имя, |
Обязательный операнд |
|
чтено из сохраняемой величины |
число, |
|
|
|
СЧА |
|
Примеры.
1.SAVEVALUE 25, 7
Значение сохраняемой величины Х25 становится равным 7.
2.SAVEVALUE WES+, 2
Значение сохраняемой величины X$WES увеличивается на 2.
Оператор MATRIX
Матрица сохраняемых величин – это совокупность параметров, предназначенная для сохранения скалярных значений, организованная в виде двумерной матрицы. Адресация такой величины имеет вид МХ ( I, J ), где МХ – стандартное имя матрицы; I,J – номера или имена элемента матрицы МХ.
Оглавление
В.М. Черненький. Адаптированное описание системы имитационного моделирования GPSS
16
Оператор определяет матрицу сохраняемых величин. Имеет декларирующий характер и располагается выше описаний треков.
Синтаксис. <имя матрицы> MATRIX A, B, C
имя матрицы – числовое или символическое имя, обязательный параметр. Расположен в поле метки.
А- неиспользуемое поле (для совместимости с ранними версиями GPSS ).
В- максимальное количество элементов в первом измерении. (количество строк матрицы). Допустимое значение – целое число. Обязательный операнд
С - максимальное количество элементов во втором измерении (количество столбцов матрицы). Допустимое значение – целое число. Обязательный операнд.
Пример.
REZULT MATRIX ,15, 3
Оператор определяет матрицу с именем REZULT с 15 строками и 3 столб-
цами.
Блок MSAVEVALUE
Назначение. Блок присваивает, увеличивает или уменьшает значение элемента матрицы сохраняемых величин.
Синтаксис. MSAVEVALUE A[±], B, C, D
Операнд |
Назначение |
Значение |
Значение по умолчанию |
A |
Имя изменяемой матрицы сохраняемых величин |
Имя, |
Обязательный операнд |
|
|
число, |
|
|
|
СЧА |
|
B |
Номер строки матрицы |
Имя, |
Обязательный операнд |
|
|
число, |
|
|
|
СЧА |
|
C |
Номер столбца матрицы |
Имя, |
Обязательный операнд |
|
|
число, |
|
|
|
СЧА |
|
D |
Значение, которое присвоено, прибавлено или вы- |
Имя, |
Обязательный операнд |
|
чтено из элемента матрицы |
число, |
|
|
|
СЧА |
|
Особенности выполнения.
1.Матрица должна быть предварительно определена с помощью оператора определения данных MATRIX.
2.Если операнд А сопровождается знаком «+», то к значению элемента матрицы, определенного операндами А , B и C, прибавляется значение, определенное операндом D.
3.Если операнд А сопровождается знаком «-»,то из значения элемента матрицы, определенного операндами А, B и C, вычитается значение, определенное операндом
D.
4.Если за операндом А нет знака, то значение элемента матрицы, определенного операндами А, B и C, заменяется значением, определенным операндом D.
Пример.
MSAVEVALUE DATA, 4, 5, P7
Элементу матрицы DATA с номером строки 4 и номером столбца 5 присваивается значение седьмого параметра активного транзакта.
Обращение к этому элементу в арифметических и других выражениях имеет вид MX(4, 5)
Оглавление
В.М. Черненький. Адаптированное описание системы имитационного моделирования GPSS
17
Оператор VARIABLE
VARIABLE является оператором-функцией, определяющим арифметическую целую переменную, имеющую имя V I, где V – стандартное обозначение переменной типа оператор-функция, I – номер или имя функции VARIABLE.
Синтаксис: <имя переменной> VARIABLE <арифметическое выражение> Имя переменной - символическое или числовое имя переменной, ставится в поле меток. Арифметическое выражение определяет значение данной переменной.
Примеры.
1.5 VARIABLE 46+P6
|
Арифметическая переменная с числовым именем 5 равна сумме числа 46 и значе- |
ния параметра 6 активного транзакта. |
|
|
Обращение к этой переменной имеет вид V5. |
2. |
SUM VARIABLE (P3 + Р4)/5 |
Арифметическая переменная с символическим именем SUM равна сумме значений 3-го и 4-го параметров активного транзакта, деленной на 5.
Обращение к этой переменной имеет вид V$SUM. Арифметическая переменная может использоваться как:
•элемент другой арифметической переменной, булевой переменной;
•аргумент функции, таблицы;
•операнд блока
Оператор FVARIABLE
FVARIABLE является оператором-функцией, определяющим арифметическую переменную с фиксированной точкой, имеющую имя FV I, где FV – стандартное обозначение, I – номер или имя функции FVARIABLE.
Синтаксис. <имя переменной> FVARIABLE <арифметическое выражение>
Имя переменной - символическое или числовое имя переменной, ставится в поле меток. Арифметическое выражение определяет значение переменной.
Пример.
PBR |
FVARIABLE (Sl-S$CAN)/5 + |
3.6 |
Ссылка на арифметическую переменную с фиксированной точкой выполняется так |
||
же, как и на арифметическую переменную. |
|
|
Оператор BVARIABLE |
|
|
Оператор определяет булеву переменную. |
|
|
Синтаксис. |
<имя переменной> BVARIABLE |
<булево выражение> |
Выражения в операторе BVARIABLE кроме логических операторов могут включать операции отношений и вызовы библиотечных процедур.
Пример.
FLAG BVARIABLE BV$CAN1’AND’BV$CAN2
Значение переменной FLAG равно1, если булевы переменные CAN1 и CAN2 имеют значение TRUE, и равна 0 в других случаях
Оператор FUNCTION (базовое описание)
Оператор определяет функцию GPSS, заданную таблично.
Синтаксис. <имя функции> FUNCTION А, ВN
имя функции – числовое или символическое имя, обязательный параметр.
А - аргумент функции; обязательный операнд. Допустимые значения – имя, число, СЧА.
Оглавление
В.М. Черненький. Адаптированное описание системы имитационного моделирования GPSS
18
В- тип функции (одна буква) и N - количество пар данных в списке данных функции. Обязательный операнд.
Обращение к функции выглядит, как FN I, где I – имя функции.
Существует несколько типов функций. Тип определяется операндом В операто-
ра FUNCTION.
За строкой FUNCTION А, ВN сразу же должна следовать строка, содержащая список пар данных, разделенных символом «/». Каждая пара данных определяет значения аргумента X и значения функции Y, разделенные запятой. Список данных используются для вычисления значения функции по заданным значениям аргумента.
Вданном транскрипции оператора рассмотрим 2 типа функций. Полное изложение вариантов задания функции приведено в приложении.
1.Функции типа С – непрерывные числовые функции.
Всписке данных функций типа С значения X и Y должны быть целочисленными (Integer) или вещественными (Real). Значения X и Y хранятся, как числа с плавающей точкой двойной точности.
Вычисление функции начинается с вычисления аргумента. Далее определяется
интервал (Xi;Xi+1), на котором находится вычисленное значение аргумента и на этом интервале выполняется линейная интерполяция двойной точности с использованием соот-
ветствующих значений Yi и Yi+1. Результатом является значение функции двойной точности. Если аргумент попадает за предельные значения области определения функции, возвращается значение функции в ближайшей предельной точке.
Примеры.
1) ART FUNCTION X1, C3 1.1,10.1/20.5,98.7/33.3,889.2
Оператор определяет кусочно-линейную функцию с двумя линейными участками. Если мы обращаемся к функции FN$ART, то по значению сохраняемой величины Х1 вычисляется функция в соответствии с заданной совокупностью точек.
Пример приближенного представления обратного экспоненциального распре-
деления со средним, равным 1. |
|
2) |
Xpdis FUNCTION RN1, С24 |
0,0/.1,.104/.2, .222/.3, .355/.4, .509/.5, .69/.6,.915/.7,1.2/.75,1.38
.8, 1.6/.84, 1.83/.88, 2.12/.9, 2.3/.92, 2.52/.94, 2.81/.95, 2.99/.96,3.2
.97, 3.5/.98, 3.9/.99, 4.6/.995, 5.3/.998,6.2/.999,7/.9998,8
2.Функции типа D - дискретные функции.
Всписках данных функций типа D значения X должны быть целочисленными или вещественными, а значения Y – целочисленными, вещественными или именами.
Функция типа D задает одно и то же значение функции Yi для всех значений аргумента Xi-1< X ≤Xi. Значения X в списке данных функции должны быть неубывающими. Внутренне они сохраняются, как числа двойной точности. Когда вычисляется функция, значения X в списке данных функции просматриваются от наименьшего к наибольшему. Когда найдено значение X, которое больше или равно текущему значению аргумента, возвращается соответствующее ему значение Y. Если такое значение X отсутствует, возвращается значение Y или именованная величина, соответствующая самому большому значению X.
Примеры.
1) LIR FUNCTION X$A2, D5 1.1,6.9/2.1,7/6.33,9.4/7,10/9.9,12.01
2) |
RAF FUNCTION RN1, D5 |
Оглавление
В.М. Черненький. Адаптированное описание системы имитационного моделирования GPSS