Построение концептуальной модели

Содержание



		Введение

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

		2 Построение концептуальной модели

		2.1 Описание концептуальной модели СМО

		2.2 Описание процесса функционирования СМО

		2.3 Построение логической схемы

		2.4 Анализ задачи моделирования

		2.4.1 Критерии оценки эффективности процесса функционирования СМО

		2.4.2 Проверка достоверности модели системы

		2.4.3 Параметры и переменные модели СМО

		2.5 Выдвижение гипотез и принятие предложений 

		2.6 Определение процедур аппроксимации

		3 Алгоритмизация и машинная реализация модели системы

		3.1 Выбор вычислительных средств моделирования СМО

		3.2 Программирование модели

		4 Получение и интерпретация результатов моделирования

		4.1 Планирование машинного эксперимента

		4.2 Анализ результатов моделирования

		4.3 Форма представления результатов моделирования

		Заключение

		Список использованных источников

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

		Приложение Б – Статистические данные


Введение



Бурный рост промышленности и науки во всех сферах человеческой деятельности привёл в настоящее время к такому положению вещей, что создание и разработка каких-либо новых технологий, технических средств (машин, приборов, оборудования и т. п.), а также методик их применения для нужд человека становится затруднительным, а в некоторых случаях невозможным, без интенсивного применения научных методов познания и поиска.

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

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

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

При решении любой задачи основную роль играют эксперимент и модель, а также анализ полученных результатов. Модель дает правильно поставленный эксперимент, а эксперимент уточняет модель. Эксперимент имеет два направления: обработка результатов и планирование эксперимента.

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

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

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

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

Таким образом, моделирование превращается в один из универсальных методов познания в сочетании с ЭВМ.


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



Распределенный банк данных системы сбора информации организован на базе ЭВМ, соединенных дуплексным каналом связи. Поступающий запрос обрабатывается на первой ЭВМ и с вероятностью 50% необходимая информация обнаруживается на месте. В противном случае необходима посылка запроса во вторую ЭВМ. Запросы поступают через 103 с, первичная обработка запроса занимает 2с, выдача ответа требует 182 с, передача по каналу связи занимает 3с. Временные характеристики второй ЭВМ аналогичны первой.

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

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

Всю работу можно условно разделить на три этапа:

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

		На втором этапе предполагается провести выбор вычислительных средств для моделирования СМО, выполнить непосредственно машинную реализацию модели системы, протестировать программу.

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




2 Построение концептуальной модели и её формализация



2.1 Описание концептуальной модели СМО



На основании условия задачи построим концептуальную схему процесса функционирования данной системы, приведённую на рисунке 2.1. 





Нак-ль №1,

Очередь

N запросов

ЭВМ №1

ЭВМ №2

Входящий поток

запросов

1 запрос

через 10±3 сек

необслуженные

запросы

ответ 18±2 сек

доставка 3сек

Перв. Обработка 2 сек

Нак-ль №2,

Очередь

m запросов

50 %

Рисунок 2.1 – Концептуальная схема модели системы



Таким образом, в работе СМО возможны следующие ситуации:

		режим нормального обслуживания, когда запрос обрабатывается на первой ЭВМ с вероятностью 50 %, иначе – на второй, либо, при наличии свободных мест в двух очередях, ожидает своего времени;

		режим отказа в обслуживании, когда запрос покидает систему вследствие занятости ЭВМ и переполнении очереди другими запросами.





К2

И

К1

Н1

Н2

50%

Рисунок 2.2 – Структурная схема


Структурная схема модели является выражением концептуальной, переведенной на язык мат. схем. Учитывая, что процессы, происходящие в СМО, являются процессами обслуживания заявок, используем для их формализации аппарат Q-схем. В соответствии с концептуальной моделью, используя символику Q-схем, структурная схема модели может быть представлена в виде, показанном на рисунке 2.2, где Н – накопители, К – каналы, И - источник.

Накопители Н1 и Н2 имитируют процесс ожидания пользователей в очереди, который происходит при занятости ЭВМ обработкой запросов. Пунктирные линии означают обработку запросов ЭВМ № 2 при условии, что на ЭВМ № 1 ответ на запрос отсутствует.

