Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные КМ.doc
Скачиваний:
60
Добавлен:
29.03.2016
Размер:
3.23 Mб
Скачать

2.Литература:

2.1 Д. Н. ШЕВЧЕНКО, И. Н. КРАВЧЕНЯ «ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ НА GPSS» Учебно-методическое пособие.

2.2 http://www.belsut.gomel.by/Ellibrary/12/

imitacionnoe_modelirovanie_gpss_kravchenya_shevchenko.pdf

2.3 http://www.bibliofond.ru/view.aspx?id=490533

2.4 Кельтон, В. Имитационное моделирование / В. Кельтон, A. Jloy. - 3-е изд. - СПб.: Питер, 2004. - 848 с.

2.5 Максимей, И. В. Имитационное моделирование на ЭВМ / И. В. Мак­симей. - М. : Радио и связь, 1988. - 232 с.

2.6 Шрайбер, Т. Дж. Моделирование на GPSS / Т. Дж. Шрайбер. - М. : Машиностроение, 1980. - 593 с.

3.Подготовка к работе:

3.1. Изучить предложенную литературу.

3.2. Подготовить бланк отчёта.

4. ОСНОВНОЕ ОБОРУДОВАНИЕ: 4.1. Персональный IBM PC.

4.2. Программа GPSS World

5. Содержание отчета:

5.1. Наименование и цель работы.

5.2. Описать логические ключи GPSSW.

5.3. Выводы о проделанной работе.

5.4. Ответы на контрольные вопросы.

6. КОНТРОЛЬНЫЕ ВОПРОСЫ:

6.1 Описать блокTRANSFER ?

6.3 Описать блокTEST?

6.4 Описать блок GATE?

6.5 Описать значения логического указателя блока GATE?

6.6 Описать блок LOGIC?

6.7Описать блок LOOP?

7.Порядок выполнения работы

1.Загрузить компьютер с операционной системой Windows 2000-XP.

2.Запустить установленную программу GPSS World из директории C:\Program Files\Minuteman Software\GPSS World Student Version.

3.Ознакомится с логическими ключами программы GPSS World (описанное в приложение).

Приложение.

Блок TRANSFER изменяет маршрут движения транзактов в зависимости от значения первого операнда (в основном или альтернативном направле­нии) при определенном состоянии оборудования: обслуживающих уст­ройств, очереди, логических ключей и т.п.:

TRANSFER [A],B,[C],[D]

А - режим перехода;

В - метка первого альтернативного блока;

С - метка второго альтернативного блока;

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

Если операнд А блока TRANSFER отсутствует, то транзакт, поступив­ший в блок TRANSFER, безусловно отправляется в блок с меткой, указан­ной в операнде В.

Если операнд А - число от 0 до 1, то он определяет вероятность перехода транзакта по адресу С. При этом операнд В определяет альтернативный ад­рес.

Если операнд А равен «ВОТН», то транзакт делает попытку перемеще­ния в блок с меткой В. При невозможности войти в блок с адресом В, тран­закт перемещается в блок с меткой, указанной в операнде С.

Если операнд А равен «ALL», то транзакт делает попытку перемещения в блок с меткой В. При невозможности войти в данный блок, транзакт дела­ет попытку перемещения в блок, следующий за блоком с адресом В через D блоков, если и эта попытка безуспешна - то в блок, следующий за блоком с адресом В через 2D блоков. Адрес последнего блока, в который может пе­ремещаться транзакт, записывается в операнде С.

Блок TEST определяет направление движения транзакта в зависимости от выполнения условия, заданного алгебраическим соотношением: TEST XX А,В,[С]

Блок GATE разрешает движение транзактам (в основном или альтерна­тивном направлении) при определенном состоянии оборудования: обслужи­вающих устройств, очереди, логических ключей и т. п. Блок имеет следую­щий формат:

GATE XXX А,[В]

XXX - логический указатель (определяется таблицей 2);

А - имя или номер оборудования;

В - метка альтернативного блока.

Таблица 2 - Значения логического указателя блока GATE

При выполнении условия, записанного в логическом указателе XXX, транзакт переходит в следующий за GATE блок. В противном случае он на­правляется в блок с меткой, содержащейся в операнде В. Если операнд В не задан, то транзакт задерживается в блоке GATE до выполнения условия, определяемого указателем XXX. Например:

GATE SNF OTK,LABELl ; транзакт переходит к следующему блоку, если многоканальное устройство ОТК не заполнено. В противном случае транзакт направляется в блок с меткой LABEL1 ; транзакт перемещается в блок с меткой KASSA2,

если одноканальное устройство 0KN01 занято ; транзакт переходит к следующему блоку, если логический ключ KEY1 установлен в единицу. В противном случае транзакт задерживается в блоке GATE

Для изменения в ИМ значений логических ключей используется блок LOGIC, который имеет следующий формат: LOGIC X А

X - указатель операции с логическим ключом: S - установить (единица), R - сбросить (обнулить), I - инвертировать; А - имя или номер логического ключа.

Например:

LOGIC S KEY1 ; установить единичное значение ключа с именем KEY1 LOGIC R 2 ; обнулить значение второго ключа, определенного в

модели

LOGIC I KEY2 ; инвертироватв значение ключа с именем KEY2

Для организации циклов перемещения транзактов используется блок LOOP А,В

А - номер параметра транзакта, используемого в качестве счетчика цик­ла с указанием формата: «слово» (PF), «полуслово» (РН), «байт» (РВ);

В - метка блока, являющегося начальным в повторяющейся группе бло­ков.

При каждом вхождении транзакта в блок значение счетчика уменьшается на 1. Если оно становится равным нулю, транзакт переходит к следующему блоку. Допускается изменение параметра-счетчика внутри цикла.

Например:

ASSIGN 5,3,,РН ; присвоитв 5-му параметру текущего тран­закта значение 3 и формат «полуслово»

LABEL1 ADVANCE 15,10 ; выполнение задержки транзакта на 15±10

единиц моделвного времени

LOOP PH5,LABEL1 ; организация цикла (многократной задержки транзакта), число повторений равно 3

Для синхронизации движения двух транзактов из семейства используют­ся два сопряженных блока MATCH,

например:

LABELl MATCH LABEL2 ; транзакт, вошедший в блок с меткой LABEL1,

будет ожидатв в этом блоке прихода транзакта того же семейства в блок с меткой LABEL2

LABEL2 MATCH LABELl ; транзакт, вошедший в блок с меткой LABEL2,

будет ожидатв в этом блоке прихода транзакта того же семейства в блок с меткой LABELl