Задания для самостоятельного выполнения

1. Задайте переменную VAR1 произвольно. Задайте переменную VAR2 и определите ее значение.

VAR2 = (2.8 × <значение переменной VAR1> + + 128): 3.

2. Задайте переменную VAR3 и определите ее значение.

VAR3 = (7/4) × 100 × <значение переменной VAR2> + 41.

3. Пусть переменная VAR4 содержит количество изделий первого сорта, а переменная VAR5 – второго. Задайте переменную VAR6, которая давала бы процент изделий первого сорта от общего числа изделий.

4. Задайте булеву переменную BVAR1, которая равна единице, если оба устройства (FACIL1 и FACIL2) находятся в состоянии «занято», и ноль – для всех других случаев (F$имя – СЧА, определяющий занятость устройства, выдает значение 1, если устройство занято, 0 – если свободно).

5. Промоделируйте случайную величину PART, равномерно распределенную на отрезке [1, 8]. Постройте график функции (см. прил. 1).

6. Приведите фрагмент программы, который моделирует процесс выбора товара в магазине. Время выбора товара равномерно распределено на интервале [4, 9] мин. Единица модельного времени – 1 мин. Постройте график функции.

7. Приведите фрагмент программы, который моделирует процесс прихода покупателей в магазин. Интервалы времени между приходом покупателей распределены равномерно на интервале [11, 16]. Единица модельного времени – 1 мин. Постройте график функции.

8. Время обслуживания некоторым ОКУ распределено равномерно на интервале А ± 6, где среднее время обслуживания А с вероятностью 0,5 принимает значение 8 и с такой же вероятностью – значение 6. Постройте модель процесса обслуживания устройством и график функции.

9. Среднее значение интервалов поступления в пуассоновском потоке требований равно 3 ч. Промоделируйте процесс поступления требований. Единица модельного времени – 1 мин. Постройте график функции.

10. Среднее значение интервалов поступления в пуассоновском потоке заявок равно 10 мин. Промоделируйте процесс поступления заявок. Единица модельного времени – 0,01 мин. Постройте график функции.

11. Время, необходимое для подгона деталей, распределено по нормальному закону с математическим ожиданием 90 и среднеквадратическим отклонением 15. Промоделируйте процесс подгона деталей. Постройте график функции.

СЧА, ПАРАМЕТРЫ ТРАНЗАКТОВ,

БЛОКИ ASSIGN, MARK, LOOP

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

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

Атрибуты условно делятся на две категории: атрибуты системы (атрибуты блоков и системные атрибуты) и атрибуты транзактов. Атрибуты блоков это параметры, которые описывают со­стояние статических объектов модели, например, «текущая длина очереди» или «коэффициент загрузки устройства». Стандартный набор таких атрибутов автоматически поддерживается ин­терпретатором GPSS. Системные атрибуты модели относятся к глобальной информации, которая не связана с какими-то отдельными элементами (например, информация о системном времени). Атрибуты транзактов (такие как уровень приоритета) задают в операторе GENERATE. Кроме того, транзакт может обладать некоторым числом параметров.

Атрибуты (свойства) объектов называются стандартными числовыми атрибутами (СЧА). Каждый объект GPSS имеет свой набор СЧА. Доступ к СЧА осуществляется с применением специальных обозначений. Так как объекты могут иметь числовые и символьные имена, то в первом случае, ссылка на СЧА объекта записывается как CЧAj, где j – номер объекта (целое число); во втором – СЧА$<имя объекта>.

В табл. 1.6 показаны СЧА одноканальных устройств (ОКУ), в табл. 1.7 – СЧА многоканальных (МКУ), в табл. 1.8 – СЧА очередей. Полный список всех СЧА приведен в [1, 4].

Т а б л и ц а 1.6. СЧА ОКУ

Обозначение Значение
Fj или F$имя Показатель занятости устройства (0 – если не заня­о, 1 – если занято)
FCj или FС$имя Количество транзактов, занимавших устройство
FRj или FR$имя Коэффициент использования устройства, выраженный в долях тысячи
FTj или FТ$имя Среднее время использования устройства одним транзактом
FVj или FV$имя Флаг готовности устройства к использованию (1 – готово, 0 – в противном случае)

Т а б л и ц а 1.7. СЧА МКУ

Обозначение Значение
Rj или R$имя Емкость незаполненной части МКУ. Целочисленное значение
Sj или S$имя Емкость заполненной части МКУ. Целочисленное значение
SAj или SA$имя Среднее значение заполнения МКУ. Вещественное значение

  Окончание таблицы 1.7
SCj или SС$имя Счетчик числа входов в МКУ. (При каждом входе транзакта в блок ENTER значение счетчика увеличива­ется на значение операнда В этого блока)
SMj или SМ$имя Максимально занятая емкость МКУ. Запоминает максимальное значение Sj (S$имя)
SRj или SR$имя Коэффициент использования МКУ, выраженный в долях тысячи
STj или ST$имя Среднее время использования одного элемента МКУ
SVj или SV$имя Флаг готовности МКУj к использованию (1 – готово, 0 – не готово)

Т а б л и ц а 1.8. СЧА очередей

Обозначение Значение
Qj или Q$имя Текущее значение длины очереди (целое число)
QAj или QA$имя Среднее значение длины очереди
QCj или QC$имя Целая часть общего числа входов в очередь. При каждом входе в блок QUEUE очереди значение QCj (QC$имя) увели­чивается на значение операнда В, при каждом входе в блок DEPART очереди значение QCj (QC$имя) уменьшается на значение операнда В
QMj или QM$имя Целая часть максимального значения длины очереди (максимальное значение Qj (С)$имя))
QTj или QT$имя Среднее время пребывания в оче­реди всех транзактов, которые входили вочередь (включая и те, которые не ждали – нулевые вхо­ды)
QXj или QX$имя Среднее время пребывания в оче­реди транзактов, которые ждали в очереди (ненулевые входы)
QZj или QZ$имя Число входов с нулевым прибыванием в очереди (целое число)

СЧА блоков и системные СЧА. Блоки имеют два стандартных числовых атрибута (их подсчет ведется автоматически): Wj (W$<меткa блока>) – счетчик текущего числа транзактов, находящихся в блокеc номером j (c меткой блока); Nj (N$<метка блока>) – счетчик входов,т. е. общее число транзактов, вошедших в блок j c момента последнего действия опера­торов RESET и CLEAR (от начала работы модели, если не было опе­раторов RESET и CLEAR). Назначение опера­торов RESET и CLEAR описано в [1, 3, 4].

К системным СЧА пользователь может обращаться в модели, но не может изменять их значение. К ним относятся: C1 – текущее значение относительного модельного времени(автоматически изменяется интерпретатором и устанавливается в 0 при выполнении операторов CLEAR и RESET); AC1 – текущее значение абсолютного модельного времени (ав­томатически изменяется интерпретатором и устанавливается в 0 только при выполнении оператора CLEAR); TG1 – текущее значение счетчика завершения; PR – приоритет обрабатываемого в данный мо­мент транзакта; Ml – время пребывания в моделиобрабатываемого интерпретатором в данный момент транзакта. Полный список системных СЧА приведен в [1, 3, 4].

Примеры. Использование СЧА в блоках ENTER и ADVANCE.

1. ENTER 3,R3 – при входе транзакта в блок ENTER, он занимает R3 каналов устройства c именем 3. Так как R3 – число доступных каналов МКУ 3, то транзакт занимает все каналы, которые оставались свободными до его входа.

2. ENTER HS,R$HS – войдя в блок ENTER, транзакт занимает все доступные каналы (R$HS) МКУ c именем HS.

3. ADVANCE FС$PRIB – время задержки в этом блоке равно числу занятий устройства PRIB.

Параметры транзактов

Параметры транзакта – это свойства транзакта, определяемые пользователем. Множество параметров транзакта – набор СЧА, которые принадлежат транзакту. В процессе перемещения транзакта по модели, его параметры могут задаваться и модифицироваться в соответствии c логикой работы модели. [4]

Доступ к параметрам транзактов осуществляется в следующем формате: P<номер> или Р$<имя>, где P – СЧА транзакта, определяющий его групповое имя, т. е. имя всех параметров транзакта. Номера (имена) конкретных членов множества параметров задают целыми числами или символьными именами. Например, P22 – это 22-й параметр транзакта, P$COLOR – параметр c именем COLOR.

Каждый транзакт может иметь любое количество параметров. Значения СЧА для транзактов и логика их изменения задаются разработчиком модели. При этом интерпретация смысла параметров имеет произвольный характер. При генерации транзакта начальное значениевсех его параметров автоматически устанавливается в ноль (только тех, которые используются в модели). Значениями параметров транзактов могут быть любые числа. Параметры могут приобретать отрицательные значения. Транзакт может обращаться только к своим параметрам. Если необходимо получить доступ к параметрам других транзактов, то это можно сделать через ячейки сохраняемых величин (см. п. 1.11) или используя группы транзактов. Параметры можно использовать в качестве операндов блоков и в качестве аргументов функций. Параметры позволяют организовать косвенную адресацию блоков.

Пример. Определить время задержки транзакта как значение функции ААА.

AAA FUNCNION P3,D3

-3,4/3,7/10,8

ADVANCE FN$AAA,3

Выполнение блока ADVANCE предусматривает расчет функции AAA. Это, в свою очередь, требует определения значения аргумента функции, т. е. параметра P3 обрабатываемого в данный момент транзакта. Пусть значение третьего параметра транзакта, вошедшего в блок ADVANCE, равно 4. Соответствующее значение функции AAA равно 8. Таким образом, время задержки будет равномерно распределено на интервале 8±3.

Пример. [4] Задать номер устройства и время задержки с помощью параметров транзакта PRIB и TSERV:

SEIZE P$PRIB

ADVANCE P$TSERV

RELEAZE P$PRIB

Транзакт занимает устройство, номер которого задан параметром транзакта PRIB. Время обслуживания задается параметром с именем TSERV


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: