Спросить
Войти

СОЗДАНИЕ ИМИТАЦИОННОЙ МОДЕЛИ ОДНОКАНАЛЬНОГО ПЕРЕДАТЧИКА КАДРОВ С БУФЕРОМ ОГРАНИЧЕННОЙ ЕМКОСТИ С ПОМОЩЬЮ VISUAL STUDIO

Автор: Журавлев Александр Александрович

/Эк

СОЗДАНИЕ ИМИТАЦИОННОЙ МОДЕЛИ ОДНОКАНАЛЬНОГО ПЕРЕДАТЧИКА КАДРОВ С БУФЕРОМ ОГРАНИЧЕННОЙ ЕМКОСТИ

С ПОМОЩЬЮ VISUAL STUDIO

CREATION OF A SIMULATION MODEL OF A SINGLE-CHANNEL FRAME TRANSMITTER WITH A LIMITED CAPACITY BUFFER USING VISUAL

УДК 004.94

Журавлев Александр Александрович, магистрант, Уральский Федеральный Университет им. Б. Н. Ельцина, ИРИТ-РтФ, г. Екатеринбург

Zhuravlev A.A. SanyaProgrammer2503@gmail.com

Аннотация

В настоящее время моделирование играет огромную роль в жизни людей. Оно помогает предвидеть последствия того или иного события, принимать обдуманные и взвешенные решения, а также строить определенные планы на будущее. В данной статье с помощью Visual Studio разработана модель имитационного передатчика кадров с буфером ограниченной емкости. Передатчик имеет такие составляющие как емкость буфера, количество заявок, текущее состояние и пр. Для данной модели теоретически рассчитаны коэффициент (вероятность) потерь заявок и средняя длина очереди. В соответствии с блок-схемой, описывающей работу передатчика, данные показатели вычислены практически с помощью Visual Studio. Теоретические и практические значения показателей коэффициента

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

Annotation

Currently, modeling plays a huge role in people&s lives. It helps to anticipate the consequences of an event, make informed and balanced decisions, as well as build particular plans for the future. In this article, using visual studio, a model of a simulation model of a single-channel frame transmitter with a limited capacity buffer was developed. The transmitter has such components as the buffer capacity, the number of requests, the current state, etc. For this model, the coefficient (probability) of loss of requests and the average queue length are theoretically calculated. In accordance with the flowchart describing the operation of the transmitter, these indicators are calculated practically using Visual Studio. Theoretical and practical values of applications and the average queue length are almost the same, therefore, the model developed using Visual Studio can be considered correct.

Введение

Роль моделирования для современного человека огромна [1]. Оно позволяет обдуманно и взвешенно принимать решения, прогнозировать события, строить определенные планы на будущее и пр.

В данной статье описана модель одноканального передатчика кадров с буфером ограниченной емкости. Параметры, которые имеет данный передатчик, представлены в разделе «Описание модели».

Для данного передатчика необходимо выполнить следующее:

• с помощью Visual Studio разработать модель работы передатчика, представленной с помощью блок-схемы в разделе «Описание модели»;

• рассчитать и сравнить теоретические значения коэффициента потерь заявок и средней длину очереди.

Цель работы - проверить корректность имитационной модели одноканального передатчика кадром с буфером ограниченной емкости, разработанной с помощью Visual Studio.

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

В статье используется эмпирический метод исследования, поскольку основной источник результатов - эксперимент.

Описание модели

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

Рисунок 1 - Работа одноканального передатчика кадров с ограниченной

емкостью буфера

На схеме использованы обозначения:

• п - переменная состояния (количество заявок в модели);

• - текущее количество поступивших на вход заявок;

• ^от - количество потерянных заявок;

• ^ - коэффициент потерь;

• L - емкость буфера;

• Nm - заданное максимальное число входных заявок - условие окончания моделирования;

• ГСЧ - генератор случайных чисел x;

• Ф1, ф2 - функции, преобразующие равномерно распределенную случайную величину x в экспоненциально распределенные твх и тп.

Начальное значение ГСЧ используется, чтобы получить псевдослучайную воспроизводимую последовательность случайных чисел x. Блоки на схеме - операции событийного моделирования:

• 1 - задание начальных значений для одного прогона модели;

• 2, 3, 6, 13 - имитация времени будущих событий изменения Zi ^ z;

• 7 - контроль окончания моделирования;

• 8 - определение времени ближайшего события и вида наступающего состояния в переходе;

• 4, 9, 11, 12 - изменение состояния (фиксация и использование переменной состояния для разветвлений алгоритма);

• 5, 10 - счетчики;

• 14, 15 - получение и вывод результатов.

Типовые параметры модели: среднее время между появлениями на входе Твх = 2, среднее время обслуживания/передачи Твх = 2.

Задание