Каналы К1 и К2 имитируют непосредственно обработку запросов на ЭВМ.



2.2 Описание процесса функционирования СМО



С использованием введённых обозначений опишем процесс функционирования СМО. Источник генерирует сигналы случайным образом через определенные промежутки времени (10±3 сек). Поступающие заявки попадают в очередь в накопитель № 1 и ожидают в ней, если первая машина занята. Как только первая машина освобождается и в накопителе имеются заявки происходит первичная обработка запроса в течении 2 сек, после которой если нужная информация находится на первой ЭВМ то она продолжает обрабатываться в течении 18±2 сек, иначе заявка поступает в очередь в накопитель № 2. Процесс функционирования и временные характеристики ЭВМ №2 идентичны. Заявка полностью обрабатывает на ЭВМ №1 с вероятностью 50%, это обеспечивается путём подсчёта количества запросов обработанных на первой ЭВМ и числа запросов прошедших через накопитель № 1. Если первое число меньше либо равно 50% второго числа, то запрос обрабатывается на первой ЭВМ.

2.3 Построение логической схемы



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

Существует 2 вида схем для рассмотрения логической структуры модели процесса функционирования систем: обобщенные схемы и детальные схемы моделирующих алгоритмов.

Укрупненная (обобщенная) схема модели задает общий порядок действий без каких-либо уточняющих деталей. Детальная схема модели содержит уточнения, отсутствующие в обобщенной схеме, и показывает, что следует выполнить на каждом шаге и как это выполнить. При ее построении учитывается, что моделирующий механизм имеет блочную структуру. Фактически обобщенная схема — это обобщенный вид блок-схемы, показывающий основные этапы. 




Поступление заявки через 10±3 сек

выход из системы

Накопитель 1

канал 1 занят

да

нет

Перв. обр-ка

Пол-ие заявки

да

Накопитель 2

нет

канал 2 занят

Пол-ие заявки

нет

да

Рисунок -2.3.1. Логическая обобщенная схема



2.4 Анализ задачи моделирования



2.4.1 Критерии оценки эффективности процесса функционирования СМО

В рассматриваемой задаче в качестве критериев оценки эффективности процесса функционирования СМО выступают следующие вероятностно-временные характеристики:

	вероятность отказа вследствие переполнения очереди;

	коэффициенты загрузки ЭВМ.

Эти вероятностно-временные характеристики взаимосвязаны между собой: чем больше коэффициенты загрузки каналов, тем большее количество человек будет обслужено (малая вероятность отказа). Но, в то же время, при больших коэффициентах загрузки возможны сбои в системе, из-за ограничения количества человек в очереди.

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



2.4.2 Проверка достоверности модели системы

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

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

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



2.4.3 Параметры и переменные модели СМО

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

Для моделируемой СМО в качестве параметра может быть выбрана ёмкость накопителей Н1 и Н2, которые представляют собой очереди заявок. Ёмкость буферных накопителей Н1 и Н2 будем измерять в количестве запросов, которые могут в них (очередях) находиться. В модели эти параметры подбираются для эффективности работы ЭВМ.

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

В качестве экзогенных (независимых) переменных модели СМО выберем время посылки сигналов в источнике, представляющее собой случайную величину, генерируемую датчиком случайных чисел с требуемым законом распределения.



2.5 Выдвижение гипотез и принятие предположений



Исходя из сведений, можно сделать вывод о возможности построения модели на основании имеющегося объёма исходной информации, и её последующей машинной реализации при условии принятия ряда гипотез и предположений относительно функций распределения параметров процессов, происходящих в СМО, и воздействий внешней среды.

Анализируя условие задачи, приходим к выводу, что поток поступающих запросов СМО представляет собой поочерёдное поступление запросов с равномерным законом распределения между моментами их появления и, следовательно, с одинаковой интенсивностью. 

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


2.6 Определение процедур аппроксимации



