- •Расчетная работа
- •Содержание
- •Введение
- •1 Системное описание объекта моделирования и постановка задачи
- •2 Построение базовой имитационной модели.
- •3 Анализ результатов базовой имитационной модели.
- •4 Построение модифицированной имитационной модели
- •5 Анализ результатов модифицированной имитационной модели
- •Список использованных источников
- •Приложение а Базовая имитационная модель
- •Заключение
- •Приложение б Модифицированная имитационная модель
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), он становится равным нулю. Моделирование при этом завершается и создается файл-отчет.