С помощью среды Visual Studio разработать имитационную модель одноканального передатчика кадров с буфером ограниченной емкости. Рассчитать коэффициент (вероятность) потерь РП, среднюю длину очереди /.

Разработка модели

Научно-образовательный журнал для студентов и преподавателей «StudNet» №10/2020

В первую очередь, для разрабатываемой модели рассчитаны типовые характеристики:

1.Коэффициент/вероятность потерь заявок (Рп = —):

р=Ьх= .1

М твх тп

• Для 1 = 2, Рп = Р(Ь + 1) = = Т-743 « °-752

• Для Ь = 3, Рп = Р(Ь + 1)=-1-Г2рь+1 = 1-±р4 ^ °.751

• Для 1 = 5, Рп = Р(Ь + 1 )=-±--р1+1 = ^-±46 « °.75°

Хп _ 4 = СО I см

1-р PL + 1 = 1- -4
1-pL+2 1- -44
1-р PL + 1 = 1- -4
1-pL+2 1- -4s
1-р PL + 1 = 1- -4
1-pL+2 1- -47
2. Средняя длина очереди (l = EL=1 lP(l)): Для L = 2, I = —• 1-pL(1+L-Lp) — 1,69
1-pL+2 1~p

P2 1-pL(1+L- -Lp)

1-pL+2 1-p

p2 1-pL(1+L- -Lp)

Для L = 3, 1=^— • - 2,67

^ & 1~pL+2 1-p &

Для L = 5, 1=~г^т++2 • 1-pL(1+L~Lp) - 4,67

1-pL+2 1~р

Далее, реализуем данную модель (используя блок-схему из раздела «Описание модели») на языке C# с помощью среды Visual Studio [2-7]. Модель состоит из трех классов: Simulation (класс для имитации передатчика), ExponentialDistribution (класс экспоненциального распределения - вида распределения, по которому работает передатчик), Main (класс для эксперимента над созданной моделью). Коды каждого из классов представлены ниже.

Класс Simulation

