Дипломная работа: Системы и сети связи на GPSS/PC

Одноканальные и многоканальные устройства соответствуют обслуживающим приборам в СМО. Одноканальное устройство, которое для краткости далее будем называть просто устройством, может обслуживать одновременно только один транзакт. Многоканальное устройство (МКУ) может обслуживать одновременно несколько транзактов. Логические переключатели (ЛП) используются для моделирования двоичных состояний логического или физического характера. ЛП может находиться в двух состояниях: включено и выключено. Его состояние может изменяться в процессе моделирования, а также опрашиваться для принятия определенных решений.

Статистические объекты GPSS/PC служат для сбора и обработки статистических данных о функционировании модели. К ним относятсяочереди и таблицы.

Каждая очередь обеспечивает сбор и обработку данных о транзактах, задержанных в какой-либо точке модели, например перед одноканальным устройством. Таблицы используются для получения выборочных распределений некоторых случайных величин, например времени пребывания транзакта в модели.

К вычислительным объектам GPSS/PC относятся переменные (арифметические и булевские) и функции. Они используются для вычисления некоторых величин, заданных арифметическими или логическими выражениями либо табличными зависимостями.

Запоминающие объекты GPSS/PC обеспечивают хранение в памяти ПК отдельных величин, используемых в модели, а также массивов таких величин. К ним относятся так называемые сохраняемые величины и мат рицы сохраняемых величин.

К объектам группирующего класса относятся списки пользователя и группы. Списки пользователя используются для организации очередей с дисциплинами, отличными от дисциплины "раньше пришел - раньше обслужен". Группы в данном издании рассматриваться не будут.

Каждому объекту того или иного класса соответствуют числовыеатрибуты, описывающие его состояние в данный момент модельного времени. Кроме того, имеется ряд так называемых системных атрибутов, относящихся не к отдельным объектам, а к модели в целом. Значения атрибутов всех объектов модели по окончании моделирования выводятся в стандартный отчет GPSS/PC. Большая часть атрибутов доступна программисту и составляет так называемые стандартные числовые атрибуты(СЧА), которые могут использоваться в качестве операндов операторов исходной программы. Все СЧА в GPSS/PC являются целыми числами.

Каждый объект GPSS/PC имеет имя и номер. Имена объектам даются в различных операторах исходной программы, а соответствующие им номера транслятор присваивает автоматически. Имя объекта представляет собой начинающуюся с буквы последовательность букв латинского алфавита, цифр и символа "подчеркивание". При необходимости имени любого объекта, кроме имени блока, можно поставить в соответствие любой номер с помощью оператора описания EQU, имеющего следующий формат:

имя EQU номер Блокам присваиваются их порядковые номера в исходной программе (не путать с номерами строк!). Для ссылки на какой-либо стандартный числовой атрибут некоторого объекта соответствующий операнд оператора исходной программы записывается одним из следующих способов:

1

СЧА $ имя ;

1.5

СЧАj, где СЧА - системное обозначение (название) конкретного стандартного числового атрибута данного объекта; имя - имя объекта; j - номер объекта; $ - символ-разделитель.

Прогон текущей модели, т.е. собственно моделирование, выполняется с помощью специальной управляющей программы, которую называют симулятором (от английского SIMULATE - моделировать, имитировать). Работа GPSS-модели под управлением симулятора заключается в перемещении транзактов от одних блоков к другим, аналогично тому, как в моделируемой СМО перемещаются заявки, соответствующие транзактам.

В начальный момент времени в GPSS-модели нет ни одного транзакта. В процессе моделирования симулятор генерирует транзакты в определенные моменты времени в соответствии с теми логическими потребностями, которые возникают в моделируемой системе. Подобным же образом транзакты покидают модель в определенные моменты времени в зависимости от специфики моделируемой системы. В общем случае в модели одновременно существует большое число транзактов, однако в каждый момент времени симулятор осуществляет продвижение только какого-либо одного транзакта.

Если транзакт начал свое движение, он перемещается от блока к блоку по пути, предписанному блок-схемой. В тот момент, когда транзакт входит в некоторый блок, на исполнение вызывается подпрограмма симулятора, соответствующая типу этого блока, а после ее выполнения, при котором реализуется функция данного блока, транзакт "пытается" войти в следующий блок. Такое продвижение транзакта продолжается до тех пор, пока не произойдет одно из следующих возможных событий:

1) транзакт входит в блок, функцией которого является удаление транзакта из модели;

2) транзакт входит в блок, функцией которого является задержка транзакта на некоторое определенное в модели время;

3) транзакт "пытается" войти в следующий блок, однако блок "отказывается" принять его. В этом случае транзакт остается в том блоке, где находился, и позднее будет повторять свою попытку войти в следующий блок. Когда условия в модели изменятся, такая попытка может оказаться успешной, и транзакт сможет продолжить свое перемещение по блок-схеме. Если возникло одно из описанных выше условий, обработка данного транзакта прекращается, и начинается перемещение другого транзакта. Таким образом, выполнение моделирования симулятором продолжается постоянно.

Проходя через блоки модели, каждый транзакт вносит вклад в содержимое счетчиков блоков. Значения этих счетчиков доступны программисту через СЧА блоков: W - текущее содержимое блока и N - общее количество входов в блок.

Каждое продвижение транзакта в модели является событием, которое должно произойти в определенный момент модельного времени. Для того, чтобы поддерживать правильную временную последовательность событий, симулятор имеет таймер модельного времени, который автоматически корректируется в соответствии с логикой, предписанной моделью.

Таймер GPSS/PC имеет следующие особенности:

1) регистрируются только целые значения (все временные интервалы в модели изображаются целыми числами);

2) единица модельного времени определяется разработчиком модели, который задает все временные интервалы в одних и тех же, выбранных им единицах;

3) симулятор не анализирует состояние модели в каждый следующий момент модельного времени (отстоящий от текущего на единицу модельного времени), а продвигает таймер к моменту времени, когда происходит ближайшее следующее событие.

Значения таймера доступны программисту через системные СЧА C1 ( относительное время ) и AC1 ( абсолютное время ).

Центральной задачей, выполняемой симулятором, является определение того, какой транзакт надо выбрать следующим для продвижения в модели, когда его предшественник прекратил свое продвижение. С этой целью симулятор рассматривает каждый транзакт как элемент некоторого списка. В относительно простых моделях используются лишь два основных списка: список текущих событий и список будущих событий.

Список текущих событий включает в себя те транзакты, планируемое время продвижения которых равно или меньше текущего модельного времени (к последним относятся транзакты, движение которых было заблокировано ранее). Он организуется в порядке убывания приоритетов транзактов, а в пределах каждого уровня приоритета - в порядке поступления транзактов.

Список будущих событий включает в себя транзакты, планируемое время продвижения которых больше текущего времени, т.е. события, связанные с продвижением этих транзактов, должны произойти в будущем. Этот список организуется в порядке возрастания планируемого времени продвижения транзактов.

К-во Просмотров: 393
Бесплатно скачать Дипломная работа: Системы и сети связи на GPSS/PC