- •Лабораторная работа №1 Изучение блоков динамической категории gpss/pc: generate, terminate, seize, release, advance
- •20 Transfer .7,chan1,chan2
- •20 Transfer both,chan1,chan2
- •20 Transfer all, chan1,chan4,4
- •Transfer pick,3,6
- •Assign 13,мет1
- •Loop 13, cycl5
- •Лабораторная работа №4 Системы с накопителями: блоки enter, leave, оператор storage. Управление потоком сообщений: блоки gate, test. Операторы variable, fvariable, initial.
- •Enter nak
- •Leave nak
- •20 Gate nu 1,facil2
- •Пример использования арифметических переменных
- •210 Funavail 1,re,facil2, ,re,facil3,re,facil4
- •230 Favail 1
- •510 Sunavail nak
- •530 Savail nak
- •20 Gate snv nak,facil2
- •110 Msavevalue mat2,1,1,c1
- •120 Msavevalue mat2,1,2,100
- •150 Msavevalue mat2-,2,2,2
- •Tabulate ttab1
- •135 Tabulate ttab2
- •70 Tabulate tab1
- •20 Gate snf nak1,exit
- •50 Link waz1,fifo,chan1
- •100 Unlink g waz1,chan1,1,13,16,que2
- •205 Link waz1,fifo
- •Лабораторная работа №9 Создание и управление групп транзактов gpss/pc: блоки join, remove, examine
- •120 Remove gr1,,p23,,,chan2
- •140 Remove gr1,,21
- •Examine gr17,,chan2
- •Examine gr1,6778,chan2
- •Листинг программы
- •Intlines storage 30
- •190 Transfer ,Breakoff
- •390 Terminate
- •570 Nonefree terminate
- •850 Terminate
- •Xact_group group_size retry
- •Лабораторная работа №11
- •Моделирование многофазных систем массового обслуживания
- •I теоретическая часть
- •1.1 Двухфазная система обслуживания
- •1.2 Трехфазная система обслуживания
- •II практическая часть
- •2.1 Моделирование в системе matlab
- •2.2 Моделирование в системе gpss/pc
- •Xact_group group_size retry
- •I теоретическая часть
- •II практическая часть
- •2.1 Моделирование в системе matlab
- •2.2 Моделирование в системе gpss/pc
- •Xact_group group_size retry
Transfer pick,3,6
В
поле <A> стоит зарезервированное
слово PICK. В этом режиме блок TRANSFER
случайным образом с равной вероятностью
отправляет транзакт в один из блоков,
которые составляют ряд от начального
блока, указанного в поле <B>, до блока,
указанного в поле <C>. Если блок поля
<B> обозначить как N, а блок поля <C>
как М, то вероятность отправления
транзакта на один из блоков с номерами
N, N+1, N+2, . . . ,M определяется как 1/(M-N)+1. Для
программы 7 эта вероятность равна
Некоторая ограниченность применения
блока TRANSFER в режиме PICK может быть
обусловлена необходимостью расположения
принимающих блоков в строгой
последовательности друг за другом. Но,
как видно из программы 7, с помощью блока
TRANSFER в режиме безусловного перехода
можно производить распределение
транзактов в любую точку модели (к любому
блоку).
Задание к примеру 6. Для программы 7 последовательно для каждого из трех устройств запрограммировать вывод транзактов без учета счетчика завершений (START 100). То же самое проделать при отсутствии поля <D> блока GENERATE. Объяснить результаты моделирования по файлу стандартного отчета.
Лабораторная работа №3
Системы с разнородными потоками событий. Статистика очередей.
Цикличная обработка. Блоки: PREEMPT, RETURN, QUEUE, DEPART,
ASSIGN, LOOP, SAVEVALUE. Оператор EQU.
Цель работы: изучение блоков аппаратной категории: PREEMPT, RETURN. Моделирование систем с очередями: блоки QUEUE, DEPART. Моделирование процессов с циклической обработкой требований: блоки ASSIGN, LOOP. Блок изменения сохраняемых величин: SAVEVALUE. Оператор присвоения числовых значений: EQU.
Блоки PREEMPT и RETURN относятся к аппаратной категории и к группе устройств. Эти блоки работают в паре. Блок PREEMPT — это блок захвата прибора (устройства). Он переводит устройство в прерванное состояние. Блок RETURN — блок возврата захваченного прибора. При вводе транзакта в блок RETURN снимается прерывание с устройства, которое было осуществлено тем же транзактом, который вызвал прерывание.
Блок ASSIGN является основным средством для задания значений параметров транзактов. Параметры транзактов принимают значения из множества целых чисел. Каждый транзакт может иметь один или более параметров. Параметры транзактов применяются для их различия в потоке сообщений, проходящих через модель. Номера параметров используются для ссылок на значения, присвоенные параметрам. В общем случае интерпретация смысла параметра произвольна и обычно задается разработчиком модели. В системе GPSS/PC допустимо для каждого транзакта назначать свыше 1000 параметров. Блок ASSIGN заменяет, увеличивает или уменьшает текущее значение параметра сообщения (транзакта) на заданное значение.
Блок LOOP используется для организации циклов, т.е. для управления числом повторений определенной последовательности блоков в модели. В поле <A> блока задается параметр, который используется в качестве счетчика цикла. Как правило, блок LOOP применяется в паре с блоком ASSIGN.
Оператор EQU предназначен для присвоения числовых значений именам, используемым в модели. Назначение числовых значений может происходить при выполнении каких-либо выражений, задании стандартных числовых атрибутах и т.д. Результат вычисления выражения преобразуется к целому виду.
Задание 1.
Изучение процессов циклической обработки требований.
Пример 1. Пусть каждое требование проходит 5 циклов обработки на приборе со временем 72 мин. по равномерному закону. Входной поток требований подчиняется равномерному закону со временем 52 мин. Смоделировать процесс обработки ровно 100 требований.
Решение примера 1 приводится как программа 1.
SIMULATE ******************************************************** MET1 EQU sqr(25) MET2 EQU (sqr(9)+2^2) ********************************************************* 10 GENERATE 5,2,,100; Генерация 100 транзактов 20 ASSIGN 13,MET1 30 SEIZE 1 40 CYCL5 ADVANCE MET2,2 50 LOOP 13,CYCL5 60 RELEASE 1 70 TERMINATE 1 Уничтожение транзактов (вывод из системы) ********************************************************** START 100; Задание числа счетчика завершений END |
Программа 1 |
В данном примере организация пятикратного цикла обработки осуществляется блоками ASSIGN и LOOP. Обращение к заданным числовым значениям (5 и 7) производится через метки MET1, MET2 посредством оператора EQU.
Формат записи блока ASSIGN:
