Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Моделирование телекоммуникационных систем и сетей. Учебное пособие
.pdf
7.3. Получение файла-отчета
101
ЗАКЛЮЧЕНИЕ
Данное учебное пособие предназначено для студентов изучающ их
основы моделирования телекоммуникационных систем. Пособие содержит справочный материал по системе моделирования GPSS World. Пособие позволяет студентам самостоятельно изучить особенности процесса
создания в системе программных моделей реальных телекоммуникационных систем. При этом они получают навыки создание программных моделей с помощью специализированного языка GPSS World. В пособии подробно описана последовательность действий для запуска процесса моделирования в системе и получение основных характеристик моделируемой телекоммуникационной системы для оценки её эффективности. Студенты, изменяя программную модель системы и повторяя процесс моделирования, могут выполнять оценку различных вариантов реализации одной и той же телекоммуникационной системы для поиска её наиболее оптимального варианта.

7. Создание модели
102
ПРИЛОЖЕНИЯ
Приложение 1
Структура системы имитационного моделирования GPSS WORLD
Главное меню GPSS World
Файл
Правка
Поиск
Вид
Команды
Окно
Справка
Создать
Открыть
Закрыть
Сохра-
нить
Сохра-
нить как
Печать
Настройка
печати
Internet
Послед-
ний файл
Выход
Отме-
нить
Выре-
зать
Копи-
ровать
Вста-
вить
Вста-
вить
строку
Уда-
лить
строку
Шрифт
Окно
выраже-
ния
Окно
графики
Вста-
вить
блоки
GPSS
Вста-
вить эксперимент
Уста-
новки
Найти/Заме-
нить
Перейти к
строке
Следующая
закладка
Установить
закладку
Удалить
закладку
Удалить все
закладки
Выделить
до закладки
Текущая
ошибка
Предыду-
щая ошибка
Сооб-
щения
Панель
инструментов
Пред-
ставление
элемента
Часы
моделирования
Создать
модель
Перетранс-
лировать
Повторить
последнюю
команду
Управление
Пуск
Шаг
Останов
Продолжить
Очистить
Сброс
Показать
Пользова-
тель
Каскад
Мозаика
Окно моделиро-
вания
Снимок модели-
рования
Вызов
справки
О GPSS
World
Технология подготовки имитационной программы в GPSS World
Подготовка
исходного
текста
имитационной
программы на
языке GPSS
World
Трансляция
исходного
текста
имитационной
программы в
объектный код
машины
Выполнение
имитационной
программы и
оценка
выходных
характеристик
имитационной
модели
Формирование
отчетов о
состоянии
имитационной
модели и
результатах
имитации
Анализ
результатов
компьютерной
имитации и
выбор
рационального
решения

Приложение 2
103
Приложение 2
Команды языка моделирования GPSS для системы
моделирования GPSS WORLD
BVARIABLE
Описание логической переменной
CLEAR
Сброс статистики и удаление транзактов из модели
CONDUCT
Проведение эксперимента с использованием языка PLUS
CONTINUE
Возобновление моделирования после прерывания
EQU
Установление эквивалентных имен (символьного и числового)
EXIT
Завершение сеанса работы GPSS World
FUNCTION
Описание функции
FVARIABLE
Описание арифметической переменной
HALT
Приостановка процесса моделирования и удаление всех команд, ожидающих выполнения
INCLUDE
Загрузка и трансляция дополнительного файла модели
INITIAL
Установка начального значения сохраняемой величины, матрицы или логического переключателя
INTEGRATE
Интегрирование переменной по времени
MATRIX
Описание матрицы
QTABLE
Описание таблицы для очереди
REPORT
Указание имени файла отчета или немедленная выдача отчета
RESET
Сброс статистики
RMULT
Установка параметров генераторов случайных чисел
SHOW
Вычисление выражения и вывод полученного результата
START
Установка счетчика завершений и начало моделирования
STEP
Установление ограничения на количество попыток входа
транзакта в оператор
STOP
Указание условия остановки в зависимости от количества
попыток входа в оператор
STORAGE
Описание многоканального устройства
TABLE
Описание таблицы
VARIABLE
Описание числовой переменной

