Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Моделирование телекоммуникационных систем и сетей. Учебное пособие
.pdf
5.1. Блоки и Транзакты
51
рования, обрабатываются и передаются пользователю для анализа и исследования реальной системы.
Функции в программе системы моделирования задаются операто-
рами описания функций, а ее параметры записываются в табличном виде.
Ячейки и матрицы сохраняемых величин. Эти объекты обычно
используются для запоминания числовых значений и статистических данных, полученных в процессе моделирования. В языке моделирования используются матрицы и программные переменные, которые в системе GPSS
имеют название «ячейки сохраняемых величин». Операция сохранения
требуется для последующих обработок статистических данных либо для
операций сравнения при изменении параметров в процессе моделирования.
Прочитать значения, которые хранятся в этих объектах, можно пропуская
транзакт через соответствующие блоки. Значения, присвоенные объектам
сохраняемых величин, могут быть прочитаны с помощью транзактов в той
части программы, где находятся соответствующие блоки.
Очереди. При имитации любой реальной системы движение тран-
зактов по блокам может остановиться из-за недоступности тех блоков, куда
они должны перейти на следующем шаге. Это означает, что следующий
блок для приема транзакта недоступен и необходимо дождаться, когда следующий блок станет доступным. К системе моделирования для учёта задержки транзактов в различных местах модели ставятся специальные
блоки, называемые очередью. В них транзакты могут дожидаться, когда
они смогут войти в следующий блок. Блок очереди транзакта является имитатором очередей заявок, поступающих в устройство обслуживания реальной системы. Поскольку очередь – это объект системы моделирования, то
у нее установлены параметры, позволяющие вести статистический учёт таких очередей. В системе моделирования при работе автоматически выполняется сбор всей статистики по очереди, такой как длина очереди, среднее
время нахождения в очереди, количество транзактов, проходящих этот
блок сразу без остановки, и другие. Все эти СЧА очереди являются доступными, и их можно использовать в программе.
Также системой моделирования для очереди поддерживается дисциплина обслуживания транзактов FIFO, что означает «первым пришел – первым обслужился». Такая дисциплина используется иногда в реальных системах обслуживания.

5. Объекты
52
Таблицы. Объект «таблица» используется в процессе моделирова-
ния пользователем для сохранения статистических результатов о случайных значениях параметров. Таблица разделена на несколько частотных интервалов, в которые заносится число попаданий конкретной величины (некоторого СЧА). Для каждой такой таблицы система вычисляет среднеквадратическое отклонение результатов и их математическое ожидание.
5.2. Типы операторов
В системе моделирования существует три типа операторов:
1) блоки;
2) операторы описания данных;
3) команды GPSS.
Общие сведения о формате операторов GPSS. В GPSS для ссылки
на числа, блоки и объекты используются имена (идентификаторы). Имя
представляет собой алфавитно-цифровую последовательность длиной до
250 символов в GPSS World. Начинаться эта последовательность должна
всегда только буквами. При этом могут быть использованы только символы латинского алфавита.
В алфавит языка GPSS входят следующие символы:
A, B, ..., Z – большие буквы латинского алфавита;
1, 2, ...., 9, 0 – цифры;
? – вопросительный знак (для вызова помощи);
@ – коммерческое по (знак остатка от деления);
# – решетка (номер) – используется как знак умножения;
$ – знак доллара;
^ – «карет» – знак возведения в степень;
+ – плюс;
- – минус;
_ – подчеркивание;
* – звездочка;
/ – косая черта (знак деления);
( – левая скобка;
) – правая скобка;
‘ – апостроф;

