Курсовая мо моделированию систем

Санкт-Петербургский  государственный электротехнический университет

Кафедра АСОИУ 
 
 
 
 
 
 

Курсовая  работа

По дисциплине: Моделирование систем

Тема: Моделирование  работы ЭВМ

Вариант 15 
 
 
 
 

                    Выполнила: ст. гр.

                                                                                        Проверил:  
 
 
 
 
 
 

Санкт-Петербург

2011 г.

Аннотация 

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

    Программная реализация выполнена в интегрированной среде разработки Borland Delphi 7. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

Содержание 

    Введение

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

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

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

 

    Вариант задания №15. 

    В системе передачи цифровой информации передается речь в цифровом виде. Речевые  пакеты передаются через два транзитных канала, буферируясь в накопителях перед каждым каналом. Время передачи по каналу составляет 5 мс. Пакеты поступают через 6±3 мс. Пакеты, передававшиеся более 10 мс, на выходе системы уничтожаются, так как их появление в декодере значительно снизит качество передаваемой речи. Уничтожение более 30% пакетов недопустимо. При достижении такого уровня система за счет ресурсов ускоряет передачу до 4 мс на канал. При снижении уровня потерь до приемлемого происходит отключение ресурсов.

    Смоделировать 10 с работы системы. Определить частоту  уничтожения пакетов и частоту подключения ресурса. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

2. Структурная схема процесса функционирования

 
 
 
 
 
 
 

Рисунок 1 – Структурная схема процесса функционирования 

3. Структурная схема модели в символике Q-схем

Рисунок 2 – Структурная схема модели в символике Q-схем 
 

  • Источник И имитирует процесс поступления сообщений от оборудования связи.
 
  • Накопитель Н1 имитирует буфер, где содержится сообщение до поступления на первый транзитный канал.
 
  • Накопитель  Н2 имитирует буфер, где содержится сообщение до поступления на второй транзитный канал.
 
  • К имитирует  передачу по транзитному каналу.
 

  
 
 
 
 
 
 

    4. Переменные и уравнения имитационной модели

      4.1. Эндогенные (зависимые) переменные.

    SumTimePac – время передачи информации с момента начала работы системы (10 с);

    SumPac – количество пакетов, поступивших из источника на вход системы;

    TimeBuf – время передачи пакета по каналу связи (5 или 4 мс);

    Poter – число потерянных пакетов;

    timePoter – количество раз подключений ресурса;

    Buf – время задержки.

    4.2. Экзогенные (независимые) переменные.

    TimePac – интервал времени поступления пакетов из источника (6±3 с);

    4.3. Входные и выходные данные.

    Переменные  TimePac, Time, TimeBuf являются входными данными, а SumTimePac, SumPac, Poter, timePoter, Buf — выходными данными, полученными в результате работы системы.

    4.4. Расчетные выражения.

    Частота уничтожения пакетов определяется по формуле:

    Частота уничтожения пакетов (шт/с) = Poter / SumTimePac 

    Частота подключений ресурса определяется по формуле:

    Частота подключений ресурса (раз/с) = timePoter / SumTimePac 
 
 
 
 
 

5. Обобщённая схема моделирующего алгоритма

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Рисунок 3 – Блок схема

 

    6. Особенности программирования

    6.1. Краткая характеристика технологии реализации

          Программа разработана на языке  программирования Borland Delphi 7. Программа запускается файлом S15.exe.

    6.2. Описание функций программы

           Программа реализует моделирование работы системы передачи цифровой информации. В программе реализована возможность выбора двух вариантов поступления пакетов: 6±3мс и 3мс.

    Это позволяет сделать сравнительный  анализ работы системы.

    В процедуре Timer1Timer происходит имитация поступления пакетов от источника с интервалом 6±3мс, и вычисление: количество поступивших пакетов, количество потерянных пакетов, частота подключения ресурса, частота уничтожения пакетов, вероятность уничтожения пакетов .

    В процедуре Timer2Timer происходит заполнение буфера.

    В процедуре Timer3Timer происходит определение числа потерянных пакетов, и если их больше 30% передача ускоряется до 4 мс за счет внутренних ресурсов, при снижении уровня до приемлемого происходит отключение ресурсов.

    6.3. Описание интерфейса

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

         «Вычислить» - после нажатия этой кнопки происходит запуск моделируемой системы. При этом можно наблюдать показатели работы системы, изменяющиеся в реальном времени.

         Рядом с этой кнопкой находится текстовое поле, в котором задается время работы системы. 

    

Рисунок 4 – Интерфейс основного окна программы КС 

          «Задание» - отображает условие задания на курсовую работу и отображает структурную схему модели в символике Q-схем.

    

Рисунок 5 – Интерфейс окна  «Задание» 
 

          «О программе» - выводит информацию о разработчике и проблеме,  решенной в данной работе.

    

Рисунок 6 – Интерфейс окна  «О программе» 

          «Выход» - выход из программы.

          Слева на форме находится текстовое поле, в котором отображается время поступления каждого пакета.

7. Результаты моделирования и их анализ

  

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

Таблица 1

Результат первого моделирования 

Параметр Значение
Время работы системы  9999 мс
Число потерянных пакетов  117 шт
Всего передано пакетов 1670 шт
Ресурс  подключен  0 раз
Частота подключения ресурса  0  раз/с
Частота уничтожения пакетов  12 шт/с
Время поступления пакета 6±3 мс

Рисунок 7 – диаграмма при первом моделировании 

  Таблица 2

Результат второго моделирования 

Параметр Значение
Время работы системы  9994 мс
Число потерянных пакетов  107 шт
Всего передано пакетов 1642 шт
Ресурс  подключен  0 раз
Частота подключения ресурса 0  раз/с
Частота уничтожения пакетов  11 шт/с
Время поступления пакета 6±3 мс
 

Рисунок 8 – диаграмма при втором моделировании 
 

Таблица 3

Результат третьего моделирования

 

Параметр Значение
Время работы системы  9999 мс
Число потерянных пакетов 1000 шт
Всего передано пакетов 3334 шт
Ресурс  подключен  1332 раз
Частота подключения ресурса  133  раз/с
Частота уничтожения пакетов  100 шт/с
Время поступления пакета 3 мс

Рисунок 9 – диаграмма при третьем моделировании 
 

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

    Из  первых двух результатов видно, что при поступлении пакетов со скоростью 6±3мс потери составляют порядка 6,5%, поэтому подключение ресурсов системы не требуется. Для достижения 30% потерь необходимо поступление пакетов со скоростью менее чем 4 мс. При поступлении пакетов через 3 мс видно, что потери достигают 30% и частота подключения ресурсов составляет 133 раз/с (таблица 3).

      
 
 
 
 
 
 
 
 
 
 
 
 
 

    Заключение

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

    По  результатам моделирования видно что при поступления пакетов со скоростью 6+-3мс потери составляют порядка 6,5%, для достижения 30% необходимо поступление пакетов со скоростью 3 мс.

    Таким образом, показано, что машинное моделирование  – это эффективное средство решения задач в системе управления технологическим процессом, где появление сообщений (сигналов) на обработку происходит в случайные моменты времени, т.е. характер их функционирования носит стохастический характер. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

    Список  использованной литературы

    1. Б.Д.Гнеденко, И.Н.Коваленко “Введение в теорию массового обслуживания”- М.:Наука, 1987 год.

    2. Б.Я.Советов, С.А.Яковлев “Моделирование систем”, Москва “Высшая школа” 2001год.

    3. Б.Я.Советов, С.А.Яковлев “Моделирование систем. Лабораторный практикум”, Москва “Высшая школа”1989 год. 
 

 

    

Приложение  А (листинг программы)

 

unit Unit1;

interface

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls, ExtCtrls, Buttons;

