- •Федеральное агентство связи
- •Лабораторная работа №2
- •2.Литература:
- •3.Подготовка к работе:
- •5. Содержание отчета:
- •7. Порядок выполнения работы:
- •Лабораторная работа №3
- •2.Литература:
- •3.Подготовка к работе:
- •5. Содержание отчета:
- •7. Порядок выполнения работы:
- •Лабораторная работа № 3
- •Лабораторная работа № 4
- •2.Литература:
- •3.Подготовка к работе:
- •5. Содержание отчета:
- •7. Порядок выполнения работы
- •Лабораторная работа № 5
- •2.Литература:
- •3.Подготовка к работе:
- •5. Содержание отчета:
- •7. Порядок выполнения работы
- •Лабораторная работа № 6
- •2.Литература:
- •3.Подготовка к работе:
- •5. Содержание отчета:
- •7. Порядок выполнения работы
- •Лабораторная работа № 7
- •Лабораторная работа № 8
- •0,0/0.1,0.8/0.5,1.6/1.0,1.9
- •0,12/1,9/2,8/3,6
- •Лабораторная работа № 9
- •2.Литература:
- •3.Подготовка к работе:
- •5. Содержание отчета:
- •7.Порядок выполнения работы
- •Лабораторная работа № 10
- •2.Литература:
- •3.Подготовка к работе:
- •5. Содержание отчета:
- •7.Порядок выполнения работы
- •Лабораторная работа № 11
- •2.Литература:
- •3.Подготовка к работе:
- •5. Содержание отчета:
- •7.Порядок выполнения работы
- •Лабораторная работа № 12
- •2.Литература:
- •3.Подготовка к работе:
- •7.Порядок выполнения работы
- •Лабораторная работа № 13
- •2.Литература:
- •3.Подготовка к работе:
- •7.Порядок выполнения работы
- •Лабораторная работа № 14
- •2.Литература:
- •3.Подготовка к работе:
- •5. Содержание отчета:
- •7.Порядок выполнения работы
- •Лабораторная работа № 15
- •2.Литература:
- •3.Подготовка к работе:
- •5. Содержание отчета:
- •7.Порядок выполнения работы
- •Лабораторная работа № 16
- •2.Литература:
- •3.Подготовка к работе:
- •5. Содержание отчета:
- •7.Порядок выполнения работы
- •Лабораторная работа № 17
- •2.Литература:
- •3.Подготовка к работе:
- •5. Содержание отчета:
- •7.Порядок выполнения работы
- •Лабораторная работа № 18
- •2.Литература:
- •3.Подготовка к работе:
- •5. Содержание отчета:
- •7.Порядок выполнения работы
- •Лабораторная работа № 19
- •2.Литература:
- •3.Подготовка к работе:
- •5. Содержание отчета:
- •7.Порядок выполнения работы
- •Лабораторная работа № 20
- •2.Литература:
- •3.Подготовка к работе:
- •5. Содержание отчета:
- •7.Порядок выполнения работы
- •Лабораторная работа № 21
- •2.Литература:
- •3.Подготовка к работе:
- •5. Содержание отчета:
- •7.Порядок выполнения работы
- •Лабораторная работа № 22
- •2.Литература:
- •3.Подготовка к работе:
- •3.Подготовка к работе:
- •5. Содержание отчета:
- •7. Порядок выполнения работы
- •Приложение Редактирование текста модели
- •Запись и считывание модели с диска
- •Лабораторная работа № 24
- •2.Литература:
- •3.Подготовка к работе:
- •5. Содержание отчета:
- •7.Порядок выполнения работы
- •Описание машинной программы решения задачи
- •Результаты моделирования и их анализ
- •Лабораторная работа № 25
- •2.Литература:
- •3.Подготовка к работе:
- •7.Порядок выполнения работы
- •Лабораторная работа № 26
- •2Литература:
- •3.Подготовка к работе:
- •7. Порядок выполнения работы
- •Блоки устройств
- •Блоки накопителя
- •Блоки сбора статистических данных об очереди
- •Лабораторная работа № 27
- •2.Литература:
- •3.Подготовка к работе:
- •5. Содержание отчета:
- •7.Порядок выполнения работы
- •Лабораторная работа № 28
- •2.Литература:
- •3.Подготовка к работе:
- •5. Содержание отчета:
- •7.Порядок выполнения работы
- •Лабораторная работа № 29
Лабораторная работа № 16
HАИМЕНОВАНИЕ: Работа с транзактами (блоки GENERATE, TERMINATE, PRIORITY, ASSIGN, SPLIT, ASSEMBLE, MARK).
1.ЦЕЛЬ РАБОТЫ: Изучить транзакты GPSSW.
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Для чего предназначен блок GENERATE
6.2 Описать полностью формат блока GENERATE?
6.3 Описать полностью формат блока ADVANCE?
6.4 Описать полностью формат блока TERMINATE?
6.5 Блок PRIORITY, описать?
6.6Блок ASSIGN, описать?
6.7Описать формата блока SPLIT?
7.Порядок выполнения работы
1.Загрузить компьютер с операционной системой Windows 2000-XP.
2.Запустить установленную программу GPSS World из директории C:\Program Files\Minuteman Software\GPSS World Student Version.
3.Ознакомится с транзактами программы GPSS World (описанное в приложение).
Приложение.
Для создания транзактов и моделирования их поступления в модель предназначен блок GENERATE, который имеет следующий формат:
GENERATE А,[В] ,[С] ,[D] ,[Е] ,[F] ,[G] ,[Н] ,[1]
А - среднее значение интервала времени между моделируемыми транзактами (по умолчанию - 0);
В - величина разброса возможных значений времени;
С - модельное время генерации первого транзакта;
D - максимальное количество моделируемых транзактов;
Е - приоритет транзактов (по умолчанию - О, т.е. самый низкий приоритет);
F,..., I - количество и формат параметров транзактов (по умолчанию - 12 параметров формата «полуслово»).
Например:
GENERATE 10,2,5,,2 ; моделирование транзактов через ин
тервалы времени, равномерно распределенные на отрезке [8,12] (или 10±2) ;
первый транзакт моделируется в момент моделвного времени, равный 5 единиц
общее количество моделируемых транзактов не ограничено ; все транзакты имеют приоритет 2 и 12 параметров
GENERATE 75,FN$EXPON,,20,,ЗРВ ; моделирование транзактов через интервалы времени, имеющие экспоненци- алвное распределение со средним значением 7 5 единиц (моделирование других распределений рассмотрено в под- разд. 2.5); первый транзакт моделируется в нулевой момент моделвного времени; генерируется толвко 20 транзактов с нулевым приоритетом; каждый транзакт имеет по 3 параметра форматом «полуслово», т.е. способных при- ниматв значения от -255 до 255
Если транзакт начал свое движение, он передвигается от блока к блоку по пути, указанному блок-схемой (логикой работы модели). В тот момент, когда транзакт входит в блок, вызывается соответствующая этому блоку подпрограмма. Далее транзакт пытается войти в следующий блок. Его перемещение продолжается, пока очередной блок доступен или пока он не входит в блок, функцией которого является задержка транзакта (на определенное время) или удаление его из модели. В противном случае транзакт остается в том блоке, в котором в данное время находится (но позже будет повторять попытки движения) и в модели делается попытка перемещения другого транзакта.
Для задержки транзактов в течение заданного интервала модельного времени используется блок ADVANCE. Формат блока:
ADVANCE А,[В]
Операнды А и В аналогичны соответствующим операндам блока GENERATE (см. выше).
Например:
ADVANCE 3 0,5 ; моделирование задержки транзактов в течение времени, которое имеет равномерное распределение на отрезке [25, 35] (или 30+5)
ADVANCE 7 5 ; задержка транзактов в течение 7 5 единиц моделвного
времени
Для удаления транзактов из модели используется блок TERMINATE, который имеет следующий вид: TERMINATE [А]
операнд А указывает число (по умолчанию - 0), на которое уменьшается содержимое счетчика завершений (системного числового атрибута TG1), значение которого задается командой START (см. п. 2.4.2).
Например:
TERMINATE ; уничтожение транзакта, поступившего в блок; значение
счетчика завершений не изменяется TERMINATE 1 ; уничтожение транзакта, поступившего в блок; значение счетчика уменвшается на 1 (при достижении нулевого или отрицателвного значения счетчика завершений процесс моделирования прекращается)
Для изменения приоритета транзакта используется блок PRIORITY, который имеет формат: PRIORITY А
Операнд А указывает новое значение приоритета транзакта, вошедшего в блок (от 0 до 127 включительно).
Например:
PRIORITY 3 ; присвоитв транзакту приоритет 3
Для изменения значений параметров транзакта используется блок ASSIGN, который имеет следующий вид: ASSIGN A,B,[C],[D]
А - номер изменяемого параметра с указанием режима изменения: накопление (+), вычитание (-), замещение (без дополнительных символов); В - число, изменяющее значение параметра;
С - имя функции, применяемой для модификации значения параметра; D - формат изменяемого параметра: PF, РН, РВ или PL (по умолчанию - РН).
Например:
ASSIGN 3+,5,,РВ ; увеличитв значение параметра 3 форматом
«байт» на 5 единиц ASSIGN 3-,7,,PF ; уменвшитв значение параметра 3 форматом
«слово» на 5 единиц ASSIGN 2-6,5.75,,PL ; задатв параметрам 2-6 (форматом «плавающая
точка») значение 5,75
Для создания копий транзакта используется блок SPLIT формата SPLIT А,[В],[С]
А - число создаваемых копий;
В - метка блока, к которому отправляются копии исходного транзакта (сам исходный транзакт безусловно переходит в следующий после SPLIT блок);
С - номер параметра, используемого для присвоения копиям последовательных номеров.
Например:
SPLIT 1 ; создать одну копию исходного транзакта и напра
вить (вместе с исходным транзактом) в следующий блок
SPLIT 2,LABEL1 ; создать две копии исходного транзакта и направить их в блок с меткой LABEL1
Для объединения определенного числа транзактов одного семейства используется блок ASSEMBLE А, который имеет следующий формат:
ASSEMBLE А
А - число п объединяемых транзактов.
Первый из транзактов, принадлежащих некоторому семейству, вошедший в блок ASSEMBLE, задерживается до прихода в блок п - 1 транзакта из данного семейства. После чего первый транзакт переходит к следующему блоку, а оставшиеся п — 1 транзакты уничтожаются.
Ранее указывалось, что время пребывания транзакта в модели определяется его СЧА Ml. Для определения времени перемещения транзакта между двумя произвольными точками модели используется блок MARK, который имеет вид:
MARK А
А - номер параметра транзакта, в который записывается текущее значение абсолютного модельного времени АС1 (см. системные числовые атрибуты в подразд. 2.3).
Например:
MARK 2 ; сохранение текущего модельного времени во 2-м параметре транзакта
; далее в тексте модели располагают блок, определяющий время перемещения транзакта, равное разности текущего модельного времени и значения, хранимого во 2-м параметре транзакта