5.2. Типы операторов
53
. – точка;
, – запятая;
– пробел.
Формат GPSS-блоков такой:
[Номер строки] [< Метка >] < Операция > < Операнды > <; Комментарии >
Номер строки. Это поле может отсутствовать. Поскольку, ставится
номер строки или нет, определяется в настройках системы моделирования
GPSS World. Представляет собой десятичное число и начинается всегда с
первой позиции строки.
Метка (имя блока). Содержимым поля является имя – последовательность символов, начинающаяся с буквы. При создании модели это поле
используется как ссылка на определенные блоки. Поэтому, если ссылка не
требуется, то это поле является необязательным.
Операция. Операциями блоков являются глаголы, которые описывают основные функциональные назначения блоков. Каждый из блоков характеризируется своим собственным предписанным ему глаголом.
Операнды. Блоки могут иметь операнды. Операнды блоков задают
информацию, специфичную для действия данного блока. Число операндов
блока зависит от типа блока. В блоках не может использоваться больше
семи операндов. Операнды в общем случае обозначаются символами: А, В,
С, D, E, F, G. У каждого типа блоков имеется своё количество используемых операндов и их назначение тоже разное. Одни операнды должны быть
определены всегда, а другие могут задаваться в процессе моделирования
или не задаваться. Операнды в записи блока указываются друг за другом в
определенном порядке и отделяются запятыми или одним пробелом. Если
операнд опущен, то вместо него ставится запятая. Между операндами не
должно быть более одного пробела, так как это будет означать, что операнды закончились, и интерпретатор прекращает чтение строки.
Комментарии. Необязательное поле. Комментарии могут записываться в той же строке, что и операнд, но в этом случае между ними ставится
символов ";". Комментарий может записываться и в отдельной строке, тогда
в начале строки обязательно ставится либо символ ";" либо символ "*".
В GPSS World допускается использование символов кириллицы.

5. Объекты
54
Комментариев в языке gpss. Строка описания блока может содер-
жать до 250 символов в GPSS World. При описании форматов квадратные
скобки [ ] указывают на необязательность поля.
Запрещается использование при создании имен или меток в программе полностью названия или первые символы названий команд, блоков,
стандартных числовых атрибут или операторов. В именах рекомендуется
чаще использовать символы подчеркивания, это позволяет гарантировать
отличия создаваемых имён от ключевых слов системы моделирования.
5.3. Часы модельного времени
При функционировании реальных систем происходят различные события. Каждое такое событие длится некоторый период времени. Например, информация поступает в устройство в виде пакетов и выстраивается в
очередь на обработку. Когда подходит очередь, пакет попадает на обработку. Когда обработка выполнена, пакеты передаются в сеть. Если все эти
события представить в модели, то здесь при имитации работы системы будет выполнена имитация времени наступления событий, но только с использованием некоторого временного масштаба. Интерпретатор автоматически обслуживает ЧАСЫ модельного времени. Практически всегда системное время относится к системным атрибутам.
В начале процесса моделирования в системе появляется первый
транзакт. При этом часы модельного времени устанавливаются так, что они
имитируют время появления первого транзакта в реальной системе. В соответствии с часами модельного времени транзакт передвигается по модели. Интервалы времени его перемещение между блоками моделям и задержки в этих блоках рассчитывается также в соответствии с часами модельного времени.
При каждом отчете модельного времени система проверяет, какие
события должны произойти в данный момент. Если событие должно произойти в этот момент времени, то имитируется его наступление, и фиксируется время события. Если в один момент времени должно произойти несколько событий, то они происходят в любом порядке и только после того,
как все события отработаны, модельные часы увеличат свое значение. Модели часов изменяются точно так же, как и в реальной системе, только