type

  TForm1 = class(TForm)

    Timer1: TTimer;

    Timer2: TTimer;

    Timer3: TTimer;

    Edit1: TEdit;

    Button1: TButton;

    Label1: TLabel;

    Label2: TLabel;

    Label3: TLabel;

    Memo1: TMemo;

    Label4: TLabel;

    Label5: TLabel;

    Label6: TLabel;

    Label7: TLabel;

    GroupBox1: TGroupBox;

    RadioButton1: TRadioButton;

    RadioButton2: TRadioButton;

    Label8: TLabel;

    BitBtn1: TBitBtn;

    BitBtn2: TBitBtn;

    BitBtn3: TBitBtn;

    procedure Button1Click(Sender: TObject);

    procedure Timer1Timer(Sender: TObject);

    procedure Timer2Timer(Sender: TObject);

    procedure Timer3Timer(Sender: TObject);

    procedure BitBtn1Click(Sender: TObject);

    procedure BitBtn2Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

var

  Form1: TForm1;

SumPac,Pac,TimePac,Buf,TimeBuf,TimeTrans,Poter,timePoter: integer; 
 

Time,i:integer;

a1:PAnsiChar;

const a: array[0..6] of char = ('3', '4', '5', '6', '7', '8', '9');

implementation 

{$R *.dfm} 

procedure TForm1.Button1Click(Sender: TObject);

begin

timer1.Enabled:=true;

SumPac:=0;

SumTimePac:=0;

TimePac:=0;

Buf:=0;

TimeBuf:=0;

TimeTrans:=5;

Poter:=0;

timePoter:=0;

end;

procedure TForm1.Timer1Timer(Sender: TObject);

begin

randomize;

if radiobutton1.Checked=true then

TimePac:=strtoint(a[random(7)]) else

TimePac:=strtoint(a[0]); 

timer1.Interval:=TimePac;

timer2.Interval:=TimePac;

if TimePac<timer3.Interval then

TimeBuf:=TimeBuf+(timer3.Interval-TimePac); 

if SumTimePac<=(strtoint(edit1.Text)*1000) then begin

timer1.Enabled:=true;

timer2.Enabled:=true;

timer3.Enabled:=true;

label1.Caption:='Число потерянных пакетов='+floattostr(poter)+' шт';

label2.Caption:=Время:'+floattostr(SumTimePac)+'мс';

label3.Caption:=’Всего пакетов='+floattostr(SumPac)+'шт.';

label6.Caption:=Ресурс подключен:'+floattostr(timePoter)+' раз';

label7.Caption:='Частота подключения ресурса:'+floattostr(Round(timePoter/strtoint(edit1.Text)))+'раз/с';

label8.Caption:='Частота уничтожения пакетов:'+floattostr(Round(poter/strtoint(edit1.Text)))+ 'шт/с'; 
 

end else

if SumTimePac>1000 then begin

timer1.Enabled:=false;

timer2.Enabled:=false;

timer3.Enabled:=false;

end;

if Poter>(SumPac*0.3) then     begin

timer3.Interval:=4;

timePoter:=timePoter+1;

         end  else

timer3.Interval:=5;

end;

procedure TForm1.Timer2Timer(Sender: TObject);

begin

Buf:=Buf+1;

SumPac:=SumPac+1;

SumTimePac:=SumTimePac+timer2.Interval;

memo1.SelText:=inttostr(SumPac)+'-пакетов-'+inttostr(TimePac)+'ìñ'#10;

end; 

procedure TForm1.Timer3Timer(Sender: TObject);

begin

if Buf>0 then

Buf:=Buf-1 else

if Buf>=1 then begin

Buf:=Buf-1; Poter:=Poter+1;

end else

if Buf<=0 then

Buf:=0;

if TimeBuf>=5 then begin

Poter:=Poter+1;

TimeBuf:=0;

end;

end;

end. 
 
 
 
 

Курсовая мо моделированию систем