WTABLE - определяет взвешенную таблицу. 16Формат: num WTAB[LE] A,B,C,D,E
17 num -номер таблицы;
18 A - аргумент таблицы (-);
19 IA- промежуточный интервал;
20 RT- интенсивность прихода;
21 В - верхняя граница нижнего интервала;
22 С - ширина интервала;
23 D - число интервалов;
24 E - интервал времени.
25 WTABLE определяет таблицу точно так же, как и оператор TABLE, который содержит буквенный символ в поле D. Если за полем А WTABLE следует знак (-), то таблица работает в разностном режиме. Входы в таблицу представляют собой значения аргумента, указанного в поле А, которые взвешиваются по значениям, указанным в поле В соответствующего блока TABULATE.
26 Примеры
27 1. 1 WTAB Р$1, 5,5,5
28 Определяет таблицу 1, в которой фиксируются значения параметра 1, взвешенные
29 блоком TABULATE.
30 2. 2 WTAB Р$3-,5,5,5
31 Определяет таблицу 2 для записи взвешенных разностей последовательных значений
32 параметра 3.
33 См.также:
34 DQTABLE
35 DTABLE
36 QTABLE
37 TABLE
38 WDQTABLE
39 WDTABLE
40 WQTABLE
41 TABULATE
WDTABLE (РАЗНОСТНАЯ ТАБЛИЦА ВЗВЕШЕННЫХ ИНТЕРВАЛОВ)
45 WDTABLE-определяет таблицу взвешенных интервалов.
46Формат: num WDTA[BLE] А,В,С,D
47 num - номер таблицы;
48 А - аргумент таблицы;
49 В - верхняя граница нижнего частотного интервала;
50 С - ширина интервала;
51 D - число интервалов.
52 WDTABLE определяет таблицу так же, как оператор TABLE со знаком (-) в поле А и буквенным символом в поле D. Входами в таблицу будут являться разности между последовательными значениями аргумента таблицы (поле А), взвешенные по величине, заданной в поле В соответствующего блока TABULATE. Режимы RT и IA не используются.
53 Пример
54 2 WDTABLE ХН$3,1,1,10
55 Описывает таблицу взвешенных разностей последовательныхзначений поголовной
56ячейки3.
57 См.также:
58 DQTABLE
59 DTABLE
60 QTABLE
61 TABLE
62 WDQTABLE
63 WQTABLE
64 WTABLE
65 TABULATE
QTABLE (ТАБЛИЦА ОЧЕРЕДИ)
69 QTABLE- определяет таблицу очереди.
70Формат: num QTAB[LE] А,В,С,D
71 num - номер таблицы;
72 А - номер очереди (-);
73 В - верхняя граница нижнего частотного интервала;
74 С - ширина интервала;
75 D - число интервалов.
76 Создает таблицу, содержащую значения времени пребывания в очереди. Знак минус (-),
77 следующий за полем А, определяет, что эта таблица является разностной таблицей (DQTABLE). Поля B,C,D определяют характеристики таблицы интервалов. Начальный буквенный символ в поле D указывает взвешенную таблицу.
78 Примеры
1 2 QTABLE 1,5,5,10
2 Создает таблицу времени пребывания в очереди 1.
3 2. 3 QTABLE 2-,5,6,10
4 Входы в таблицу являются разностями времен пребывания для последовательно
5 входящих в очередь двух транзактов.
6 См.также:
7 DQTABLE
8 QTABLE
9 TABLE
10 WDQTABLE
11 WDTABLE
12 WQTABLE
13 WTABLE
14 QUEUE
15 DEPART
DQTABLE (РАЗНОСТНАЯ ТАБЛИЦА ОЧЕРЕДИ)
19 DQTABLE- определяет разностную таблицу очереди.
20Формат: num DQTA[BLE]) А,В,С,D
21 num -номер таблицы;
22 А - номер очереди;
23 В - верхняя граница нижнего частотного интервала;
24 С - ширина интервала;
25 D - число интервалов таблицы (включая левый - нижний и правый - верхний).
26 Таблица или гистограмма будет содержать разности между последовательными значениями времен пребывания в очереди. Поле А определяет номер очереди, для которой строится таблица. Поля B,C,D характеризуют ее интервалы и число попаданий в них табулируемой величины.
27 Примеры
28 1. 2 DQTABLE 1,10,5,10
29 Определяет таблицу 2, которая является разностной таблицей для очереди 1 с десятью
30 интервалами и шириной 5 единиц каждый.
1 3 DQTABLE l,10,5,W10
2 Буквенный символ в начале поля D определяет взвешенную таблицу.
3 См-также:
4 DTABLE
5 QTABLE
6 TABLE
7 WDQTABLE
8 WDTABLE
9 WQTABLE
10 WTABLE
11 QUEUE
12 DEPART
WQTABLE (ВЗВЕШЕННАЯ ТАБЛИЦА ВРЕМЕНИ ПРЕБЫВАНИЯ В ОЧЕРЕДИ)
15.2.
15.3.Формат: numWQTA [BLE] A,B,C,D
15.4. num - номер таблицы;
15.5. А - номер очереди (-);
15.6. В - верхнее граничное значение нижнего интервала;
15.7. С - ширина интервала;
15.8. D - число интервалов.
15.9. WQTABLE работает так же, как и QTABLE, который содержит буквенный символ в поле D. Если за полем А WQTABLE следует знак (-), то таблица работает в разностном режиме. Входами в таблицу являются значения времени пребывания в очереди, взвешенные значением поля В соответствующего блока DEPART.
15.10. Примеры
1 2 WQTA 1,10,5,7
2 Определяет взвешенную таблицу для очереди 1.
1 3 WQTA 1-,10,5,7
2 Определяет взвешенную разностную таблицу для очереди 1.
3 См.также:
4 DQTABLE
5 DTABLE
6 QTABLE
7 TABLE
8 WDQTABLE
9 WDTABLE
10 WTABLE
11 QUEUE
12 DEPART
WDQTABLE (ВЗВЕШЕННАЯ РАЗНОСТНАЯ ТАБЛИЦАВРЕМЕНИ ПРЕБЫВАНИЯ В ОЧЕРЕДИ)
13.2.
13.3. Формат: numWDQT [ABLE] A,B,C,D
13.4. num - номер таблицы;
13.5. А - номер очереди;
13.6. В - верхняя граница нижнего интервала;
13.7. С - ширина интервала;
13.8. D - число интервалов.
13.9. WDQTABLE определяет таблицу идентично оператору QTABLE со знаком (-) в поле А и буквенным символом в поле D. Входами в таблицу будут разности между последовательными продолжительностями задержки в очереди, взвешенные значением поля В соответствующего блока DEPART.
13.10. Пример
13.11. 1 WDQTABLE 4,5,5,10
13.12. Создает взвешенную разностную таблицу для очереди 4.
13.13. См.также:
13.14. DQTABLE
13.15. DTABLE
13.16. QTABLE
13.17. TABLE WDTABLE
13.18. WQTABLE
13.19. WTABLE
13.20. QUEUE
13.21. DEPART
13.22.
13.22.1. УПРАВЛЯЮЩИЕ ОПЕРАТОРЫ
13.22.2.
END (ЗАКОНЧИТЬ)
13.22.4.
13.22.5. END - заканчивает задание (выполнение прогона модели).
13.22.6. Формат: END
13.22.7. Операндов не имеет.
13.22.8. Оператор END не является обязательным. Если он включен, оператором,то является последним
13.22.9. Пример
13.22.10. END Последний оператор.
13.22.11.
REALLOCATE (ПЕРЕРАСПРЕДЕЛИТЬ)
13.22.13.
13.22.14. REALLOCATE- определяет максимальное число объектов в модели.
13.22.15.Формат: REAL[LOCATE] ОБЪЕКТ,КОЛИЧЕСТВО,...,ОБЪЕКТ,КОЛИЧЕСТВО
13.22.16. ОБЪЕКТЫ:
13.22.17. FАС - прибор, по умолчанию 20;
13.22.18. FSV - полнословная ячейка, по умолчанию 100;
13.22.19. FUN - функции, по умолчанию 20;
13.22.20. HSV - полусловная ячейка, по умолчанию 100;
13.22.21. LOG - логические ключи, по умолчанию 100;
13.22.22. QUE - очереди, по умолчанию 35;
13.22.23. STO - памяти, по умолчанию 20;
13.22.24. TAB - таблицы, по умолчанию 15;
13.22.25. VAR - переменные, по умолчанию 20;
13.22.26. ХАС - транзакты, по умолчанию 100.
13.22.27.
13.22.28. КОЛИЧЕСТВО - целое число.
13.22.29.
13.22.30. Оператор REALLOCATE, если он используется, должен быть первым в GPSS - программе. Он используется для изменения числа объектов в модели, принимаемых по умолчанию. Если задаваемое число объектов в модели меньше, чем значение по умолчанию, то экономится память.
13.22.31. Пример
13.22.32. REAL XAC,150,FAC,5,TAB,l,VAR,2
13.22.33. Значения по умолчанию изменены на 150 транзактов, 5 приборов, 1 таблицу, 2
13.22.34. переменных.
13.22.35.
RESET (СБРОСИТЬ)
13.22.37.
13.22.38. RESET -очищает накопленную статистику.
13.22.39.Формат: RESE[T]
13.22.40. Операндов не имеет.
13.22.41. Вся статистика и таймер относительного времени сбрасываются в 'ноль'. Текущее состояние модели не изменяется. Ячейки, логические ключи и транзакты остаются без изменений.
13.22.42. Пример
13.22.43. RESET
13.22.44. Сбрасывает в ноль.
13.22.45.
RMULT (УСТАНОВИТЬ ЗНАЧЕНИЯ ГЕНЕРАТОРОВ)
13.22.47.
13.22.48. RMULT -устанавливает начальное значение генератора случайных чисел.
13.22.49.Формат: RMUL[T] A,B,C,D,E,F,G
13.22.50. А - начальное значение генератора 1;
13.22.51. В - начальное значение генератора 2;
13.22.52. G - начальное значение генератора 7.
13.22.53.
13.22.54. В соответствующее поле устанавливается определенное начальное значение генератора случайных чисел. Если поле не определено, то соответствующее начальное значение не изменяется. Если начальным значением генератора является ноль, то генератор будет выдавать нули.
13.22.55. Пример:
13.22.56. RMULT „947,,,0
13.22.57. Начальным значением генератора 3 будет установлено число 947, генератор 6 будет
13.22.58. выдавать нули.
13.22.59.
SIMULATE (МОДЕЛИРОВАТЬ)
13.22.61.
13.22.62. SIMULATE -требование исполнения программы.
13.22.63.Формат: SIMU[LATE]
13.22.64. Операндов не имеет.
13.22.65.
13.22.66. Оператор SIMULATE необходим, когда требуется выполнить прогон модели. Без оператора SIMULATE интерпретатор GPSS компонует (ассемблирует) модель, но прогона модели не выполняет.
13.22.67. Пример
13.22.68. SIMULATE Выполнить прогон модели.
13.22.69. См.также: START
13.22.70.
START (НАЧАТЬ)
13.22.72.
13.22.73. START- управление процессом моделирования.
13.22.74.Формат: STAR[T] А,В,С,D
13.22.75. А - счетчик числа завершений;
13.22.76. В - подавление вывода на печать (В = NP);
13.22.77. С - промежуточный вывод статистики; 0 - распечатка списков.
13.22.78. Поле А определяет счетчик завершений при прогоне модели. При входе транзакта в блок TERMINATE с ненулевым значением поля А, содержимое поля А блока TERMINATE вычитается из остаточного значения счетчика - поля А карты START.
13.22.79. Прогон завершается, когда значение счетчика достигнет нуля. Указатель NP в поле В отменяет вывод стандартного отчета GPSS. Величина , указанная в поле С, определяет число завершений, по достижении которого выдается промежуточный отчет. Таким образом можно получать статистические данные в определенных интервалах моделирования. Если поле D содержит 1, полученный отчет будет содержать списки текущих и будущих событий, а также списки пользователя.
13.22.80. Примеры
1 START LOCO
2 Выполнение модели до 1000 завершений.
3 2.START100..25
4 Выполнение модели до 100 завершений и вывод отчета через каждые 25 завершений.
1 START 100, NP
2 Отменить вывод отчета.
3 См.также: TERMINATE
9
10 Основные операторы языка GPSS
11 Основные операторы языка GPSS приведены в виде примеров с конкретными значениями подполей в поле переменных.
12 GENERATE 12,4,50,5,1 - генерация транзактов, интервалы времени между появлениями транзактов распределены равномерно в диапазоне [12-4, 12+4], первый транзакт появится с задержкой в 50 единиц модельного времени, всего будет создано 5 транзактов, приоритет транзактов равен единице.
13 GENERATE 12,4,50,,1 - то же, но количество генерируемых транзактов неограничено.
14 GENERATE 6, FN$FFF,50,5,1- то же, но интервал времени между появлениями транзактов есть целая часть произведения числа 6 на значение фунции FFF.
15 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).
16 FNK FUNCTION *2,D4 0,12/1,9/2,8/3,6 - то же, но аргументом является значение второго параметра транзакта, для которого вычисляется значение дискретной величины (D) числовой функции FNK, заданной таблично четырьмя узловыми точками. Это текущее значение округляется до ближайшего большего значения аргумента в узловой точке.
18
19 SEIZE PLOT - занятие устройства PLOT приходящим на его вход транзактом; если устройство занято, то транзакт задерживается в очереди к этому устройству.
20 RELEASE PLOT - освобождение устройства PLOT обслуженным транзактом.
21 ENTER MEM,12- занятие транзактом 12 единиц емкости в накопителе MEM.
22 LEAVE MEM,*2 - освобождение k единиц памяти в накопителе MEM, гдк k - значение 2-го параметра транзакта.
23 STR STORAGE 4096 - описание накопителя STR емкостью 4096 единиц.
24 TERMINATE 3 - удаление транзакта из системы, при этом содержимое итогового счетчика уменьшается на 3 единицы, моделирование заканчивается, если содержимое счетчика станет равным или меньше нуля.
25 ADVANCE A,B - задержка транзакта на время, определенное содержимым полей A и B, смысл величин, записываемых в этих подполях , такой же, как и в операторе GENERATE.
26 SPLIT 3,LLL,6 - копирование транзактов, в данном случае создаются три копии исходного транзакта, исходный транзакт направляется в следующий по порядку блок, а созданные копии - в блок с меткой LLL, при этом параметр 6 основного транзакта увеличивается на единицу, а транзактов - копий - на 2, 3, 4 соответственно.
27 ASSEMBLE 5 - объединение транзактов, первый из вошедших в блок транзактов продолжит движение в системе после того, как в блок придут еще четыре транзакта.
28 ASSIGN 2,NAP- изменение параметров транзактов, в данном случае второй параметр транзакта получит значение NAP.
29 ASSIGN 3+,V4 - изменится значение третьего параметра транзакта - к нему прибавится значение V4.
30 TRANSFER ,MET - безусловная передача управления оператору с меткой (номером) MET.
31 TRANSFER BOTH,LAB1,UNN - переход к оператору с меткой LAB1, если он невозможен, то к оператору с меткой UNN , если и он невозможен, то транзакт задерживается до следующего момента дискретного модельного времени, в который повторяются указанные попытки перехода.
32 TRANSFER .4,AAA,LAB- транзакт с вероятностью 0.4 переходит к оператору с меткой LAB и с вероятностью 0.6 к оператору с меткой AAA.
33 TRANSFER PICK,STK7,STK21 - равновероятный переход к операторам с номерами STK7, STK7+1, STK7+2, . . . , STK21.
34 TRANSFER FN,AAA,5 - переход к оператору, метка которого равна сумме значения функции AAA и числа 5.
35 TRANSFER P,4,41 - переход к оператору, метка которого равна сумме значения парметра N 4 транзакта и числа 41.
36 TRANSFER SBR,PRC,7 - переход к оператору PRC с записью в параметр N 7 транзакта метки данного оператора.
37 LOOP 6,MET - организация цикла - переход 5 раз к оператору с меткой MET и на шестой раз - к следующему по порядку оператору.
38 TEST E V7,K256,LAB- переход по условию (условная передача управления): в позициях 13-18 записывается знак отношения, в первых двух подполях поля переменных записываются сравниваемые величины, если условие выполняется, то перехода нет, иначе переход есть к оператору с меткой LAB. Символы отношений: G - больше, L - меньше, E - равно, NE - неравно, LE - меньше или равно, GE - больше или равно. В данном примере перехода нет, если V7 = 256, иначе переход к оператору с номером LAB.
39 QUEUE SQV- оператор организации очереди, длина очереди SQV увеличивается на единицу.
40 DEPART SQV - то же, но длина очереди уменьшается на единицу.
41
42 PRIORITY 2- транзакту присваивается приоритет 2.
43 SIMULATE - начальная карта программы, если разработчик намерен выполнить прогон модели. Если эта карта отсутствует, то интерпретатор проверяет правильность записи модели на языке GPSS, но прогона модели не выполняет.
44 START 100,,25 - занесение значения 100 в итоговый счетчик, вывод накопленных статистических данных производится с интервалом изменения содержимого итогового счетчика в 25 единиц.
45 TABULATE MAT7- в соответствующий интервал гистограммы с именем MAT добавляется единица.
46 MAT7 TABLE P3,8,1,5 - описание таблицы (гистграммы) MAT7, предназначенной для табулирования величины, значения которой находятся в третьем параметре транзакта, входящего в оператор TABULATE MAT7, верхний предел левого интервала гистограммы равен 8, ширина каждого последующего интервала равна 1, всего интервалов 5.
47 5 VARIABLE X2 - K25 - вычислительный оператор, в данном случае из хранимой величины N 2 вычитается число 25 и результат присваивается переменной N 5.
48 SAVEVALUE 5,*3 - хранимая величина N 5 (X5) получает значение третьего параметра транзакта.
|