Смекни!
smekni.com

Методические указания по курсовому проектированию по курсу «Исследование систем управления» кафедра информационных технологий в экономике и бизнесе (стр. 10 из 20)

1. TABULATE BLACK

2. TABULATE 2

3. TABULATE BLACK,2

В первом примере заполняется таблица с именем BLACK, во втором примере, таблица за номером 2, в третьем примере все данные вносятся с коэффициентом 2.

LOGIC( проверить логику ), GATE ( запирать )

Эта комбинация ОБ LOGIC(Проверить логику) – GATE (Запирать) и ОУ INITIAL может находиться в одном из двух состояний « включено - выключено » и служит для сигнализации о состоянии моделируемой системы по отношению к сложившимся условиям. По терминологии GPSS/H логический переключатель может быть в установочном состоянии (set) - код состояния LS, либо свободен (clear)- код состояния LC. ОУ INITIAL задаёт начальное состояние или изменение состояния логического переключателя, а также сохраняемых величин ( Savevalue ) и матричных величин ( Matrix Savevalue ), его формат имеет вид:

< INITIAL А(n)/ A(n)/…>,

А - не имеет значения по умолчанию и обозначает один из кодов состояния LS, LС, содержимое скобок указывает на имя инициализируемого устройства, слэш “/” символизирует возможный набор устройств, например:

INITIAL LS(KEY)/LC(KNOB).

В этом примере начальное состояние логического переключателя KEY в положении “установить”, а начальное состояние логического переключателя KNOB в положении “ свободен “.

ОБ LOGIC изменяет состояние логического переключателя. Кроме кода действия, ОБ имеет дополнительные коды: S- установлен, C- свободен или переустановлен -R (reset ) и инвертирован – I, т.е. изменил состояние на противоположное, ОБ имеет формат:

< LOGIC X A > ,

X - дополнительный код S ,C( R ), I

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

1. LOGIC S SWCH

2. LOGIC I KL1

В первом примере проходит команда на установку переключателя SWCH

Во втором примере инвертируется переключатель KL1.

Существуют два СЧА, относящихся к логическому переключателю, введённые выше, а именно LS и LC , которые обозначают следующее:

LC (имя или номер )- истинно, когда логический переключатель свободен, если это так, то СЧА равен 1, в противном случае СЧА равен 0.

LS ( имя или номер )- истинно, если логический переключатель установлен, если это так, то СЧА равен 1, в противном случае СЧА равен 0.

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

< GATE XXX A[,B ] >,

XXX - дополнительный код.

Для логического переключателя это LS и LC.

Для устройств:

- I- прервано, NI не прервано, U - захвачено или прервано, NU –ни захвачено и ни прервано, FV- доступно, FNV - не доступно, FS готово к захвату, FNS - не готово к захвату.

Для памятей:

- SE – пуста, SNE - не пуста, SF- полна,SNF- не полна, SV-доступна, SNV – не доступна.

Для транзактов, имеющих одинаковые характеристики (групп, ансамблей):

- M- является членом группы, NM - не является членом группы.

А - не имеет значения по умолчанию ни для одного объекта, представляет собой имя или номер логических переключателей, устройств, памятей или ОБ, проверяющих наличие транзактов, отвечающих заданным условиям. ( К числу таких ОБ относятся ASSEMBLE ,GATHER , MATCH ).

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

Приведём несколько примеров :

1. GATE LS 1

2. GATE FNV 7

3. GATE SF 16

4. GATE FNI 21,ALTR

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

Во втором примере транзакт блокируется пока устройство 7 занято .

В третьем примере транзакт блокируется до заполнения памяти 16 .

В четвёртом примере транзакт после прерывания устройства 21 переходит к ALTR.

В данном параграфе рассмотрены только те операторы блоков, которые потребуются для выполнения курсового проекта, на самом деле ОБ в языке больше и они участвуют в разделении транзактов, их группировании, выделении необходимых и т.д. Кроме того, в последней версии появилось 12 операторов управления с первой буквой В (индекс блока), которые могут включаться в модуль исполнения, упрощая функции управления моделью. Подробнее см. (Л.1,2).

3.3.2. Операторы управления