Приложения
104
Приложение 3
Операторы языка моделирования GPSS для системы
моделирования GPSS WORLD
ADOPT
Изменение ансамбля транзакта
ADVANCE
Задержка транзакта на указанное время
ALTER
Проверка и изменение транзакта в группе
ASSEMBLE
Объединение заданного количества транзактов в один
ASSIGN
Изменение параметра транзакта
BUFFER
Помещение транзакта в конец цепи текущих событий
CLOSE
Закрытие потока данных
COUNT
Подсчет количества объектов, соответствующих определенным условиям, и его запись в параметр транзакта
DEPART
Уменьшение длины очереди
DISPLACE
Изменение последующего оператора транзакта
ENTER
Вход в многоканальное устройство
EXAMINE
Проверка принадлежности группе
EXECUTE
Выполнение другого оператора
FAVAIL
Перевод одноканального устройства в состояние “доступно”
FUNAVAIL
Перевод одноканального устройства в состояние “недоступно”
GATE
Проверка состояния объекта модели и выбор направления движения транзакта
GATHER
Ожидание заданного количества транзактов
GENERATE
Создание транзакта
INDEX
Изменение параметра транзакта
INTEGRATION
Включение / отмена интегрирования переменных
JOIN
Ввод элемента в числовую группу или в группу транзактов
LEAVE
Выход из многоканального устройства
LINK
Вход в цепь пользователя
LOGIC
Изменение состояния логического переключателя
LOOP
Цикл
MARK
Начало отсчета времени пребывания транзакта в модели
с нуля
MATCH
Ожидание входа транзакта в сопряженный оператор
MATCH

Приложение 3
105
MSAVEVALUE
Присвоение значения элементу матрицы
OPEN
Открытие потока данных
PLUS
Вычисление выражения на языке PLUS и его присваивание параметру
PREEMPT
Вход транзакта в устройство с возможностью прерывания обработки другого транзакта
PRIORITY
Изменение приоритета транзакта
QUEUE
Увеличение очереди
READ
Ввод следующей строки из потока данных
RELEASE
Выход из одноканального устройства
REMOVE
Удаление элемента из числовой группы или из группы
транзактов
RETURN
Освобождение устройства, занятого оператором PREEMPT
SAVAIL
Перевод многоканального устройства в состояние “доступно”
SAVEVALUE
Присваивание значения сохраняемой величине
SCAN
Проверка группы транзактов
SEEK
Изменение указателя в потоке данных
SEIZE
Вход в одноканальное устройство
SELECT
Запись номера выбранного объекта в параметр транзакта
SPLIT
Создание ансамбля транзактов
SUNAVAIL
Перевод многоканального устройства в состояние “недоступно”
TABULATE
Внесение изменений в таблицу
TERMINATE
Удаление транзакта
TEST
Проверка условия и выбор направления движения транзакта
TRACE
Трассировка активного транзакта
TRANSFER
Переход к указанному оператору
UNLINK
Удаление транзакта из цепи пользователя
UNTRACE
Отмена трассировки транзакта
WRITE
Передача величины в поток данных

