Стандартные числовые атрибуты сча в gpss это

Стандартные числовые атрибуты сча в gpss это

Системные стандартные числовые атрибуты GPSS (СЧА):

RNj — число, вычисляемое j-м генератором случайных чисел. Все генераторы выдают последовательность равномерно распределенных случайных чисел. Это число целое и изменяется от 0 до 999 включительно, кроме двух случаев его использования — в качестве аргумента функции или выражения переменной (VARIABLE, FVARIABLE). В этих случаях RNj будет дробью от 0 до 0.999999;

Cl — текущее значение относительного (условного) времени. Автоматически изменяется программой и устанавливается в О управляющими операторами CLEAR или RESET;

АС1 — текущее значение абсолютного времени. Эта величина не меняется под действием управляющего оператора RESET и устанавливается в 0 лишь под действием оператора CLEAR;

TGl — текущее значение счетчика завершений;

XN1 — номер активного сообщения;

Zl — размер свободной оперативной памяти в битах;

Ml — время пребывания в модели транзакта, обрабатываемого программой в данный момент. Эта величина может изменяться блоком MARK;

PR — приоритет транзакта, обрабатываемого в данный момент. Эта величина может изменяться блоком PRIORITY. По умолчанию приоритет равен 0.

Рj или *j или * , или *$ — значение параметра j текущего транзакта или значение параметра с именем текущего транзакта;

МРj — значение времени, равное разности относительного модельного времени и содержимого j-го параметра текущего транзакта;

MBj — флаг синхронизации: 1, если транзакт в блоке j принадлежит тому же семейству, что и текущий транзакт; О-в противном случае.

Nj — общее число транзактов, вошедших в блок j;

Wj — текущее число транзактов, находящихся в блоке j

Sj — текущее значение содержимого многоканального устройства j. Содержимое многоканального устройства изменяется блоками ENTER и LEAVE;

Rj — число свободных единиц многоканального устройства j. Эта величина изменяется блоками ENTER и LEAVE;

SRj — коэффициент использования многоканального устройства j в тысячных долях;

SAj среднее содержимое многоканального устройства j;

SMj — максимальное содержимое многоканального устройства j;

SCj — общее число входов в многоканальное устройство j;

STj — среднее время пребывания транзактов в многоканальном устройстве j;

SEj — флаг незанятости многоканального устройства j: 1 — свободно, О — занято;

SFj — флаг заполнения многоканального устройства j: 1 — заполнено, О — не заполнено;

SVj — флаг готовности многоканального устройства j к использованию: 1 — готово, 0 — не готово.

СЧА одноканальных устройств

Fj — текущее состояние устройства j. Эта величина равна 0, если устройство свободно, и 1 — во всех остальных случаях. Этот атрибут изменяется блоками SEIZE, RELEASE, PREEMPT и RETURN.;

FIj — флаг прерывания устройства: 1, если устройство находится в состоянии прерывания , 0 — в противном случае;

FRj — коэффициент использования устройства j в тысячных долях;

FVj — флаг готовности устройства к использованию: 1 — готово, О-в противном случае;

FCj — общее число входов в устройство j;

FTj — среднее время использования устройства транзактами.

Qj- длина очереди j

QAj — средняя длина очереди j;

QМj — максимальная длина очереди j;

QСj — общее число входов в очередь j;

QZj — число нулевых входов в очередьj;

QТj — среднее время пребывания транзактов в очереди j (включая нулевые входы);

QXj — среднее время пребывания транзактов в очереди j (без нулевых).

ТВj — вычисленное среднее таблицы j;

ТСj — общее число включений в таблицу j;

TDj — вычисленное среднеквадратичное отклонение для таблицы j.

СЧА ячеек и матриц ячеек сохраняемых величин:

Xj — содержимое ячейки j;

MXj(a,b) — содержимое элемента матрицы ячеек j, расположенного в строке а и столбце b.

СЧА вычислительных объектов

FNj — вычисленное значение функции j. От значения берется целая часть, за исключением тех случаев, когда это значение используется в качестве модификатора в блоках GENERATE, ADVANCE, ASSIGN или в качестве аргумента другой функции;

Vj — вычисленное значение переменной. При вычислении значения переменной с фиксированной запятой получается целое число. При вычислении значения переменной с плавающей запятой дробная часть конечного результата отбрасывается;

BVj — вычисленное значение булевой переменной.

СЧА списков и групп

GNj — текущее число членов в чиcловой группе j;

