КУРСОВАЯ РАБОТА
Имитационное моделирование
Введение
Процессы функционирования различных систем могут быть представлены той или иной совокупностью систем массового обслуживания (СМО) - стохастических, динамических, дискретно-непрерывных математических моделей. Исследование характеристик таких моделей может проводиться либо аналитическими методами, либо путем имитационного моделирования. Имитационная модель отображает стохастический процесс смены дискретных состояний СМО в непрерывном времени в форме моделирующего алгоритма. При его реализации на ЭВМ производится накопление статистических данных по тем атрибутам модели, характеристики которых являются предметом исследований. По окончании моделирования накопленная статистика обрабатывается, и результаты моделирования получаются в виде выборочных распределений исследуемых величин или их выборочных моментов. Таким образом, при имитационном моделировании систем массового обслуживания речь всегда идет о статистическом имитационном моделировании.
Одним из наиболее эффективных и распространенных языков моделирования сложных дискретных систем является в настоящее время язык GPSS. Он может быть с наибольшим успехом использован для моделирования систем, формализуемых в виде систем массового обслуживания. В качестве объектов языка используются аналоги таких стандартных компонентов СМО, как заявки, обслуживающие приборы, очереди и т.п. Достаточный набор подобных компонентов позволяет конструировать сложные имитационные модели, сохраняя привычную терминологию СМО.
Динамические объекты, соответствующие заявкам в системах массового обслуживания, называются в GPSS транзактами. Транзакт – это элемент системы массового обслуживания. Они "создаются" и "уничтожаются" так, как это необходимо по логике модели в процессе моделирования. С каждым транзактом может быть связано произвольное число параметров, несущих в себе необходимую информацию об этом транзакте.
Блоки в GPSS подразделяются на три типа:
· выполняемые, через которые проходят транзакты;
· описательные, на этапе выполнения отсутствуют;
· управляющие работой системы GPSS;
Комментарий записывается через пробел за операндами или целой строкой со звездочкой в первой позиции. В качестве операндов могут быть использованы стандартные числовые и логические атрибуты.
1. Породить Транзакт
GENERATE
Среднее_значение_времени_между_транзактами[,Отклонение_от_среднего][,Время_до_первого_транзакта],Количество_порождаемых_транзактов][,Приоритет_транзактов][,Количество_параметров_транзакта][,F|H]. Среднее значение времени по умолчанию
1. Отклонение по умолчанию
0.Время до первого транзакта вычисляется на основании первых двух аргументов. Если оно равно 0, то приравнивается
1. Значение приоритета в интервале от 0 до 127. По умолчанию 0. Значение количества параметров в интервале от 0 до 100. По умолчанию 12. По смыслу блока транзакты не должны входить в GENERATE.
2. Присвоить начальное значение
Описательный блок
INITIAL XНомер_хранимого_значения,
Значениеконстанта
INITIAL XHНомер_хранимого_значения,
Значениеконстанта
INITIAL X$Имя_хранимого_значения,
Значениеконстанта
Пример: INITIAL X4,17
INITIAL X$RATE,19
3. Отметить транзакт в очереди
[Метка] QUEUE Имя_очереди[,Число_прибавляемое_
к_длине_очереди]
4. Освободить устройство
[Метка] RELEASE Устройство
Пример: RELEASE IBM5
5. Сохранить значение
[Метка] SAVEVALUE Номер_хранимого_значения[+|],
Значение
Пример: SAVEVALUE 3+,P2
6. Занять без приоритета устройство
[Метка] SEIZE Устройство
Пример: SEIZE IBM5
7. Сравнить значения
[Метка] TEST Операция Первый_операнд,Второй_операнд,
[Метка_передачи_транзакта]
Операция > E|NE|GE|LE|G|L
Пример: TEST E P1,3,BRAK
8. Уничтожить транзакт
[Метка] TERMINATE [Значение_вычитаемое_из_
счетчика_в_START]
Пример: TERMINATE 1
9. Задержать транзакт
[Метка] ADVANCE Среднее_значение_задержки
[,Отклонение_от_среднего]
Пример: ADVANCE 37,7
10. Присвоение параметру транзакта значения
[Метка] ASSIGN Номер_параметра_транзакта,Значение
Пример: ASSIGN 3,1
11. Описать булевскую переменную
Имя_переменной BVARIABLE Логическое_выражение
Пример: BOOL1 BVARIABLE SE3 + LR7
12. Покинуть очередь
[Метка] DEPART
Имя_очереди[,Количество_единиц]
Пример: DEPART QTOWRK
13. Направить транзакт на другую часть модели [Метка] TRANSFER|BOTH| Вероятность Метка1[,Метка2]
Пример: TRANSFER ,LABL2
14. Начать моделирование
Описательный блок.
START Значение_счетчика
Пример: START 200
Целью проектирования является углубленное изучение языка программирования GPSS и приобретение навыков решения прикладных задач на основе моделирования.
Основные возможности разработки: Изучение языка GPSS и создание имитационной модели для системы передачи цифровой информации, позволяющая определить параметры ее функционирования.
GPSS World Student Version 4.1.3
Задание на курсовое проектирование Задание 4.
В системе передачи цифровой информации передается речь в цифровом виде. ............