Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Моделирование телекоммуникационных систем и сетей. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
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.
Для конкретных блоков шести типов (Очередей, Обслуживающих устройств, Логических ключей, Матриц, Многоканальных устройств, Со-
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]