Приложения
106
Приложение 4
Функции для имитации случайных величин в gpss world
Распреде-
ление
Функция
Аргументы
Биномиальное
BINOMIAL(A,B,C)
A – номер генератора СРРЧ
B – количество испытаний
C – вероятность
Гамма
GAMMA(A,B,C,D)
A – номер генератора СРРЧ
B – смещение
C – интенсивность
D – форма
Примечание. Одним из частных случаев гамма-распределения является распределение Эрланга. Поэтому функция
GAMMA применяется для имитации случайных величин,
распределенных по закону Эрланга k-го порядка с математическим ожиданием M. При этом аргументы функции
GAMMA(A,B,C,D) должны быть следующими: B=0,
C=M/k, D=k.
Гауссовское
(нормальное)
NORMAL(A,B,C)
A – номер генератора СРРЧ
B – математическое ожидание
(среднее значение)
C – стандартное (среднее квадратиче-
ское) отклонение
Дискретное
равномерное
DUNIFORM(A,B,C)
A – номер генератора СРРЧ
B – минимальное значение
C – максимальное значение
Пуассоновское
POISSON(A,B)
A – номер генератора СРРЧ
B – математическое ожидание
(среднее значение)
Равномерное
UNIFORM(A,B,C)
A – номер генератора СРРЧ
B – минимальное значение
C – максимальное значение
Треугольное
TRIANGULAR(A,B,C,D)
A – номер генератора СРРЧ
B – минимальное значение
С – максимальное значение
D – мода
Экспоненциальное
EXPONENTIAL(A,B,C)
A – номер генератора СРРЧ
B – смещение
C – математическое ожидание
(среднее значение)

Приложение 5
107
Приложение 5
Стандартные числовые атрибуты
Системные СЧА
RNj – число, вычисляемое j-м генератором случайных чисел. Все генераторы выдают последовательность равномерно распределенных случайных чисел. Это число целое и изменяется от 0 до 999 включительно,
кроме двух случаев его использования – в качестве аргумента функции или
выражения переменной (VARIABLE, FVAR1ABLE). В этих случаях RNj
будет дробью от 0 до 0.999999;
С1 – текущее значение относительного (условного) времени. Автоматически изменяется программой и устанавливается в 0 управляющими
операторами CLEAR или RESET;
АС1 – текущее значение абсолютного времени. Эта величина не меняется под действием управляющего оператора RESET и устанавливается
в 0 лишь под действием оператора CLEAR;
TG1 – текущее значение счетчика завершений;
XN1 – номер активного сообщения;
Z1 – размер свободной оперативной памяти в битах;
Ml – время пребывания в модели транзакта, обрабатываемого про-
граммой в данный момент. Эта величина может изменяться блоком MARK;
PR – приоритет транзакта, обрабатываемого в данный момент. Эта
величина может изменяться блоком PRIORITY. По умолчанию приоритет
равен 0.
СЧА транзактов
Рj или *j или *<имя>, или *$<имя> – значение параметра у текущего
транзакта или значение параметра с именем <имя> текущего транзакта;
МРj – значение времени, равное разности относительного модель-
ного времени и содержимого j-го параметра текущего транзакта;
MBj – флаг синхронизации: 1, если транзакт в блоке j принадлежит
тому же семейству, что и текущий транзакт; 0-в противном случае.
СЧА блоков
Nj – общее число транзактов, вошедших в блоку j;
Wj – текущее число транзактов, находящихся в блоке j.

Приложения
108
СЧА МКУ
Sj – текущее значение содержимого многоканального устройства j.
Содержимое многоканального устройства изменяется блоками ENTER и
LEAVE;
Rj – число свободных единиц многоканального устройства j. Эта ве-
личина изменяется блоками ENTER и LEAVE;
SRj – коэффициент использования многоканального устройства j в
тысячных долях;
SAj – среднее содержимое многоканального устройства j;
SMj – максимальное содержимое многоканального устройства j;
SCj – общее число входов в многоканальное устройство j;
STj – среднее время пребывания транзактов в многоканальном
устройстве j;
SEj – флаг незанятости многоканального устройства j: 1 – свободно,
0 – занято;
SFj – флаг заполнения многоканального устройства j: 1 – заполнено,
0 – не заполнено;
SVj – флаг готовности многоканального устройства j к использова-
нию: 1 – готово, 0 – не готово.
СЧА одноканальных устройств:
Fj – текущее состояние устройства j. Эта величина равна 0, если
устройство свободно, и 1 – во всех остальных случаях. Этот атрибут изменяется блоками SEIZE, RELEASE, PREEMPT и RETURN.;
Flj – флаг прерывания устройства: 1, если устройство находится в
состоянии прерывания 0 – в противном случае;
FRj – коэффициент использования устройства j в тысячных долях;
FVj – флаг готовности устройства к использованию: 1 – готово, 0 – в
противном случае;
FCj – общее число входов в устройство j;
FTj – среднее время использования устройства транзактами.
СЧА очередей
Qj – длина очереди j;
QAj – средняя длина очереди j;
QMj – максимальная длина очереди j;

