- •Лабораторная работа №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.
- •Leave nak
- •Enter 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
Examine gr17,,chan2
В поле <A> задается имя группы (в программе gr17) для анализа принадлежности входящих транзактов к этой группе. Поле <B> пусто. В поле <C> указывается имя блока (в программе chan2 — метка второго устройства), к которому отправляются транзакты, если они не являются членами группы, заданной в поле <A>. Если в поле <A> задать имя группы gr3, то транзакты после блока EXAMINE перейдут к следующему по номеру блоку — к блоку TERMINATE под номером 350. Когда группа сообщений не определена, то входящие в блок EXAMINE транзакты будут отправляться по метке, указанной в поле <C>.
Блок EXAMINE может находиться в любом фрагменте программы, но этот фрагмент не должен быть связан со счетчиком числа завершений. В программе работа блоков под номерами 300-350 не связана с оператором START 100.
Задание к примеру 4. Произвести различный перевод транзактов во 2-е устройство с помощью блока EXAMINE и блока GENERATE. Определить предельный интервал времени, задаваемый в поле <A> блока GENERATE (под номером 300 программы 4), при котором во 2-е устройство не будет происходить передача транзактов.
Пример 5. Числовой режим блока EXAMINE. В систему поступают требования каждые 4 мин. и направляются на обработку в 1-е устройство с временем обработки 9 мин. Произвести обработку 100 требований в первом устройстве, а также, используя свойства блока EXAMINE в числовом режиме, осуществить обработку 22 требований во втором устройстве с временем обработки 72 мин. В группу под именем gr1 записать число 678, а в группу под именем gr3 записать число 67.
Перевод транзактов во 2-е устройство с помощью блока EXAMINE можно осуществлять либо по группе gr1, либо по группе gr3. Программа решения примера 5 приводится как программа 5.
Программа 5 |
|
simulate 10 generate 4 20 savevalue mmm1,gn$gr1 30 join gr1,678 40 chan1 seize 1 50 advance 9 60 release 1 100 terminate 1 |
200 chan2 seize 2 210 advance 7,2 220 release 2 250 terminate 300 generate 40 310 join gr3,67 320 EXAMINE gr1,6778,chan2 350 terminate start 100 end
|
Здесь опять подобрано поле <A> блока GENERATE под номером 300: в поле <A> установлено число 40. Формат записи блока EXAMINE в числовом режиме:
Examine gr1,6778,chan2
В поле <A> задается имя анализируемой числовой группы (в программе группа gr1). В поле <B> задается значение, которое ищется в группе, заданной в поле <A> (в программе число 6778). В поле <C> задается метка альтернативного блока, к которому направляются транзакты, если значение поля<B> не является членом числовой группы, заданной в поле <A>. В программе число 6778 не является членом группы gr1, поэтому транзакты будут направляться к блоку по метке chan2 — во 2-е устройство под номером 200. Если значение, заданное полем <B>, входит в группу, заданную полем <A>, то вошедший транзакт в блок EXAMINE переходит к следующему по номеру блоку. Переход к следующему по номеру блоку — к блоку TERMINATE под номером 350 может произойти в двух случаях: когда в поле <A> задана группа gr1 и в поле <B> задано число 678; когда в поле <A> задана группа gr3 и в поле <B> задано число 67. В обоих случаях второе устройство использоваться не будет.
Задание к примеру 5. Проанализировать результаты моделирования по программе 5 при различных полях — <A>, <B> блока EXAMINE в числовом режиме. Отметить когда не будет происходить передача транзактов во 2-е устройство.
Лабораторная работа №10
Анализ узла телефонной связи
в системе GPSS/PC
Цель работы: моделирование работы узла телефонной связи в системе GPSS/PC. Определение операционных характеристик заданной телефонной станции как многоканальной системы массового обслуживания. Приобретение навыков построения гистограмм и экспериментальных функций распределения в системе MATLAB.
Постановка задачи.
На частном узле телефонной связи имеются 200 параллельных телефонов, 30 внутренних линий, 30 внешних линий, 8 сигнализаторов и 1 оператор. В среднем телефонные звонки длятся 150 секунд и распределены по нормальному закону со стандартным отклонением в 30 секунд. Время между поступлением внешних звонков обратно пропорционально количеству параллельных телефонов (2500 разделить на количество параллельных телефонов) и распределено по экспоненциальному закону. Время между поступлением внутренних звонков обратно пропорционально количеству свободных параллельных телефонов (1260 разделить на количество свободных параллельных телефонов плюс 1). Направление этих звонков может быть внутренним (66.6%) и внешним (33.3%).
Для звонков, поступающих с внутренних телефонов, оператор не нужен. Для внутренних звонков требуется сигнализатор и внутренняя линия, для внешних звонков — внешняя линия. При звонке 15% параллельных телефонов занято, 20% — не отвечают.
Время, требуемое для сигнализации, равно 7±2 секунд, для звонка через параллельный телефон 6±2 секунд. Звонящий слушает сигнал "занято" 4±1 секунду. Работа оператора занимает 9±3 секунды.
Необходимо смоделировать работу частного узла телефонной связи в течение 1 часа, а также:
1. Определить коэффициент использования оператора, сигнализаторов, внутренних и внешних линий, параллельных телефонов.
2. Определить количество внутренних и внешних звонков, обрабатываемых каждую минуту.
3. Определить, достаточно ли внутренних и внешних линий, сигнализаторов?
Примечание:
1) Данная задача взятая на Интернет портале
http://www.gpss.ru,
адаптирована к версии GPSS/PC v.2.
2) Значения функций оператора function сформировать самостоятельно, причем так, чтобы они были разными для каждого компьютера, где выполняется работа.
