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


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Основные операторы языка 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 - завершить работу интерпретатора.

 

 



Поделиться:


Последнее изменение этой страницы: 2020-12-09; просмотров: 59; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.142.98.108 (0.009 с.)