Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИМС_87.doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
160 Кб
Скачать
☆

1 Системное описание объекта моделирования и постановка задачи

    1. Постановка задачи

В системе передачи данных осуществляется обмен пакетами между пунктами A и B по дуплексному каналу связи (ДКС). Пакеты поступают в пункты системы от абонентов через интервалы, подчиняющиеся экспоненциальному закону распределения с матожиданием 9 мс. Передача пакета (после обработки его в течение 1 мс в пункте) по ДКС занимает 10±2 мс. В пунктах имеются буферные регистры ёмкостью два пакета (включая передаваемый пакет). В случае прихода пакета в момент занятости регистров пунктам системы предоставляется выход на спутниковую полудуплексную линию связи, которая осуществляет передачу пакетов данных за 10±5 мс. При занятости спутниковой линии связи пакет получает отказ и покидает систему без обслуживания.

Разработать имитационную программу для анализа функционирования системы передачи данных в течение 10 мин и определить минимальную скорость передачи пакетов через резервную линию связи для безотказной работы.

Указание – По дуплексному каналу связи сообщения могут передаваться в обоих направлениях одновременно, по полудуплексному – только в одном направлении.

Примечание – Будем считать, что пакеты, передаваемые по спутниковой полудуплексной линии связи, не обрабатываются.

1.2. Системное описание и задачи моделирования

Проанализировав задание, можно сделать вывод, что описанную систему передачи данных (рисунок 1.1) можно представить в виде двух подсистем.

Первая подсистема включает передачу пакетов по дуплексному каналу связи, который представлен как совокупность двух одноканальных устройств. По первому устройству происходит передача из пункта A в пункт B, по второму – из пункта B в пункт A. Таким образом, пакеты могут передаваться в обоих направлениях одновременно. Эти два устройства фактически можно было бы описать с помощью двухканальной СМО. Однако это могло бы привести к ситуации, когда в один момент времени будут передаваться 2 пакета из одного пункта в другой и ни одного пакета в обратном направлении, что неверно.

Передача пакета осуществляется после обработки в соответствующем буферном регистре, который реализован в виде очереди с ограничением, равным 2 пакета (включая передаваемый пакет). Дисциплина обслуживания заявок – FIFO.

Вторая подсистема выполняет передачу пакетов по спутниковой линии связи, которая используется в случае занятости буферных регистров. Она рассматривается как одноканальное устройство, поскольку в определенный момент времени может осуществлять передачу пакетов только в одном направлении.

Следует отметить, что процесс поступления пакетов в пункты задан экспоненциальным законом распределения, а передачи по каналам связи – равномерным законом распределения.

Рисунок 1.1. Схема объекта моделирования

В качестве основных критериев эффективности объекта моделирования следует предусмотреть, чтобы простои устройств были минимальны, т.е. коэффициенты загрузки были достаточно высокими (75 - 85 %), а также свести к минимуму количество возможных отказов.

2 Построение базовой имитационной модели.

Приведем описание базовой имитационной модели на языке GPSS World.

Для сбора данных о времени пребывания заявок в модели введена таблица VREM.

Поступление пакетов в пункт А имитируется с помощью блока операторов:

GENERATE(EXPONENTIAL(1,0,9))

ASSIGN 1,2

TRANSFER ,PUNKT_A

В операторе GENERATE  (EXPONENTIAL  (1,0,9)) имитируется поступление пакетов данных через интервалы, распределенные по экспоненциальному закону с математическим ожиданием 9 мс. Оператор ASSIGN 1,1 присваивает первому параметру транзакта значение 1, что означает принадлежность пакета пункту А. Оператор TRANSFER ,PUNKT_A передает транзакт на метку PUNKT_A, т.е. имитирует поступление пакетов в пункт A.

Далее аналогично имитируется поступление пакетов в пункт B:

GENERATE(EXPONENTIAL(3,0,9))

ASSIGN 1,2

TRANSFER ,PUNKT_B

Оператор TEST L Q$Q_A,2,SPUT проверяет занятость регистра пункта A. Если условие выполняется, транзакт поступает в буферный регистр, который реализован в виде очереди: QUEUE Q_A. В противном случае - на метку SPUT (т.е. на спутниковую линию связи).

В буферном регистре транзакт обрабатывается в течении 1мс:

SEIZE OBR_A

ADVANCE 1,0

RELEASE OBR_A

Далее осуществляется передача по дуплексному каналу:

SEIZE PERED_A

ADVANCE 10,2

RELEASE PERED_A

После передачи транзакт освобождает буферный регистр, выходя из очереди:

DEPART Q_A

Оператор SAVEVALUE DKS_A+,1 предназначен для подсчета количества переданных пакетов из пункта A. После чего транзакт поступает на метку KONEC: TRANSFER ,KONEC.

Аналогично имитируется обработка и передача транзактов в пункте B:

PUNKT_B TEST L Q$Q_B,2,SPUT

QUEUE Q_B

SEIZE OBR_B

ADVANCE 1,0

RELEASE OBR_B

SEIZE PERED_B

ADVANCE 10,2

RELEASE PERED_B

DEPART Q_B

SAVEVALUE DKS_B+,1

TRANSFER ,KONEC

При поступлении транзакта на метку SPUT проверяется свободна ли спутниковая линия в операторе TEST E F$SPUTN,0,OTKAZ. Если условие не выполняется, транзаткт получает отказ и отправляются на метку OTKAZ. Если спутниковая линия свободна, осуществляется передача:

SEIZE SPUTN

ADVANCE 10,5

RELEASE SPUTN

Оператор TEST E P1,1,METB проверяет какому пункту принадлежит транзакт. Если первый параметр равен 1, то увеличиваем количество переданных пакетов по спутниковой линии из пункта A и переходим на метку KONEC:

SAVEVALUE SP_A+,1

TRANSFER ,KONEC

Если первый параметр не равен 1, то переходим на метку METB, увеличиваем количество переданных пакетов по спутниковой линии из пункта B и переходим на метку KONEC:

METB SAVEVALUE SP_B+,1

TRANSFER ,KONEC

При поступлении транзакта на метку OTKAZ проверяем какому пункту он принадлежит и сохраняем количество отказов пунктов A и B соответственно:

OTKAZ TEST E P1,1,BOTK

SAVEVALUE OTK_A+,1

TRANSFER ,KONEC

BOTK SAVEVALUE OTK_B+,1

Оператор SAVEVALUE VSEGO+,1 подсчитывает общее количество транзактов, поступивших на метку KONEC. Оператор TABULATE VREM регистрирует значение M1 в таблице, т.е. время пребывания транзакта в модели.

Для удаления транзактов из модели используется оператор TERMINATE.

Следующие операторы имитируют работу участка в течение 10 минут:

GENERATE 600000

TERMINATE 1

START 1

Транзакт поступает через 600000 мс после начала моделирования. Этот транзакт сразу же переходит на оператор TERMINATE 1, т.е. удаляется из модели; при этом из счетчика завершений вычитается 1. Т.к. при запуске модели счетчик завершений задан равным 1 (запуск модели осуществляется командой START 1), он становится равным нулю. Моделирование при этом завершается и создается файл-отчет.