GTj — текущее число членов в группе транзактов с номерами j;

СНj — текущее число транзактов в j-м списке пользователя;

САj — среднее число транзактов в j-м списке пользователя;

CMj — максимальное число транзактов в j-м списке пользователя;

ССj — общее число транзактов в j-м списке пользователя;

СТj — среднее время пребывания транзакта в j-м списке пользователя;

LSj — состояние логического ключа j: 1 — включен, 0 — выключен.

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

Для оперирования с текущими результатами в GPSS/H используются стандартные числовые атрибуты (СЧА). Основные СЧА приведены в табл. 6 – 11.

Например, в N(COMP) записывается общее число вошедших в блок с именем COMP транзактов; в FR(SERVER) записывается коэффициент использования прибора под именем SERVER.

СЧА Описание
АС1 С1 Время, прошедшее, начиная с начала моделирования (абсолютное время) Время, отсчитанное после того, как GPSS/H встретил оператор RESET (относительное время). Если оператора RESET нет в модели, то АС1 = С1.
СЧА Описание
W(n) N(n) Число транзактов в текущий момент времени в блоке с именем или номером n Число транзактов, вошедших в блок, с именем или номером n за все время моделирования
СЧА Значение
PB(n), PН(n), PF(n), PL(n) PR XID1 Номер или имя соответственно байтового, полусловного, полнословного и действительного параметров транзакта Уровень приоритета транзакта Номер обрабатываемого в данный момент времени транзакта
СЧА Значение
F(n) FT(n) FR(n) Занятость прибора; F(n) = 0, если прибор свободен, и F(n) = 1, если прибор занят Время обслуживания транзакта прибором с именем n Коэффициент использования прибора с именем n

СЧА многоканальных устройств (МУ)

СЧА Значение
R(n) S(n) SA(n) SC(n) SE(n) SF(n) SM(n) SR(n) Свободная емкость МУ под именем n Текущее содержимое МУ под именем n Среднее содержимое МУ под именем n Число входов в МУ 1, если МУ не заполнено в настоящий момент, 0, если заполнено 1, если МУ заполнено в настоящий момент, 0, если не заполнено Максимальное содержимое МУ под именем n Коэффициент использования МУ под именем n
Читайте также:  Почему в одноклассниках история посещения разная

в СЧА записывается число модулей МУ BUFFER, которые в настоящее время не используются.

в СЧА SF(5) принимает значение 1, если МУ под номером 5 в настоящее время заполнено; в противном случае МУ(5) принимает значение 0 (используется в TEST и в операторе FUNCTION).

СЧА Значение
Q(n) QA(n) QC(n) QM(n) QT(n) QX(n) QZ(n) Текущее содержимое очереди под именем n Средний размер очереди n Число входов в очередь n Максимальное содержимое очереди n Среднее время пребывания транзакта (из расчета QC) Среднее время пребывания транзакта (из расчета QZ) Число нулевых входов (без задержки в очереди)

в СЧА записывается текущее число транзактов в очереди под именем LINE.

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

Атрибуты транзактов

Атрибуты транзактов – характеристики, связанные с транзактами. Они есть у каждого транзакта и изменяются при движении транзактов по модели. Атрибуты транзактов делятся на две категории: встроенные (номер транзакта – XID1; номер блока, в котором находится транзакт; номер блока, куда войдет транзакт; время нахождения транзакта в модели – M1; уровень приоритета транзакта – PR) и определяемые пользователем или параметры (байтовый, полусловный, полнословный, действительный).

В GPSS/H возможно изменять только два встроенных атрибута: метку времени (присваивается транзакту, как только он создается блоком GENERATE) и уровень приоритета транзакта (первоначально задается в блоке GENERATE). В процессе перемещения транзактов по модели их параметры могут устанавливаться и модифицироваться в соответствии с заданной пользователем логикой. Эти значения можно использовать в качестве операндов блоков или аргументов функций.

Имя параметра состоит из двух частей: группового имени и номера конкретного члена этой группы. Групповым именем являются символы PH, PF, PB, PL в зависимости от типа параметра (полусловного, полнословного, байтового и действительного соответственно).

Тип и количество параметров каждого типа для транзакта определяются посредством блока GENERATE в операндах F, G, H (значением по умолчанию является PH с количеством параметров равным 12).

Пример задания параметров транзактов:

GENERATE 7. 4PF,8PL

