ЛАБОРАТОРНАЯ РАБОТА №6
МОДЕЛИРОВАНИЕ СИСТЕМ МАССОВОГО ОБСЛУЖИВАНИЯ
С ОТКАЗАМИ И ОГРАНИЧЕННОЙ ОЧЕРЕДЬЮ
Цель работы: Ознакомление с применением средств GPSS для организации ветвлений и циклов, получение практических навыков имитационного моделирования одно- и многоканальных систем массового обслуживания с отказами или ограниченной очередью.
При подготовке к лабораторной работе необходимо знать алгроитм работы и основные характеристики СМО с отказами [3-5].
Краткие теоретические сведения
6.1 Использование констант в языке GPSS
Для большей наглядности в программах моделей на GPSS используют константы. Для определения константы в GPSS применяется зарезервированное слово EQU. Формат определения константы имеет вид:
LINE |
NAME |
EQU |
VALUE |
где LINE – номер строки;
NAME – символьное имя константы;
EQU – имя блока определения константы;
VALUE – числовое значение константы.
После определения константы в программе вместо ее значения можно использовть его символьное обозначение. Например:
1 |
cRed |
EQU |
4 |
|
2 |
cGreen |
EQU |
2 |
|
3 |
cBlue |
EQU |
1 |
|
. . . |
||||
100 |
ASSIGN |
COLOR, cGreen |
||
. . . |
||||
200 |
START |
1 |
Данный пример программы иллюстрирует один из способов применения блока EQU. В частности здесь заданы три константы которые под символьными именами имеют числовые значения, соответствующие кодам основных цветов. Благодаря этому наглядность программы явно увеличивается. В другом примере
50 |
AVK_1 |
EQU |
3 |
|
. . . |
||||
110 |
TEST L |
Q$LINE1A,AVK1,AAA2 |
константе AVK1 присваивается числовое значение 3, что дает возможность использовать число под символьным именем в блоке сравнения TEST (работа этого блока будет рассмотрена ниже).
6.2 Организация присваивания параметров транзактов в языке GPSS
Значения параметров транзактов могут изменяться при входе в блок ASSIGN A,B,C (НАЗНАЧИТЬ). Блок ASSIGN может работать в трех режимах.
В режиме замены (операнд C используется по умолчанию) при входе транзакта в блок ASSIGN параметру, номер которого задается операндом A, присваивается значение, определяемое операндом B. Например,
ASSIGN |
2, 12 |
|||
ASSIGN |
3, FN$EXPON |
В первом случае при входе транзакта в блоке ASSIGN произойдет присваивание параметру P2 значения 12.Рассмотрим второй случай. Пусть при входе транзакта в блок ASSIGN P3 = 5, а FN#EXPON = 4, тогда произойдет присваивание параметру P5 значения 4 (косвенная адресация).
Если блок ASSIGN используется в режиме приращения ASSIGN A, B (C по умолчанию), то в случае "+" происходит увеличение, а в случае "-" - уменьшение значения параметра, номер которого задается операндом A, на величину, определяемую операндом B. Например,
ASSIGN |
4, +Q2 |
|||
ASSIGN |
V5, -FN2 |
В первом случае значение параметра P4 увеличивается на величину, равную текущему содержимому очереди с номером 2, во втором - значение параметра, номер которого определяется численным значением арифметической переменной с номером 5, уменьшается на величину, равную целой части текущего значения функции FN2.
В режиме вычисления используется операнд C. В этом случае интерпретатор выполняет следующие действие: вычисляет значение операнда C; рассчитывает значение функции, номер которой соответствует вычисленному значению C; полное значение функции перемножает с содержимым операнда B; целая часть произведения используется для замены или приращения параметра, номер которого определен операндом A. Например,
ASSIGN |
2+, 4, 3 |
Если в момент входа транзакта в блок FN3 = 2,15, то значение параметра P2 увеличится на 8 (4´2). В качестве операнда C можно использовать любой СЧА, тогда значение этого СЧА будет интерпретироваться как номер функции (косвенное определение функции). Использование символических имен не допускаются.
6.3 Объекты GPSS для организации ветвлений и циклов
Блок TEST (ПРОВЕРИТЬ) предназначен для пересылки транзактов, вошедших в этот блок, к другому блоку в зависимости от выполнения некоторого условия, связывающего два СЧА:
ИМЯ |
TEST X |
A, B, C |
Операнды A и B являются именами сравниваемых СЧА, вспомогательный оператор X помещается, начиная с колонки 13 поля операции, и может быть либо одной из букв G, E или L (соответственно для "больше", "равно" или "меньше"), либо одним из двухбуквенных сочетаний GE, NE или LE (соответственно для "больше или равно", "не равно" и "меньше или равно"). Таким образом, TEST проверяет соотношение Х между А и В.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.