Для возможности аппроксимации числовых значений интересующих характеристик системы S необходимо в процессе моделирования провести аппроксимации, для чего обычно используются процедуры: детерминированная, вероятностная и (или) процедура определения средних значений. 

- детерминированные процедуры, при которых результаты моделирования однозначно определяются по данной совокупности входных воздействий переменных и параметров системы (в этом случае случайные элементы отсутствуют). Этот тип нам не подходит, так как у нас наличествует элемент случайности при поступлении заявок в систему;

- вероятностные (рандомизированные) применяются, когда случайные элементы, включая воздействие внешней среды, влияют на функционирование системы и необходимо получить закон распределения выходных переменных системы; 

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

Для рассматриваемой задачи моделирования СМО будем использовать как вероятностную процедуру, так и процедуру определения средних значений. Использование вероятностной процедуры объясняется тем, что в функционировании СМО присутствуют случайные элементы, влияющие на результаты моделирования. Процедура определения средних значений при моделировании процесса функционирования СМО используются по причине того, что интерес представляют средние значения выходных переменных при наличии случайных факторов: среднее число заявок в очереди и средняя загрузка ЭВМ. 


3 Алгоритмизация и машинная реализация модели системы



3.1 Выбор вычислительных средств моделирования СМО



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

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

Мы выбрали именно эту среду потому, что она является наиболее оптимальной для решения всех поставленных задач в ходе курсового проекта. Программная среда Delphi 6.0 содержит в себе визуальные компоненты, такие как TButton, TLabel, TChart, TEdit, TPanel и многие другие, которые упрощают и оптимизируют работу разработчика. Важно отметить, что в среде Delphi очень просто отобразить выходные величины, с помощью компонентов TChart и TStringrig. 

Исходя из этих соображений можем сказать, что для работы данной модели достаточно любого современного IBM PC совместимого компьютера, работающего под управлением ОС Windows 98 и выше.


3.2 Программирование модели



Программирование в среде Delphi, можно разделить на два этапа: создание интерфейса и написание программного кода.

Основная работа программы осуществляется следующим образом:

Источник генерирует заявки через дискретные промежутки времени, в которые производится смена состояний элементов системы. Исходя из постановки задачи неизменные данные являются продолжительность моделирования (400 сек), время поступления запросов (10±3сек), первичная обработка запроса (2 сек), выдача ответа (18±2 сек), и изменяемые – ёмкость накопителя № 1 и № 2, манипулируя которыми достигается оптимальность системы. После ввода ёмкости накопителя № 1 и № 2 следует нажать на кнопку «Выполнить» для начала работы программы. После чего в нижнем окне будут выведены все найденные параметры системы и столбцовая диаграмма, отражающая количество сигналов в накопителе №1 в единицу времени, в которую в каждую единицу времени добавляется объём накопителя № 1 (рис 3.2.1).




Рисунок 3.2.1- Внешний вид программы. 



Листинг программы представлен в приложении А.




4 Получение и интерпретация результатов моделирования



4.1 Планирование машинного эксперимента



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

Так как модель стохастична, в ней присутствует случайный элемент (время поступления заявок), то и результаты не будут одинаковы для двух запусков программы. Но тем не менее, можно определить некое число, к которому будет стремиться конкретный параметр (ранее мы выбрали из трех методов аппроксимации метод определения средних значений). Для этого необходимо увеличить количество прогонов программы, или, говоря языком теории вероятностей, число опытов. Это число должно быть конечным, и точность результатов при нем достаточно высока.

Определим количество прогонов необходимых для получения достоверной информации по формуле (1): 

		

		 (1)	



где: p - частота = n1/n;

n1 - число исходов в n – экспериментах;

Q - доверительная вероятность;

Ф-1 -обратная функция Лапласа.

Таблица 4.1.1- Обратная функция Лапласа.

Q

0.9

0.95

0.98

0.99

(Ф-1 *Q/2)2

2.7

3.84

5.7

6.61



Исходя из задания Q=0.95, Е=0.05 следовательно (Ф-1 *Q/2)2 = 3,84