транзакты будут создаваться каждые 7 единиц времени. Каждый транзакт будет иметь 4 полнословных параметра и 8 действительных.

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

Полусловный параметр (PH) может быть целым значением в интервале от –32,768 до 32,767. Полнословный параметр (PF) может быть целочисленным значением в интервале от –2 147 483 648 до 2 147 483 647. Байтовый параметр (PB) может быть целочисленным значением в интервале от –128 до 127. Действительный параметр (PL) может иметь значения с плавающей запятой в интервале от –2 147 483 648 до 2 147 483 647.

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

Для примера рассмотрим гибкую производственную систему, в которой разделяются детали в зависимости от их веса и вида прошедшей обработки. Пусть транзакт – это деталь. Характеристики каждой детали могут быть заданы в параметрах в соответствии со схемой кодирования, приведенной в табл. 12.

Вариант интерпретации значений параметров транзактов

Значение PВ3 Интерпретация (вид обработки) Значение PF7 Интерпретация (вес, кг)
Токарная Фрезерная Сверлильная

Например, если транзакт имеет в качестве параметров PВ3 и PF7 значения 3 и 1 соответственно, это означает – просверленная деталь весом 10 кг.

Значения параметров транзактов можно использовать в качестве операндов блоков или аргументов функций.

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

транзакт, попавший в блок, будет задержан на значение времени, которое записано в 9-м полнословном параметре этого транзакта.

транзакт будет послан к блоку, номер которого определен в 5-м полусловном параметре транзакта.

Проверка числовых выражений

Сравнить числовые выражения или соотношение между двумя стандартными числовыми атрибутами можно при помощи блока TEST.

Блок TEST (проверить) – предназначен для сравнения числовых выражений, а также СЧА и перенаправления транзактов (рис. 29). Значения операндов блока представлены в табл. 13.

Значения операндов блока TEST

Операнд Значение Результат по умолчанию
А В Х Имя первого СЧА Имя второго СЧА Оператор отношения, используемый при проверке Ошибка Ошибка Ошибка
Оператор отношения Вопрос, подразумеваемый в блоке TEST
G GE E NE LE L А > В А ³ В A = B A ¹ B A 11 12131415Следующая ⇒

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

Папиллярные узоры пальцев рук — маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни.

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого.

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰).

Синтаксис, семантика и прагматика языка GPSS

В алфавит языка GPSS входят следующие символы:

A, B, . Z — большие буквы латинского алфавита,

1, 2, . 9, 0 — цифры,

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

@ — коммерческое по (знак остатка от деления),

# — решетка (номер) — используется как знак умножения,

^ — «карет» — знак возведения в степень,

/ — косая черта (знак деления),

Формальные правила написания программ на языке GPSS образуют его синтаксис.

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

прагматический аспект

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

Классы объектов языка GPSS

Описываемые на GPSS абстрактные системы строятся из набора простых объектов. Эти объекты делятся на четыре класса: динамические, оборудование, статистические и операционные.

Читайте также:  Как восстановить удаленный архив

Динамические объекты называются транзактами. Эти объекты могут возникать и уничтожаться. Транзакты движутся в системе и производят при движении ряд действий. Транзакты могут также «размножаться» и «склеиваться».

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

Интерпретации транзактов

Ниже приводятся некоторые интерпретации транзактов.

Моделируемая система

Интерпретация транзакта

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

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

Интерпретаций устройст

Моделируемая система

Интерпретация устройства

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

Элементы реальных систем

Моделируемая система

Интерпретация памяти

Место для очереди

Бункер для изделий

Логический ключ имеет 2 состояния: S (включен) и R (выключен). Состояния ключа устанавливаются одними транзактами и могут проверяться другими. Результаты проверки могут учитываться в последующих действиях транзактов. В начальном состоянии все ключи в системе выключены.

При моделировании сети перекрестков ключ может соответствовать светофору.

Очереди и таблицы

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

Каждая очередь в GPSS-системе имеет выход и вход. Очередь подсчитывает статистические данные о проходящих через нее транзактах: число проходящих тран­зактов, среднее время задержки транзактов в очереди и т.д.

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

Блоки

Операционные объекты в GPSS называются блоками. Блоки являются ячей­ка­ми пространственной структуры GPSS-системы: ее функциональное пространство име­ет вид последовательности блоков. Транзакты в системе всегда находятся в ка­ких-либо ее блоках. Движение транзактов в системе есть их перемещение из одних блоков в другие. В то же время каждый блок представляет собой некоторый алгоритм преобразования объектов системы. Этот алгоритм выполняется, если транзакт находится в блоке.