5.3. Часы модельного времени
55
масштаб времени может быть здесь совсем другим – либо быстрее, либо
медленнее в сравнении с реальной системой.
Особенности ЧАСОВ GPSS
1. ЧАСЫ в языке GPSS World могут иметь действительные значения времени, т.е. события могут появляться только в заданные моменты
времени. С целью ускорения процесса моделирования моменты времени
желательно задавать целыми числами, ведь выполняемые операции на
компьютере над числами с плавающей запятой по сравнению с целыми
числами всегда требовали повышенное количество ресурсов и занимали
больше времени.
2. Какая единица модельного времени будет использована в процессе моделирования определяется разработчиком. Причем выбранная
единица времени – это условное понятие, используемое только для имитации соотношения значений временных интервалов, происходящих в реальной системе событий. При создании модели разработчик определяет единицу модельного времени так, чтобы все моделируемые временные интервалы были ей кратны. Это может быть минута, секунда, час. Иногда за единицу времени может быть принято произвольное временное значение.
Например, 10 секунд или 5 миллисекунд или полчаса. Разработчик определяет по своему усмотрению единицу времени так, чтобы удобно было выполнять моделирование, и модель имитировала реальную систему как
можно точнее. Если в модели разработчиком задано разное значение единиц модельного времени, то система не считает это ошибкой, но результаты моделирования будут неправильными. Поэтому за неизменностью
единицы модельного времени должен следить сам разработчик.
3. Система GPSS является интерпретатором «следующего события
во времени». Иначе говоря, после того, как модель полностью скорректирована в данный момент дискретно изменяющегося времени, ЧАСЫ перемещаются к следующему моменту времени, на который запланировано следующее событие. Таким образом, ЧАСЫ модельного времени продвигаются от одного события к другому.

6. Окна системы GPSS World
56
6. ОКНА СИСТЕМЫ GPSS WORLD
В GPSS имеются следующие окна:
Blocks Window – Окно блоков;
Expression Window – Окно выражений;
Facilities Window – Окно обслуживающих устройств;
Logicswitches Window – Окно логических ключей;
Matrix Window – Окно матриц;
Plot Window – Окно графиков;
Queues Window – Окно очередей;
Savevalues Window – Окно сохраняемых величин;
Storages Window – Окно многоканальных устройств;
Table Window – Окно гистограмм.
Работа с этими окнами возможна только после трансляции про-
граммы. Трансляция запускается командой Command → Create
Simulation. Когда трансляция выполнена, запускают следующую ко-
манду меню Window → Simulation Window. На эту команду появляется
вкладка со всеми перечисленными названиями окон. Во вкладке можно
выбрать любое окно. Следует учитывать, что без оттранслированной программы многие команды меню неактивны.
После трансляции модели система GPSS World обеспечивает поль-
зователю наблюдение за перемещением активных требований (транзактов) в окнах:
•
блоков (Blocks Window);
•
каналов обслуживания (Facilities Window);
•
очередей (Queues Window);
•
других специализированных окон.
Все окна обеспечивают наблюдения за отдельными элементами мо-
дели.
Некоторые из окон вызываются не всегда, а только если соответству-
ющая им информация имеется в программе.
Например, Окно матриц Matrix Window – если есть матрицы, Окно
гистограмм Table Window – если для гистограмм собирается соответству-
ющая информация с помощью команды TABULATE.

6.1. Окно блоков Blocks Window
57
Окна позволяют наблюдать изменения значений различных пере-
менных в цифровой, табличной, графической форме в процессе работы
программы. Можно задать ход моделирования в виде его непрерывной работы (START) либо по шагам (F5). При пошаговой работе появляется возможность использовать окна как для наблюдение за ходом моделирование,
так и для слежения за процессом изменения параметров системы в ходе моделирования.
6.1. Окно блоков Blocks Window
С помощью окна выполняется оперативное отслеживание в процессе
моделирования перемещения транзактов по блокам. Окно может отображаться в двух видах: развёрнутом виде (рис. 24) и в компактном виде
(рис. 25 и рис. 26).
Рис. 24. Окно блоков Blocks Window в развёрнутом виде
Рис. 25. Компактный вид Окна блоков