Проведем 10 экспериментов на модели (n=10) и проследим за значением расчетной величины – вероятностью отказа. Т.к. по при длине очереди накопителя № 1 равной 5, сбойных сигналов нет, то, следовательно, вероятность отказа будет равна 0, что делает невозможным расчет количества прогонов. Поэтому будем вести расчет при длине очереди накопителя № 1 и № 2 равной 1, только при этом значении наблюдается появление сбойных сигналов. 



Таблица 4.1.2 – Экспериментальные данные.

№ эксп

Кол.-во сбоев

№ эксп

Кол-во сбоев

1

8

6

10

2

10

7

8

3

10

8

7

4

6

9

10

5

9

10

9



n=8+10+10+6+9+10+8+7+10+9=87;

p1=8/87=0,091954; p6=10/87=0,114943;

р2=10/87=0,114943; р7=8/87=0,091954;

р3=10/87=0,114943; р8=7/87=0,08046;

р4=6/87=0,068966; р9=10/87=0,114943;

р5=9/87=0,103448; р10=9/87=0,103448;



Выбираем самую худшую (большую) вероятность - 0,114943 и подставляем её в формулу (1):






Следовательно, чтобы точность экспериментов составляла 0.95 необходимо произвести 156 эксперимента. Статистические данные и результаты всех прогонов представлены в приложении Б. 



4.2 Анализ результатов моделирования



По полученным результатам моделирования рассчитаем математическое ожидание величины — вероятность отказа— по формуле (2):



M[X] = X1*P1+X2*P2………..Xn*Pn , 			(2)



где P = Ni/N;

N — количество опытов (прогонов);

Ni — количество появлений Xi в опытах.



По приложению Б определяем x, n, p (таблица 4.2)



Таблица 4.2 – Результаты моделирования

Xi

0

0,00421941

0,0126582

0,00843882

0,0168776

Ni

36

38

33

48

1

Pi

0,230769231

0,24358974

0,2115385

0,30769231

0,0064103



М[X]= 0+ 0,0010278+ 0,0026777+ 0,00259656+ 0,0001082= 0,0064103



Дисперсию рассчитаем по формуле (3):



D[X]=∑(Xi-M)2 *Pi			(3)

D[X]= 0,0000095+ 0,0000012+ 0,0000083+ 0,0000013+ 0,0000007= 0,00002



4.3 Форма представления результатов моделирования



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

В рассматриваемой задаче моделирования СМО на экран монитора окончательный результат выводится в отдельном окне, в виде таблицы. 


Заключение



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

Полученные на ЭВМ результаты моделирования процесса функционирования СМО отражают основные особенности функционирования реального объекта и позволяют качественно и количественно оценить его поведение. На основе полученных оценок характеристик можно сделать следующие выводы и дать соответствующие рекомендации.

Полученные результаты моделирования системы показывают достаточно эффективную работу системы при средней загрузке ЭВМ №1 98% и ЭВМ №2 80%, при этом в системе происходит минимальное количество сбоев и идет 100% обслуживание заявок. Для улучшения параметров системы можно увеличить ёмкость накопителя № 1 до 7 заявок, но при этом его загруженность снизится в среднем до 40 %.

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


Список использованных источников



			Бусленко Н.П. Моделирование сложных систем // – М.: Наука, 1978. - 51с.

			Лифшиц А.Л. Статистическое моделирование СМО, М., 1978. -216 с.

			Мухин О. И. Моделирование систем. Конспект лекций - 1985. - 95с. 

			Советов Б.Я., Яковлев С.А. Моделирование систем // Учебник для ВУЗов -М.: Высшая школа, 1985. - 224 с.

				Советов Б.Я., Яковлев С.А. Моделирование систем // Курсовое проектирование -М.: Высшая школа, 1988. - 232 с.

				Архангельский А. Я. Программирование в Delphi 5.–М.:ЗАО «Издательство БИНОМ», 2000.–1070 с.

				Бобровский С. И. Delphi 5: Учебный курс. – СПб.: Питер, 2002. – 640 с.

			Вендров А. М. Проектирование программного обеспечения ЭИС. М.: «Финансы и статистика», 2000. – 452 с.


Приложение А