Динамика GPSS-системы характеризуется тем, как проходят изменения состояний ее объектов во времени.

Модельное время

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

Общеалгоритмические средства GPSS

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

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

Стандартные числовые атрибуты

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

В общем случае любой СЧА имеет вид:

tj, где t — идентификатор выражаемой атрибутом характеристики, j — указание, к какому именно объекту относится данная характеристика. Например, СЧА, значение которого равно текущему содержимому (числу занятых единиц) памяти номер 1, имеет вид:

Q1, где буква Q обозначает «текущая длина очереди», а число 1 указывает, что имеется в виду очередь номер 1.

В общем случае идентификатор характеристики t состоит из одной или двух букв, а указатель j является либо номером объекта (как в S1), либо присоединенным именем объекта, либо косвенным номером объекта.

Присоединенное имя состоит из знака $ и метки объекта. Так, значение атрибута

равно текущему содержимому памяти, которая имеет метку МЕМ.

Косвенный номер объекта состоит из знака * и номера параметра транзакта. При этом имеются в виду параметры того транзакта, который обрабатывается в данный момент времени. В качестве косвенного номера объекта принимается содержимое указанного параметра транзакта. Например, значение атрибута

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

R2 — число свободных единиц памяти номер 2;

SM$MEM1 — максимальное содержимое памяти, имеющей метку МЕМ1;

F70 — состояние устройства 70; F70 равно нулю, если устройство 70 свободно и единице в остальных случаях;

Р3 — содержимое третьего параметра транзакта;

Р*3 — содержимое того параметра транзакта, номер которого записан в третьем параметре этого параметра;

PR — приоритет транзакта;

С1 — текущее значение модельного времени;

W179 — число транзактов, находящихся в данный момент в 179 -ом блоке модели;

W$ABC00 — число транзактов в блоке, имеющем метку АВС00;

Q1 — длина очереди номер 1;

FN$NORM — значение функции с меткой NORM;

V$COST — значение арифметической переменной с меткой COST;

RN1 — псевдослучайное число, равномерно распределенное в интервале от 0 до 1000. В GPSS имеется практически неограниченное число таких СЧА (RN1, RN2, …, RN100…). Для вычисления каждого из этих СЧА используется свой генератор псевдослучайных чисел.

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

Для большей универсальности языка GPSS у некоторых СЧА стандартизировано лишь обозначение, а смысл этих СЧА и алгоритмы их вычисления определяются пользователем при описании модели. К таким СЧА относятся арифметические переменные. Обозначение арифметической переменной имеет вид V$name. Использовать любой конкретный СЧА вида V$name в качестве операнда можно лишь при условии, что этот СЧА описан пользователем в данной модели.

Описание атрибута V$name осуществляется в строке описания арифметической переменной. В одной строке описывается одна переменная. В поле метки обязательно записывается имя описываемой переменной, в поле операции записывается слово VARIABLE или FVARIABLE, а в поле операндов — арифметическое выражение, составляемое из СЧА, знаков арифметических операций и круглых скобок.

Читайте также:  Сжатые zip папки windows 10

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

@ — взять остаток от деления,

^ — возведение в степень.

Пусть, например, переменная V$SUM описана строкой

SUM VARIABLE S1+S2.

Тогда значение V$SUM будет определяться как суммарное содержимое первой и второй памяти. Если переменную V$CAP описать в виде

CAP VARIABLE R#8+5#8,

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

При описании арифметических переменных необходимо иметь в виду следующее:

1) Равноприоритетные операции в арифметическом выражении при отсутствии скобок выполняются слева направо. Операции #, /, @ имеют приоритет по отношению к операциям +, -.

2) Если в строке описания арифметической переменной в поле операции записано VARIABLE, переменная считается целой, в случае записи FVARIABLE — вещественной. При вычислении целой переменной от результатов всех промежуточных операций берется целая часть. При вычислении вещественной переменной этого не делается. Однако окончательный результат округляется в меньшую сторону, как в целой, так и в вещественной переменной. Например, если в модель включены строки

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

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

Логические (булевы) переменные