Приложение 5
109
QCj – общее число входов в очередь j;
QZj – число нулевых входов в очередь j;
QTj – среднее время пребывания транзактов в очереди у (включая
нулевые входы);
QXj – среднее время пребывания транзактов в очереди j (без нуле-
вых).
СЧА таблиц
ТВj – вычисленное среднее таблицы j;
ТСj – общее число включений в таблицу j;
TDj – вычисленное среднеквадратичное отклонение для таблицы.
СЧА ячеек и матриц ячеек сохраняемых величин
Xj – содержимое ячейки j;
МХj(а, b) – содержимое элемента матрицы ячеек j, расположенного
в строке а и столбце b.
СЧА вычислительных объектов
FNj – вычисленное значение функции j. От значения берется целая
часть, за исключением тех случаев, когда это значение используется в качестве модификатора в блоках GENERATE, ADVANCE, ASSIGN или в качестве аргумента другой функции;
Vj – вычисленное значение переменной j. При вычислении значения
переменной с фиксированной запятой получается целое число. При вычислении значения переменной с плавающей запятой дробная часть конечного
результата отбрасывается;
BVj – вычисленное значение булевой переменной.
СЧА списков и групп
GNj – текущее число членов в числовой группе j;
GTj – текущее число членов в группе транзактов с номерами j;
СНj – текущее число транзактов в j-м списке пользователя;
САj – среднее число транзактов в j-м списке пользователя;
СМj – максимальное число транзактов в j-м списке пользователя;
ССj – общее число транзактов в j-м списке пользователя;
СТj – среднее время пребывания транзакта в j-м списке пользова-
теля;
LSj – состояние логического ключа j: 1 – включен , 0 – выключен.

Приложения
110
Приложение 6
Основные сокращения и обозначения симулятора GPSS
Сокращение
Обозначение
TRANS
Номер транзакта
BDT
Время выхода сообщения из блока (это либо значение абсолютного условного времени, при котором транзакт покинет блок
ADVANCE, либо значение абсолютного условного времени в момент, когда сообщение вышло из последнего блока ADVANCE,
либо нуль, если сообщение еще не входило ни в один блок
ADVANCE)
BLOCK
Номер блока, в котором сообщение находится в данный момент
времени
PR
Уровень приоритета сообщения (0–127)
SF
Режим выбора (определяет режим выбора следующего блока:
• пробел означает переход к следующему блоку;
• ”А” означает режим ALL блока TRANSFER;
• “B” означает, что транзакт находится в блоке TRANSFER, работающем в режиме BOTH
NBA
Адрес следующего блока, в который должен войти транзакт
SET
Номер следующего транзакта того же семейства. (При создании
транзакта в SET записывается номер самого транзакта. При входе
в блок SPLIT в SET записывается номер следующего транзакта
из образуемого семейства)
MARK
Отметка времени (записывается в момент создания транзакта или
при входе транзакта в блок MARK с пустым полем А)
P1, …, P8
Текущие значения параметров 1–8
S1
Индикатор просмотра (при S1 = 1 симулятор не будет пытаться
продвинуть транзакт до измерения блокирующих условий; при
снятии блокирующего условия S1 устанавливается равным нулю
для всех транзактов, задержанных данным условием)
T1
Индикатор трассировки (устанавливается в единицу блоком
TRACE и в нуль блоком UNTRACE);
D1
Индикатор задержки для блока TRANSFER SIM
C1
Индикатор списка
• С1 = 0 – транзакт в списке пользователя,
• С1 = 1 – движение транзакта прервано,
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
