- •Применение пакета gpss при моделировании систем телекоммуникаций
- •Содержание
- •Введение
- •1 Система имитационного моделирования gpss World
- •1.1 Основы построения системы моделирования gpss World
- •1.2 Синтаксис языка gpss
- •1.3 Объекты имитационной модели
- •1.4 Структура модели на gpss world
- •2 Организация процесса моделирования в gpss world
- •2.1 Транзакты - динамические объекты системы
- •2.2 Системные числовые атрибуты
- •2.3 Модельное время
- •2.4 Списки
- •2.5 Внутренняя организация gpss
- •2.6 Библиотечные генераторы случайных чисел
- •2.7 Запуск и завершение моделирования
- •3 Команды gpss
- •3.1 Команды описания и управления
- •3.7 Команда halt
- •4 Операторы блоков
- •4.1 Блоки, связанные с транзактами
- •4.2 Блоки, связанные с аппаратными объектами
- •4.3 Блоки, предназначенные для сбора статистических данных
- •4.4 Блоки, изменяющие маршрут
- •5 Gpss-модели систем телекоммуникации
- •5.1 Имитационная модель простой телефонной системы
- •5.1.1 Постановка задачи
- •5.1.2 Листинг программы
- •5.1.3 Анализ работы модели
- •5.2 Исследование на имитационной модели работы телефонной сети
- •5.2.1 Постановка задачи
- •5. 2. 2 Листинг программы
- •5.2.3 Анализ работы телефонной системы
- •5.3 Моделирование работы переговорного пункта
- •5 .3.1 Постановка задачи
- •5. 3. 2 Листинг программы
- •5.3.3 Анализ работы модели
- •5.4. Модель частной телефонной станции
- •5.4.1 Постановка задачи
- •5. 4. 2 Листинг программы
- •5.4.3 Анализ работы модели
- •5.5 Имитационное моделирование сети Ethernet
- •5.5.1 Постановка задачи
- •5.5.2 Листинг программы
- •5.5.3 Запуск модели
- •5.5.4 Анализ результатов базовой модели
- •5.6 Модель вычислительной системы с несколькими абонентскими
- •Список литературы
4.2 Блоки, связанные с аппаратными объектами
Для занятия транзактом одноканального устройства служит блок
SEIZE (ЗАНЯТЬ).
Формат оператора:
SEIZE A
Значения операндов:
A - идентификатор (число или имя) занимаемого прибора.
Примеры:
SEIZE 4; транзакт пытается занять прибор с номером 4; если прибор занят другим транзактом, то поступивший транзакт помещается в список задержки этого прибора, где находится до момента освобождения прибора, после чего этот транзакт занимает освободившийся прибор и продолжает свое движение к следующему блоку.
SEIZE Pribor_Disk; транзакт пытается занять прибор с именем PriborDisk; далее по аналогии с предыдущим примером.
Удаление транзакта из прибора (освобождение прибора) осуществляется посредством блока RELEASE (ОСВОБОДИТЬ).
Формат оператора:
RELEASE A
Значения операндов:
A - идентификатор (число или имя) освобождаемого прибора.
Примеры:
RELEASE 4; транзакт освобождает прибор с номером 4. RELEASE Pribor_Disk; транзакт освобождает прибор с именем PriborDisk.
Захват прибора вновь прибывшим транзактом осуществляется с помощью блока PREEMPT (ЗАХВАТИТЬ).
Формат оператора:
PREEMPT A,[B],[C],[D],[E]
Значения операндов:
A - идентификатор (число или имя) прибора, подлежащего захвату;
B - определяет условие, при котором разрешён захват прибора: PR -приоритетный режим: захват разрешён, если активный транзакт имеет более высокий приоритет, чем обслуживаемый транзакт; [по умолчанию -Режим прерывания: захват разрешён, если обслуживаемый транзакт не является захватчиком];
C - метка блока, в который направляется транзакт, вытесненный из прибора более высокоприоритетным транзактом; [по умолчанию -Транзакт помещается в СБС];
D - номер параметра вытесненного транзакта, в который записывается оставшееся время обслуживания в приборе, если транзакт направляется к блоку С; используется совместно с операндом C;
E - может принимать только одно значение: RE, означающий режим удаления: вытесненный транзакт удаляется из состязания за прибор; [по умолчанию - вытесненный транзакт не удаляется из состязания за прибор].
Следует обратить внимание, что приоритетный захват возможен только для прибора, но невозможен для многоканального устройства.
Вход транзакта в многоканальное устройство осуществляется с помощью блока ENTER (ВОЙТИ).
Формат оператора:
ENTER A, [В]
Значения операндов:
A - идентификатор (число или имя) многоканального устройства;
В - количество занимаемых приборов многоканального устройства; [по умолчанию - один].
Примеры:
ENTER 5; транзакт поступает в многоканальное устройство с номером 3 и занимает один прибор (по умолчанию).
ENTER MANY,4; транзакт, поступая в многоканальное устройство с именем MANY, занимает 4 прибора.
Назначение оператора LEAVE (ВЫЙТИ): удаление транзакта из многоканального устройства.
Формат оператора:
LEAVE A,[B]
Значения операндов:
A - идентификатор (число или имя) многоканального устройства;
B - количество освобождаемых приборов многоканального устройства; [по умолчанию - один].
Примеры:
LEAVE 5; транзакт покидает многоканальное устройство с номером 5 и освобождает 1 прибор (по умолчанию).
LEAVE MANY,4; транзакт, покидая многоканальное устройство с именем MANY, освобождает 4 прибора.
Для изменения состояния логического ключа предназначен блок LOGIC (ИЗМЕНИТЬ).
Формат оператора:
LOGIC X A
Значения операндов:
A - идентификатор (число или имя) логического ключа;
X - логический оператор, указывающий тип операции изменения состояния: R - сбросить (выключить), S - установить (включить).