Обозначение булевской переменной имеет вид BV$name. Этот СЧА, как и арифметическая переменная, описывается в тексте модели пользователем. Булевская переменная описывается в строке описания булевской переменной. В одной строке описывается одна переменная. В поле метки обязательно записывается имя переменной, в поле операций — слово BVARIABLE, а в поле операндов — булевское выражение. Булевское выражение составляется из элементов пяти типов: СЧА, отношений, стандартных логических атрибутов (СЧА), знаков логических операций и скобок. Значением булевской переменной является число 1, когда булевское выражение истинно и число 0 — в противном случае. Подчеркнем, что значением булевской переменной являются именно числа.

Отношение представляет собой запись двух СЧА, соединенных одним из знаков:

‘LE’ — меньше или равно,

‘GE’ — больше или равно.

Отношение имеет значение «истинно» в том и только в том случае, если значения входящих в него СЧА отвечают смыслу соединяющего знака. Например, переменные BV$LOG1 и BV$LOG2 , описанные строками:

LOG1 BVARIABLE V$ABC1’G’5

LOG2 BVARIABLE V$ABC1’NE’V$ABC2,

всегда равны единице, если V$ABC1 и V$ABC2 описаны так, как в предыдущем параграфе.

Если СЧА в логическом выражении не входит в отношение, то ему приписывается логическое значение (в этом случае СЧА должен быть заключен в скобки). Логическое значение «ложно» приписывается в случае, если численно СЧА равен нулю, во всех остальных случаях приписывается значение «истинно».

Стандартные логические атрибуты (СЛА) в GPSS отражают состояние оборудования в модели. Это следующие атрибуты.

FIj — устройство j захвачено,

FNIj — устройство j не захвачено,

FUj — устройство j занято,

FNUj — устройство j свободно,

Fj — устройство j не свободно,

FVj – устройство j доступно,

FNVj – устройство j недоступно.

SFj — память j заполнена,

SNFj — память j не заполнена,

SEj — память j пуста,

SNEj — память j не пуста,

SVj – память j доступна,

SNVj – памятьj недоступна.

LSj — логический ключ j включен,

LRj — логический ключ j выключен.

СЛА блоков MATCH:

M – в j-ом блоке синхронизации есть транзакт того же семейства,

NM – в j-ом блоке синхронизации нет транзакта того же семейства.

Последние два СЛА могут быть использованы только в блоке GATE.

СЛА имеет значение «истинно» тогда и только тогда, когда выполняются соответствующие ему условие — в приведенном перечне оно записано напротив вида индикатора. Указатель j в обозначении индикатора задается так же, как и в обозначении СЧА, т.е. может быть номером, косвенным номером или именем объекта.

Знаки логических операций в описании булевской переменной — это знак логического сложения (+) и знак логического умножения (#). Операция умножения имеет приоритет по отношению к операции сложения. Например, булевская переменная BV$RESURS, описанная строкой:

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

Следует иметь в виду, что, хотя все промежуточные операции в булевской переменной имеют логические значения «истинно» или «ложно», сама булевская переменная имеет числовое значение 0 или 1.

Функции

Функция — это СЧА, обозначаемый в виде FN$name и описываемый пользователем в виде численной зависимости FN$name от другого СЧА. Рассмотрим на примерах, как это делается.

Пусть необходимо, чтобы значение FN$KL1 вычислялось в модели через S$MEM в соответствии с графиком, изображенным на приведенных ниже рисунках.

Рис. *1

Функция, вычисляемая в соответствии с таким кусочно-постоянным графиком, называется дискретной функцией. Она описывается следующими строками:

Первая строка описания функции должна содержать метку функции в поле метки, слово FUNCTION в поле операции и два операнда в поле операндов. Первый операнд является обозначением того СЧА, который выбран в качестве аргумента функции. В данном примере это S$MEM – количество занятых единиц памяти MEM. Второй операнд состоит из буквы D, обозначающей, что данная функция дискретная, и из числа точек, которыми задается график функции. Координаты точек, задающих график, записываются в последующих строках описания функции. Из примера видно, что каждая точка задается парой координат, разделенных запятой, причем вначале указывается абсцисса точки, потом ордината. Координаты разных точек разделяются косой чертой. Функция может задаваться любым числом точек. Запись координат точек начинается с 1-й позиции строки и может быть продолжена на последующих строках.

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

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

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

Кроме того, если значение аргумента в процессе моделирования окажется за пределами диапазона, охваченного графиком, то соответствующий крайний отрезок графика автоматически «продолжается» до нужного места. Так что описанная выше дискретная функция FN$KL1 будет иметь в зависимости от S$MEM следующие значения:

Ссылка на основную публикацию
Adblock detector