public class Simulation {

private int L; //емкость буффера

private int seed; //значение для инициализации распределения private double appearanceAverageTime; //время появления заявки private double serviceAverageTime; //время обслуживания заявки private Random random;

private int requestNumber; //поступившие заявки

private int maxRequestNumber; //максимальное количество поступивших заявок

private int lostNumber; //потерянные заявки

private int n; //текущее состояние

private double[] queueLength; //длина очереди

private double averageQueueLength; // средняя длина очереди

//Конструктор

public Simulation(int L, int seed) {

this.L = L; this.seed = seed; appearanceAverageTime = 2; serviceAverageTime = 8; random = new Random(seed); requestNumber = 0; maxRequestNumber = 10000; lostNumber = 0; n = 0;

queueLength = new double[maxRequestNumber + 1];

//Получить среднюю длину очереди

public double getAverageQueueLength() {

if (queueLength.Length != 0) {

double sigma = 0;

foreach (double var in queueLength)

sigma += var; return sigma / queueLength.Length;

return 0;

//Получить емкость public int getL()

return L;

//Получить значение для инициализации распределения public int getSeed()

return seed;

//Получить максимальное число входных заявок public int getMaxRequestNumber()

return maxRequestNumber;

//Генерация случайного числа

public double generateRandomNumber(double value)

ExponentialDistribution ed = new ExponentialDistribution(); return ed.getRandom(random, 1 / value);

//Имитация

public double simulate()

double enterTime = generateRandomNumber(appearanceAverageTime);

double exitTime = enterTime + generateRandomNumber(serviceAverageTime);

n++;

requestNumber++;

enterTime += generateRandomNumber(appearanceAverageTime);

while (requestNumber != maxRequestNumber) {

if (enterTime < exitTime) {

if (n == L + 1) lostNumber++;

Научно-образовательный журнал для студентов и преподавателей «StudNet» №10/2020

n++;

requestNumber++;

enterTime += generateRandomNumber(appearanceAverageTime);

if (n == 0) {

exitTime = enterTime + generateRandomNumber(serviceAverageTime); n++;

requestNumber++;

enterTime += generateRandomNumber(appearanceAverageTime);

exitTime += generateRandomNumber(serviceAverageTime);

queueLength[requestNumber] = n - 1 >= 0 ? n - 1 : 0;

return (double)lostNumber / maxRequestNumber;

Класс ExponentialDistribution

public class ExponentialDistribution {

//Получить случайное число

public double getRandom(Random r, double p) {

return -(Math.Log(r.NextDouble()) / p);

Класс Main

class Program {

static void Main(string[] args) {

Console.WriteLine("Enter L(Buffer size):"); int L = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Enter seed:"); int seed = Convert.ToInt32(Console.ReadLine()); Simulation simulation = new Simulation(L, seed); Console.WriteLine("Buffer size = " + simulation.getL()); Console.WriteLine("Seed = " + simulation.getSeed()); Console.WriteLine("Maximum request value = " + simulation.getMaxRequestNumber());

Console.WriteLine("Coefficient of lost = " + simulation.simulate());

Console.WriteLine("Average queue length = " +

simulation.getAverageQueueLength());

Console.Write("Press any key to continue: ");

Console.ReadKey();

Пример работы программы представлен на рисунках 2-4.

tnter L(Buffer size) :

Enter seed:

Buffer size = 2 heed = 4£54,34

naxinum request value = lUVIW

^□efficient uf lost = Ъ>7Ы7

iverags queue length = ljfi93t]№l£S3ijl

Рисунок 2 - Работа программы для L = 2 и seed = 465434

lEnter L(Buffer size):

Enter seed:

Buffer size = S

heed = 43SÎ42

klaxinum request value = ieaea

^□efficient of lost =

Leverage queue length

Рисунок 3 - Работа программы для L = 3 и seed = 435342

Ifcnter L(Buffer size): ц

Enter seed:

151212

Buffer size = 5

Seed = 151212

naxinun re-quest value = 1DUUU

^□efficient nf Last = (3 j TS7Ï

average queue length = i^TSlJiJÈÉTSlJJ

Рисунок 4 - Работа программы для L = 5 и seed = 151212

Как видно, из рисунков 2-4, практические значения для коэффициента (вероятность) потерь (Coefficient of lost), среднюю длину очереди (Average queue length) практически совпадают с теоретическими показателями (рассчитаны в начале раздела «Разработка модели»). Следовательно, разработанную с помощью Visual Studio модель можно считать корректной.

Заключение

В данной статье описана модель одноканального передатчика кадров с буфером ограниченной емкости.

Результаты исследования

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

• с помощью Visual Studio разработана модель работы передатчика, представленной с помощью блок-схемы в разделе «Описание модели»;

• рассчитаны и сравнены теоретические значения коэффициента потерь заявок и средней длину очереди;

Теоретические и практические значения коэффициента потерь и

средней длины очереди совпадают, следовательно, разработанную модель

передатчика можно считать корректной.

Литература

1. Решетков К. Ю. Роль моделирования в управлении конкурентоспособным и устойчивым развитием инновационных предпринимательских структур // Бизнес в законе. 2015. № 4. С. 157-162
2. Строгалев В. П., Толкачева И. О. Имитационное моделирование. Издание: «МГТУ им. Н. Э. Баумана». 2018. 296 С.
3. Документация по Visual Studio. Добро пожаловать в интегрированную среду разработки Visual Studio [Электронный ресурс] // URL: https: //docs. microsoft.com/ru-ru/visualstudio/get-started/visual-studio-ide?view=vs-2019
4. Клейнберг, Дж., Тардос Е. Алгоритмы: разработка и применение. Классика Computers Science / Пер. с англ. Е. Матвеева. — СПб.: Питер, 2016. 800 С.
5. Лафоре Р. Структуры данных и алгоритмы в Java. Классика Computers Science. 2-е изд. — СПб.: Питер, 2013. 704 С.
6. Бхаргава А. Грокаем алгоритмы. Иллюстрированное пособие для программистов и любопытствующих. - СПб.: Питер, 2017. 288 С.

Literature

1. Reshetkov K. U. The role of modeling in the management of competitive and sustainable development of innovative entrepreneurial structures // Business in Law. 2015. No. 4. P. 157-162
2. Strogalev V. P., Tolkacheva I. O. Simulation modeling. Edition: "MSTU named after N. E. Bauman". 2018. 296 P.
3. Visual Studio Documentation. Welcome to the Visual Studio integrated development environment [Electronic resource] // URL: https://docs. microsoft.com/en-us/visualstudio/get-started/visual-studio-ide?view=vs-2019
4. Kleinberg, J., Tardos E. Algorithms: development and application. Classics Computer Science / Per. from English E. Matveeva. - SPb.: Peter, 2016. 800 P.
5. Lafore R. Data structures and algorithms in Java. Classic Computer Science. 2nd ed. - SPb.: Peter, 2013. 704 P.
6. Bhargava A. Grokai algorithms. Illustrated guide for programmers and curious. - SPb.: Peter, 2017. 288 P.
creation simulation model single-channel frame transmitter limited capacity buffer visual studio СОЗДАНИЕ ИМИТАЦИОННАЯ МОДЕЛЬ ОДНОКАНАЛЬНЫЙ ПЕРЕДАТЧИК БУФЕР ОГРАНИЧЕННОЙ ЕМКОСТИ
Другие работы в данной теме:
Контакты
Обратная связь
support@uchimsya.com
Учимся
Общая информация
Разделы
Тесты