6. Окна системы GPSS World
58
Рис. 26. Другой вариант компактного вида Окна блоков
В развёрнутом виде в окне представляются все статистические дан-
ные процесса моделирования по блокам. Во втором случае эти данные отсутствуют, а сам блок в окне представляется значком со своим именем.
При отображении окна в развернутом виде видны количественные
параметры различных блоков в процессе моделирования. Недостатком является то, что размер окна не позволяет отображать на экране все блоки
большой программы сразу. При отображении окна в компактном виде оно
позволяет более наглядно представить работу блоков сравнительно больших программ.
Чтобы перейти при моделировании из развёрнутого вида отображе-
ния окна к компактному, необходимо использовать в меню команду
настройки View → Entities Details. Если здесь поставить метку Entities
Details, то блоки будут отображаться в развёрнутом виде, если метку
убрать, то в компактном.
Список используемых блоков в программе отображается в окне бло-
ков в порядке их присутствия в программе. Блоки могут быть обозначены
условными, сокращёнными наименованиями, графическими обозначениями и номерами.
При запуске программы моделирования слева от блоков появляются
условные значки в виде прямоугольников, означающие появление транзактов, их перемещение, появление очередей, переполнение очередей и т.п.
В развёрнутом виде окно блоков представляет собой таблицу с ко-
личеством столбцов 7 и числом строк, равным числу блоков в программе.
Информация в колонках Окне блоков имеет следующий смысл:
Loc – условное графическое обозначение, порядковый номер и крат-
кое наименование блока в программе;
Block Type – полное наименование блока;
Current Count – текущее число транзактов в данном блоке;
Entry Count – число состоявшихся входов транзактов в данный блок;

6.1. Окно блоков Blocks Window
59
Retry Chain – число повторных попыток входа транзактов в данный
блок (когда с первой попытки вход был невозможен);
Line Number – номер строки в листинге (тексте) программы;
Include File – включённый файл (если он есть).
Окно блоков может функционировать в процессе моделирования
либо в автоматическом, либо в пошаговом режиме. Изменить текущий режим функционирования можно в процессе моделирования с помощью элементов панели окна. Кнопки, доступные в окне блоков, выполняют следующие функции.
Кнопка – вызывает продолжение автоматического моделирования, если оно было ранее прервано кнопкой Halt.
Кнопка – останавливает автоматическое моделирование;
Кнопка– делает 1 шаг в шаговом режиме с переходом к ближайшему
следующему событию.
Для работы в автоматическом режиме (в котором есть возможность
останова процесса моделирования кнопкой Halt и продолжения работы
кнопкой Continue) необходимо в конце программы использовать команду
START или сделать старт после трансляции программы используя меню
Command → Start с указанием в окне Start Command числа циклов (тран-
зактов) Счётчика завершения (рис. 27):
Рис. 27. Ввод числа циклов в Счётчик завершения
для автоматического режима моделирования
Затем в Окне блоков следует управлять процессом кнопками Halt,
Continue и Step.
При нажатии кнопки Halt процесс моделирования прервётся, и программа перейдёт в режим ожидания. При нажатии кнопки Continue моделирование продолжится. При нажатии кнопки Step произойдёт продвижение программы на один шаг к очередному событию (блоку).

6. Окна системы GPSS World
60
Если программа моделирования, выполняемая в автоматическом ре-
жиме, закончила работу, то последовательным нажатием кнопки Step
можно продолжить её работу на один шаг при каждом нажатии.
В непрерывном режиме видно, как в динамике генерируются транзакты, разбегаются по блокам, исчезают из программы. В шаговом режиме
можно отслеживать отдельные транзакты в любые моменты времени в отдельных блоках.
6.2. Окно выражений Expression Window
Expression Window – Окно выражений (рис. 28).
Рис. 28. Окно выражений Expression Window
Это окно показывает значения параметров модели в процессе моделирования, которые можно задать с помощью Выражений. В качестве Вы-
ражений используются Системные числовые атрибуты (СЧА) совместно
с переменными, имеющими имя: например, SC$Имя – счётчик захватов
многоканального устройства. Сообщает общее число входов транзактов в
блок с именем Имя (целое число)
SC$Имя – означает количество задач, принятых вычислительной си-
стемой на решение, в программе. Например, SC$Sets означает, что в программе имеется блок вычислительной системы, названной программистом
Sets. Часть выражения – SC$ (с долларом справа) является Системным чис-
ловым атрибутом с функцией, определяющей количество захватов
устройства с именем Sets.
Для конкретных блоков шести типов (Очередей, Обслуживающих
устройств, Логических ключей, Матриц, Многоканальных устройств, Со-
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