Как было указано выше, эти операторы используются для управления выполнением программы языка GPSS/H и описания других объектов, встречающихся в программе. Вначале рассмотрим три главных ОУ, без которых процесс моделирования не может быть осуществлен.

А. Главные операторы управления

SIMULATE (моделировать, воспроизвести)

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

START (начать)

При исполнении этого ОУ происходят следующие события:

- счетчик завершений устанавливается в начальное значение,

- инициализируется процесс поступления транзактов в модель,

- начинается последовательное движение транзактов от ОБ к ОБ.

Формат ОУ имеет вид:

<START А>,

А – начальное значение счетчика завершений, от 1 и выше.

Метка у ОУ отсутствует по определению.

ЕND (окончить)

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

ОУ не имеет операндов и меток.

Б. Операторы управления процессом моделирования

Далее рассмотрим ряд операторов управления, приводимых в алфавитном порядке, подробнее см.(Л.1,2).

CLEAR (очистить)

Этот ОУ позволяет провести от двух и более последовательных прогонов модели. Исполнение ОУ происходит после окончания одной реплики и началом другой, таким образом осуществляется связь между репликами. ОУ CLEAR всегда располагается в модуле управления между первым ОУ START и последним ОУ END, появление ОУ CLEAR требует обязательного парного ему ОУ START, т.е. при наличии в модуле управления нескольких ОУ CLEAR, обязательно должно быть столько же ОУ START, не считая первого, стоящего в начале модуля. Исполнение ОУ CLEAR приводит к следующим последствиям :

· Относительное и абсолютное время обнуляются .

· Все транзакты, находящиеся в модели к моменту окончания процесса ИМ, т.е. вошедшие в модель, но не дошедшие до ОБ TERMINATE уничтожаются.

· Все устройства и памяти модели возвращаются в состояние готовности ( не занятости ).

· Все статистические данные обнуляются (число использованных ОБ, число входов в устройства, памяти и очереди, максимальное содержание памятей и очередей и т.д. ).

Повторение нового прогона необходимо для сбора статистических данных о модели, однако при этом нельзя забывать того обстоятельства, что при простом повторении прогона генераторы случайных чисел -ГСЧ стартуют с одной и той же позиции и выходная статистика от прогона к прогону не будет изменяться. Для того, чтобы прогоны сделать статистически независимыми необходимо, чтобы ГСЧ не возвращались в исходное положение. ОУ CLEAR позволяет, дополнительно к вышесказанному, сделать это за счёт реализации следующих положений :

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

· Счётчик ИН транзактов также не обнуляется и номера транзактов нового прогона являются продолжением после последнего номера транзакта предыдущего прогона ( например, если предыдущий прогон кончился ИН 104, то новый начинается с ИН 105).

Формат ОУ CLEAR имеет вид :

< CLEAR >

Необходимо отметить , что ОУ никогда не имеет ни меток (ярлыков), ни операндов. Пример применения ОУ CLEAR будет приведен непосредственно при рассмотрении примера в 3.7.

FUNCTION ( функционировать )

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

< label FUNCTION A,B,[C] основной формат

X1,Y1/X2,Y2/,…/Xn,Yn > точки функции

Label – ярлык употребляется в обязательном порядке и служит для идентификации функции .

А - не имеет значения по умолчанию, определяет независимую переменную функции (аргумент), например, если используется равномерное распределение и БСВ берётся с 3-го генератора, то запись будет иметь вид RN3 (random number). Операнд может кодироваться дополнительным выражением. Единственным ограничением является то, что аргумент не может прямо или косвенно ссылаться на функцию для которой он является независимой переменной. Значения функции могут задаваться числом с плавающей точкой.

B - не имеет значения по умолчанию, состоит из двух символов ( без пробела), первый из которых представляет собой обозначение типа функции, вида: C- непрерывная числовая, D – дискретная числовая, L - список числовых значений, E - дискретная символьная, M – список дискретных символов, S- селектор объектов; второй символ представляет собой целое число связанных пар значений функции, которые представляют собой точки функции и приводятся во второй строке описания формата. Если используется символ S, то он уточняется операндом С, используемым только в этом случае .

С - по умолчанию равен 0, применяется для перечисления типов объектов, если используются объекты разных типов, то приводятся их символы, разделяемые запятой без пробелов.