(обязательное)



	Листинг программы

	

	unit Unit1;

	interface

	uses

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

	 Dialogs, StdCtrls, Spin, ExtCtrls, TeEngine, Series, TeeProcs, Chart;

	type

	 TForm1 = class(TForm)

	 Button1: TButton;

	 ListBox1: TListBox;

	 GroupBox1: TGroupBox;

	 GroupBox2: TGroupBox;

	 Image1: TImage;

	 Label1: TLabel;

	 Label3: TLabel;

	 GroupBox4: TGroupBox;

	 Label6: TLabel;

	 seNak: TSpinEdit;

	 Label7: TLabel;

	 seNak2: TSpinEdit;

	 Label2: TLabel;

	 Label4: TLabel;

	 Chart1: TChart;

	 Series1: TBarSeries;

	 procedure Button1Click(Sender: TObject);

	 procedure FormCreate(Sender: TObject);

	 private

	 { Private declarations }

	 public

	 { Public declarations }

	 procedure Kanal;

	 procedure Istok;

	 procedure Kanal_2; 

	 end;

	var

	 Form1: TForm1;

	 ZKan,zkan_2:boolean;

	 t1,t2,n,t,tIstok,InSig,VNak,Sboy,OutSig,tkan,SZKan,SZNak,sekanal_2,sboy_2,outsig_2,SZNak_2,szkan_2,tkan_2,vnak_2:integer;

	 in_k1:byte;

	{ var nak_2:byte;{накопитель для канала № 2}

	{colnak1-кол-во сигналов, пройденных через накопитель 1}

	{in_k1-true-сигнал обслуж-ся каналом № 1, false-сигнал обслуж-ся каналом № 2}

	implementation

	{$R *.dfm}

	procedure TForm1.Button1Click(Sender: TObject);

	var j:integer;

	begin

	 VNak:=0; {Накопитель}

	 Sboy:=0;

	 sboy_2:=0;

	 InSig:=0;{подсчет посланных сигналов}

	 OutSig:=0;{подсчет количества сигналов, покинувших систему обслуженными}

	 vnak_2:=0;

	 outsig_2:=0;

	 SZNak:=0;{подсчет средней занятости накопителя в сигналах}

	 SZNak_2:=0;{подсчет средней занятости накопителя в сигналах}

	 SZKan:=0;{подсчет количества единиц времени, которое канал находится в состоянии занятости}

	 szkan_2:=0;

	 ZKan:=False; {состояние канала}

	 ZKan_2:=false;

	 in_k1:=0;

	 ListBox1.Items.Clear;

	 T:=0;

	 tIstok:=T+7+random(7);

	 Series1.Clear;

	 Repeat

	 Istok;

	 Kanal;

	 kanal_2;

	 SZNak:=SZNak+VNak;

	 SZNak_2:=SZNak_2+VNak_2;

	 inc(t);

	 Series1.Add(vnak); {добавление данных в диаграмму о накопителе №1}

	 Until T>400;

	 with ListBox1.Items do

	 begin { zkan_2:boolean;sekanal_2,sboy_2,outsig_2,szkan_2,tkan_2:integer;}

	{ Add('Должно поступить сигналов: '+IntToStr(400 div 10));}

	 Add('Поступло сигналов: '+IntToStr(InSig));

	 Add('Обработано сигналов каналом № 1: '+IntToStr(OutSig));

	 Add('Обработано сигналов каналом № 2: '+IntToStr(OutSig_2));

	 Add('Сбойных сигналов: '+IntToStr(Sboy+sboy_2));

	 if ZKan then Inc(VNak);

	 Add('Учтенных сигналов: '+IntToStr(VNak+vnak_2+Sboy+sboy_2+OutSig+OutSig_2));

	 if ZKan_2 then Inc(VNak);

	 if t-t1<3 then Inc(VNak);

	 if t-t2<3 then Inc(VNak); 

	 Add('Осталось в системе сигналов: '+IntToStr(VNak));

	 Add('Средняя занятость накопителя № 1 (в сиг.): ' + FloatToStrF(SZNak/400,ffNumber,8,2));

	 Add('Средняя занятость накопителя № 1 (в %): ' + IntToStr(Round(SZNak/400/seNak.Value*100)));

	 Add('Средняя занятость накопителя № 2 (в сиг.): ' + FloatToStrF(SZNak_2/400,ffNumber,8,2));

	 Add('Средняя занятость накопителя № 2 (в %): ' + IntToStr(Round(SZNak_2/400/seNak2.Value*100)));

	 Add('Средняя занятость канала № 1 (в %): '+ IntToStr(Round(SZKan/400*100)));

	 Add('Средняя занятость канала № 2 (в %): '+ IntToStr(Round(SZKan_2/400*100)));

	 end;

	 end;

	procedure TForm1.Kanal;

	begin

	 if ZKan

	 then

	 begin

	 Dec(tKan);

	 Inc(SZKan);{подсчет количества единиц времени, которое канал находится в состоянии занятости}

	 if tKan=0 {время, оставшееся до конца обработки сигнала}

	 then

	 begin

	 ZKan:=False;

	 if in_k1=1 then begin

	 Inc(OutSig){подсчет количества сигналов, покинувших канал № 1 обслуженными};

	 t1:=t;

	 end

	 else begin

	 if vnak_2<seNak2.Value then inc(vnak_2)

	 else inc(sboy_2);

	 end;

	 end;

	 end;

	 if not ZKan and (VNak>0)

	 then

	 begin

	 Dec(VNak);

	 if in_k1=1 then in_k1:=0

	 else in_k1:=1;

	 ZKan:=True;

	 if in_k1=1 then tKan:=2+16+random(5){18+/-2:количество единиц времени, отводимое на обработку одного сигнала}

	 else tKan:=2;

	 end;

	end;

	procedure TForm1.Istok;

	begin

	{ if T mod N=0

	 then

	 tIstok:=T+7+random(7); {источник}

	 if T=tIstok

	 then

	 begin

	 tIstok:=T+7+random(7); {источник}

	 Inc(InSig); {подсчет посланных сигналов}

	 if VNak<seNak.Value{ёмкость накопителя}

	 then begin

	 Inc(VNak);

	 end

	 else Inc(Sboy);

	 end;

	end;

	procedure TForm1.FormCreate(Sender: TObject);

	begin

	randomize;

	end;

	procedure TForm1.Kanal_2;

	begin

	 if ZKan_2

	 then

	 begin

	 Dec(tKan_2);

	 Inc(SZKan_2);{подсчет количества единиц времени, которое канал находится в состоянии занятости}

	 if tKan_2=0 {время, оставшееся до конца обработки сигнала}

	 then

	 begin

	 ZKan_2:=False;

	 Inc(OutSig_2);{подсчет количества сигналов, покинувших систему обслуженными}

	 t2:=t;

	 end;

	 end;

	 if not ZKan_2 and (VNak_2>0)

	 then

	 begin

	 Dec(VNak_2);

	 ZKan_2:=True;

	 tKan_2:=16+random(5);{количество единиц времени, отводимое на обработку одного сигнала}

	 end;

	end;

	end.

	

	
Приложение Б

	(обязательное)

	

	Статистические данные

	

№ эксп.

Поступило заявок, шт

Необслужено заявок, шт

Вероятность отказа, %

Загрузка накопителя №1, %

1

38

0

0

46

2

39

1

0,004219

57

3

41

3

0,012658

57

4

40

2

0,008439

59

5

40

3

0,012658

50

6

39

2

0,008439

60

7

40

3

0,012658

58

8

38

1

0,004219

40

9

41

3

0,012658

66

10

42

4

0,016878

62

11

40

2

0,008439

52

12

40

3

0,012658

60

13

38

0

0

39

14

41

3

0,012658

58

15

40

2

0,008439

46

16

40

2

0,008439

59

17

40

2

0,008439

68

18

39

1

0,004219

50

19

40

2

0,008439

53

20

39

1

0,004219

32

21

39

2

0,008439

48

22

39

1

0,004219

60

23

37

0

0

26

24

40

0

0

42

25

38

0

0

50

26

38

1

0,004219

52

27

40

2

0,008439

64

28

39

1

0,004219

32

29

40

2

0,008439

59

30

40

3

0,012658

50

31

39

2

0,008439

66

32

38

1

0,004219

50

33

39

3

0,012658

45

34

40

1

0,004219

56

35

37

2

0,008439

65

36

38

3

0,012658

50

37

38

0

0

54

38

37

0

0

53

39

39

1

0,004219

45

40

39

2

0,008439

48

41

39

0

0

48

42

40

1

0,004219

49

43

37

2

0,008439

50

44

38

0

0

59

45

38

1

0,004219

38

46

37

2

0,008439

39

47

40

0

0

40

48

39

0

0

50

49

38

0

0

56

50

40

1

0,004219

53

51

37

2

0,008439

55

52

37

0

0

49

53

39

1

0,004219

66

54

38

2

0,008439

33

55

39

0

0

56

56

39

3

0,012658

65

57

40

0

0

45

58

41

2

0,008439

58

59

41

2

0,008439

56

60

37

2

0,008439

59

61

38

1

0,004219

48

62

38

3

0,012658

59

63

38

3

0,012658

67

64

40

3

0,012658

56

65

39

2

0,008439

65

66

39

0

0

48

67

40

1

0,004219

68

68

41

2

0,008439

59

69

37

3

0,012658

48

70

37

0

0

56

71

38

2

0,008439

45

72

38

3

0,012658

56

73

39

0

0

64

74

40

1

0,004219

56

75

39

2

0,008439

45

76

37

3

0,012658

36

77

38

0

0

42

78

40

1

0,004219

46

79

37

2

0,008439

43

80

40

2

0,008439

48

81

41

2

0,008439

59

82

41

1

0,004219

56

83

37

0

0

55

84

38

3

0,012658

54

85

38

2

0,008439

53

86

39

0

0

52

87

39

3

0,012658

57

88

39

2

0,008439

55

89

40

1

0,004219

42

90

41

0

0

53

91

41

2

0,008439

61

92

38

3

0,012658

56

93

38

2

0,008439

65

94

39

0

0

49

95

37

1

0,004219

65

96

38

2

0,008439

67

97

38

3

0,012658

62

98

39

0

0

53

99

40

1

0,004219

54

100

40

2

0,008439

48

101

40

3

0,012658

50

102

38

3

0,012658

60

103

39

1

0,004219

45

104

39

2

0,008439

46

105

37

0

0

56

106

37

3

0,012658

52

107

40

2

0,008439

38

108

40

1

0,004219

46

109

37

3

0,012658

47

110

38

3

0,012658

42

111

39

2

0,008439

56

112

39

1

0,004219

51

113

40

1

0,004219

60

114

40

0

0

65

115

41

1

0,004219

53

116

41

1

0,004219

57

117

41

2

0,008439

42

118

39

0

0

46

119

38

0

0

56

120

37

0

0

51

121

37

3

0,012658

53

122

39

2

0,008439

59

123

40

1

0,004219

40

124

40

3

0,012658

45

125

41

0

0

47

126

41

1

0,004219

48

127

40

2

0,008439

50

128

38

0

0

56

129

38

1

0,004219

60

130

39

2

0,008439

64

131

38

2

0,008439

49

132

37

1

0,004219

50

133

40

0

0

40

134

37

3

0,012658

48

135

39

3

0,012658

47

136

38

2

0,008439

49

137

40

3

0,012658

43

138

41

3

0,012658

40

139

39

3

0,012658

42

140

38

2

0,008439

41

141

37

1

0,004219

46

142

39

0

0

49

143

39

0

0

56

144

40

0

0

57

145

40

1

0,004219

59

146

41

2

0,008439

58

147

39

0

0

57

148

39

1

0,004219

50

149

38

2

0,008439

50

150

38

2

0,008439

60

151

38

1

0,004219

64

152

37

2

0,008439

67

153

38

1

0,004219

42

154

38

3

0,012658

53

155

39

2

0,008439

62

156

39

1

0,004219

48