Студопедия — Приложение. Основные правила и операторы языка GPSS:
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Приложение. Основные правила и операторы языка GPSS:






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

Для описания имитационной модели на языке GPSS полезно представить ее в виде схемы, на которой отображаются элементы СМО - устройства, накопители, узлы и источники. Описание на языке GPSS есть совокупность операторов (блоков), характеризующих процессы обработки заявок. Имеются операторы и для отображения возникновения заявок, задержки их в ОА, занятия памяти, выхода из СМО, изменения параметров заявок (например, приоритетов), вывода на печать накопленной информации, характеризующей загрузку устройств, заполненность очередей и т.п.

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

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

Структура операторов GPSS:

В записи оператора выделяют три части: метку, название, поле переменных.

Пример оператора:

110 L1 GENERATE 30,5 Первый сегмент модели

2....6.8.................18..19.............................................................70

<метка><название> <поле переменных> <комментарии>

 

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

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

Примеры СЧА: К126 - константа, равная 126; V2 - переменная N 2; Q4 - длина очереди N 4; X5 - хранимая величина N 5; FN7 - функция N 7; P4 - значение параметра N 4 транзакта; *6 - содержимое параметра N 6 транзакта; S*3 (или FN*3) - память (или функция), определенная в параметре N 3 транзакта.

 

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

 

 








Дата добавления: 2015-10-15; просмотров: 424. Нарушение авторских прав; Мы поможем в написании вашей работы!



Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

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

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

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

Закон Гука при растяжении и сжатии   Напряжения и деформации при растяжении и сжатии связаны между собой зависимостью, которая называется законом Гука, по имени установившего этот закон английского физика Роберта Гука в 1678 году...

Седалищно-прямокишечная ямка Седалищно-прямокишечная (анальная) ямка, fossa ischiorectalis (ischioanalis) – это парное углубление в области промежности, находящееся по бокам от конечного отдела прямой кишки и седалищных бугров, заполненное жировой клетчаткой, сосудами, нервами и...

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

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

Studopedia.info - Студопедия - 2014-2024 год . (0.008 сек.) русская версия | украинская версия