Автор работы: Пользователь скрыл имя, 01 Декабря 2011 в 22:11, реферат
Абонентская ЭВМ, подключенная к узлу коммутации, производительностью h бит/с обрабатывает поступающую от концентраторов информацию. Вычислительные машины обслуживают по k терминалов каждая, передавая данные к ЭВМ со скоростью В бит/с. При перегрузке по вычислительной мощности абонентской ЭВМ подключается главная ЭВМ. Суммарная производительность этих 2-х машин H бит/с (предполагается, что процесс коммутации выполняются мгновенно). С помощью машинного моделирования необходимо оценить среднее время обработки информации в ЭВМ.
1 Задание 2
2 Введение 3
3 Анализ процесса функционирования системы (ПФС) 6
4 Типовая математическая схема процесса функционирования 8
5 Разработка схемы моделирующего алгоритма 10
6 Разработка машинной модели (программы) 12
7 Заключение 17
8 Список используемой литературы. 18
Второй моделирующий алгоритм так же не целесообразно использовать из-за синхронизации источника. В нем шаг моделирования определяется моментами поступлений информации из терминалов, а, следовательно, если на интервале между этими моментами какой – то канал закончит обслуживание, то он будет ждать момента поступления информации и не сможет обратиться в накопитель.
Третий
моделирующий алгоритм удовлетворяет
всем условиям поставленной задачи. В
этом алгоритме шаг определяется
минимальным временем из всего времени
обслуживания терминалов, и временем поступления
следующей информации. Таким при наступлении
следующего шага моделирования на вход
Q схемы поступает следующая заявка, либо
один или несколько из каналов в этот момент
закончит обслуживание заявки.
При разработке машинной модели ПФС абонентской и магистральной сетей ВС необходимо определится в выборе языка программирования. Так для простоты и удобства ввода начальных условий (значений) и вывода результатов моделирования, как в текстовом, так и в графическом виде, целесообразно использовать язык программирования Borland Delphi 7.0. Написание машинной
модели
(программы) сводится к преобразованию
моделирующего алгоритма
Программа
была протестирована на совместимом
компьютере Intel с процессором Intel Dual-Core
CPU T4300, оперативной памятью 3 Gb и установленной
операционной системой Windows XP.
Текст
программы процесса
функционирования:
Program Project1;
Uses
Forms,
Unit1 in 'Unit1.pas' {FrmM};
{$R *.RES}
Begin
Application. Initialize;
Application.CreateForm (TFrmM, FrmM);
Application. Run;
end.
Модуль
Unit1.pas:
unit Unit1;
Interface
Uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Menus, ExtCtrls, StdCtrls, ComCtrls, TeeProcs, TeEngine, Chart, Series;
Type
TFrmM = class (TForm)
PgC: TPageControl;
TabSheet1: TTabSheet;
Edit1: TEdit; Edit2: TEdit; Edit4: TEdit; Edit5: TEdit; Edit6: TEdit; Edit7: TEdit;
Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel;
Label6: TLabel; Label7: TLabel; Label8: TLabel; Label9: TLabel; Label10: TLabel;
Label11: TLabel;
Edit3: TEdit;
Bevel1: TBevel; Bevel2: TBevel;
MainMenu1: TMainMenu;
N1: TMenuItem; N2: TMenuItem;
TabSheet2: TTabSheet;
SB: TStatusBar;
N3: TMenuItem;
OpenDialog1: TSaveDialog;
N4: TMenuItem;
TabSheet3: TTabSheet;
Chart1: TChart;
Series1: TBarSeries;
ListO: TListBox;
Procedure N2Click (Sender: TObject);
Procedure N1Click (Sender: TObject);
Procedure N3Click (Sender: TObject);
Procedure N4Click (Sender: TObject);
Private
{Private declarations}
Public
{Public declarations}
End;
Var
FrmM: TFrmM;
Т0 : Integer=0; // среднее время обслуживания 1 сообщения;
Рот : Integer=0; // вероятность отказа в обслуживании
Le: Integer=0; // суммарный поток сообщений (интенсивность выходного потока сообщений)
К: Integer=0; //количество терминалов, обслуженных мультиплексным каналом;
N: Integer=0; //количество мультиплексных каналов;
q: Integer=0; // емкость сообщений (в битах);
L: Integer=0; // интенсивность потока сообщений от 1 терминала;
H: Integer=0; // производительность абонентской ЭВМ (К1);
H: Integer=0; //производительность главной ЭВМ (К2);
В: Integer=0; // пропускная способность каналов ЭВМ;
С: Integer=0;
// пропускная способность магистрального
канала связи.
Implementation
{$R *.DFM}
Procedure TFrmM.N2Click (Sender: TObject);
Begin
Close;
End;
Function SetParametrs: INTEGER; //Установка начальных условий
Var I: Integer;
Begin
То: =StrToInt (FrmM.Edit1.Text);
Рот: =Station (FrmM.Edit2.Text);
Lе:= StrToInt(FrmM.Edit3.Text);
К: =Station (FrmM.Edit4.Text);
n: =StrToInt (FrmM.Edit5.Text);
q: =StrToInt (FrmM.Edit6.Text);
l: =StrToInt (FrmM.Edit7.Text);
h: =StrToInt (FrmM.Edit8.Text);
H: =StrToInt (FrmM.Edit9.Text);
B: =StrToInt (FrmM.Edit10.Text);
C: =StrToInt (FrmM.Edit11.Text);
SetParametrs: =0; //Проверка правильности ввода начальных условий
If (K<1) or (n>1) then SetParametrs: =1;
If (l<=0) or (q<=0) then SetParametrs: =2;
If (h=0) or (H=0) then SetParametrs: =3;
If Рот=False then SetParametrs: =4;
Begin
K:=5;
n:=5;
T0:=125;
End;
End; //Функция определения текущего значения потока
Function Potok (Var A: Array of integer; Var A1: Integer): Integer;
Var i: Integer;
Begin
Min: =A1;
For i: =0 to q do
Le = Рот * n + h;
End; // Процедура проверки превышения ресурсов узла коммутации
Procedure Previshenie (Var H: Array of integer; Var NOZ: Integer);
Var i, Min, Ind: integer;
Begin
Ind: =0; Min: =H[0];
For i:=1 to q do // Определение объема превышения ресурса
IMin: =H[i]; Ind: =i;
If Min>=Ln then NOZ: =NOZ+1
Min: =H[i]; Ind: =i; // Определение объема превышения ресурса
Else H[Ind]:=H[Ind]+1; //Обработка входного потока сообщений
Min>=Ln NOZ: =NOZ+1;
End; // Проверка оконч. моделирования
Procedure Okonchanie (Var K: integer; Var TCurrent: Integer);
Begin
If k>0 TFrmM.N1Click (Sender: TObject); then K: =K-Current;
TFrmM.N2 Click (Sender: TObject); then K: =K-Current2; //Обработка результатов моделирования
FrmM.N1.Enabled:=false; // Вывод результатов моделирования
FrmM.N3.Enabled:=false;
Else Function SetParametrs: INTEGER; //Установка начальных значений
TFrmM.N3Click (Sender: TObject);
N2 Click (Sender: TObject
End; //Функция определяющая закончили ли все операторы обслуживание
Function EndOper (Var A1, A2: array of integer): Boolean;
Var i, Sum: Integer;
Begin
EndOper: =true;
For i: =0 to Ko-1 do
If (A1[i]>0) or (A2[i]>0) then EndOper: =false;
End;
Procedure TFrmM.N1Click (Sender: TObject);
//Основная программа
Var i, Sum: integer; //Переменная цикла и подсчета обслуженных заявок
Begin //Запрет на сохранение отчета
FrmM.N1.Enabled:=false;
FrmM.N3.Enabled:=false;
Case SetParametrs of //Установка начальных значений
1: MessageDlg ('количество терминалов от 1 до '+ inttostr (MaxO) +'.', mtError, mbOkCancel, 0);
2:Messaged ('Значение полей с времен. интервалами >0.’ mtError, mbOkCancel, 0);
3:MessageDlg ('Размер сообщения от 1 до '+inttostr (MaxO) +'.', mtError, mbOkCancel, 0);
4: MessageDlg ('Сообщения >0.’ mtError, mbOkCancel, 0);
0: Begin
FrmM.SB.Panels [1].Text:=IntToStr (Kz);
FrmM.SB.Panels [3].Text:=IntToStr (0);
Randomize;
TNext: =Generate (TpMin, TpMax);
K[1]:=Generate(ToMin,ToMax);
Kz:=Kz-1;
NOKZ[1]:=NOKZ[1]+1;
Repeat
If Kz>0 then TCurrent:=Minimums(K,TNext
Else TCurrent: =Minimums (K, ToMax);
TNext: =TNext-TCurrent;
If (TNext<=0) and (Kz>0) then Begin
End;
For i: =1 to Ko do
Begin
Work (K[i], TCurrent);
If (K[i] <=0) and (H[i]>=1) then Begin
End;
FrmM.SB.Panels [3].Text:=IntToStr (Kz1-Kz);
Application.ProcessMessages;
Until (Kz<=0) and (EndOper (K, H) =true); //определение окончания моделирования
End.
Разработанная машинная модель (программа) соответствует моделирующему алгоритму, что означает соответствие алгоритма программы с моделирующим алгоритмом системы. Следовательно, программа отвечает всем требованиям, предъявляемым к машинной модели системы. Моделирование (в широком смысле) является основным методом исследований во всех областях знаний и научно обоснованным методом оценок характеристик сложных систем, используемым для принятия решений в различных сферах инженерной деятельности. Существующие и проектируемые системы можно эффективно исследовать с помощью математических моделей (аналитических и имитационных), реализуемых на современных ЭВМ, которые в этом случае выступают в качестве инструмента экспериментатора с моделью системы.
Информация о работе Анализ процесса функционирования системы