Карагандинский государственный технический университет
Кафедра САПР
Пояснительная записка
к курсовому проекту
по дисциплине «Прикладная теория систем»
Тема:
Создание модели системы массового обслуживания
Караганда 2009
Содержание
Введение
Постановка задачи
Алгоритм решения задачи
Структура программы
Руководство пользователя
Список использованной литературы
Приложение А. Результаты проводимых экспериментов
Введение
Целью выполнения данной курсовой работы является получение навыков системного исследования реальной динамической сложной системы посредством разработки её имитационной модели. В качестве таковой взята система массового обслуживания «Интернет-провайдерская фирма».
Постановка задачи
По заданию к курсовой работе необходимо разработать программу реализации алгоритма имитационного моделирования системы массового обслуживания «Интернет-провайдерская фирма». Предусмотреть возможность настройки основных параметров входящего потока, обслуживающих приборов и дисциплины обслуживания.
Имитационная модель должна быть достаточно гибкой, изменяемой и легко настраиваемой. При этом пользовательский интерфейс по возможности должен оставаться максимально простым и интуитивно понятным.
Результаты работы программы должны включать информацию по поступившим, обрабатываемым и уже обработанным заявкам, статистику по аппаратам обслуживания.
Алгоритм решения задачи
Для построения правильной имитационной модели системы массового обслуживания «Интернет-провайдерская фирма» для начала рассмотрим функциональные особенности некоторых её элементов.
Заявка на обслуживание – представляет собой телефонный звонок потенциального клиента, с целью получения доступа к сети Интернет. Важно отметить, что большую роль играет время, в которое клиент пытается выйти в сеть. Так,ночью (с 22 до 7 часов) количество поступающих звонков много меньше нежели в утреннее(с 7 до 11 часов),дневное(с 11 до 17 часов) и вечернее (с 17 до 22 часов)время суток. Следовательно при одном и том же количестве каналов обслуживания, в ночное время вероятность занятости канала будет меньше, чем в дневное.
Особенностью этой модели системы массового обслуживания является отсутствие очереди. Если в момент совершения заявки свободных каналов не оказалось, то она покидает систему: то есть если клиент не дозванивается, то и факт обслуживания отсутствует. Также необходимо учесть вероятность отказа свободного канала от обслуживания (звонок может поступить во время подготовки канала к обслуживанию).
Гибкая, легко настраиваемая и изменяемая модель СМО – система достаточно громоздкая. Поэтому лучше разделить её на несколько составных частей, каждая из которых несет в себе определенную функцию.
Общие результаты моделирования лучше всего выводить прямо на главную форму. К ним мы отнесем: количество каналов обслуживания, количество занятых каналов обслуживания,количество поступивших заявок, так же сколько из них было обслужено и сколько потеряно. Тем не менее, необходимо предусмотреть также возможность просмотра более детальной статистики. Это будет вполне удобно совершать, если по выходным данным в отдельном окне будет формироваться отчет.
Структура программы
Ключевым элементом программы является модуль SMO.pas, состоящий из нескольких процедур. Опишем кратко в чем заключается суть каждой из них и какую функцию процедура несет.
При активации главной формы Form1 формируется текущее время, обнуляется время моделирования процесса, выставляются входные данные по умолчанию, определяется число каналов обслуживания и устанавливаются исходные параметры каналов (устанавливается состояние простоя,рабочее время равно нулю, число обслуженных заявок также равно нулю).
По событию Timer1Timer формируется время генерации с учетом текущего времени, время дозвона и время разговора, а также вероятность отказа обслуживания заявки. Так же здесь формируется поток заявок и принципы их обработки, с учетом возможности отказа их обслуживания, считается время работы каналов, а так же происходит накапливание значений потерянных и выполненных заявок, занятых и свободных каналов обслуживания.
По событию Timer2Timer формируется реальное время работы и
Процедура procedureTForm1.N8Click(Sender: TObject) выполняет сброс начальных входных параметров моделирования и регенерирует текущее время системы.
По нажатии на кнопку ToolButton3 формируется отчет общих статистических данных, образованных в результате моделирования, а также данных по каналам отдельно.
Листинг данного модуля:SMO.pas, находится в приложении Б.
Главная форма приложения показана на рисунке 1.
Рисунок 1. Главная форма приложения
С главной формы осуществляется настройка входных параметров, таких как: периодичность поступления заявок, время разговора и время дозвона, вероятность отказа канала обслуживания, время подготовки к обслуживанию и период моделирования системы. С главной формы осуществляется управление системой моделирования.
В нижней части окна можно наблюдать результаты процесса моделирования(число поступивших заявок, число занятых каналов обслуживания, число выполненных и потерянных заявок), а также время работы программы.
По нажатию кнопки «Формирование отчета» или выбора аналогичной процедуры в меню «Действия» в отдельном окне появляются статистические данные, образованные в результате моделирования.
Окно результатов моделирования можно увидеть на рисунке 2.
Рисунок 2. Окно результатов моделирования
Здесь содержатся общие результаты моделирования, информация о работе отдельных каналов обслуживания. Результаты работы системы представлены в текстовом виде.
Руководство пользователя
Для того чтобы запустить программу необходимо открыть исполняемый файл «Smo_pts.exe». После этого перед вами появится главное окно приложения, изображенное на рисунке 3:
Рисунок 3. Главное окно приложения
Здесь в разделе «Входные параметры» Вы можете настроить все основные параметры системы. В зависимости от Ваших вариации при задании новых данных, результаты процесса моделирования также будут весьма различны. Следует учесть, что период моделирования измеряется в часах, при чем данный параметр должен быть целочисленным.
Итак, после задания входных параметров можно переходить непосредственно к процессу моделирования. Нажмите кнопку «Моделировать»(рисунок 4) или выберите аналогичную команду в меню «Действия» (рисунок 5)
Рисунок 4. Кнопка «Моделировать»
Рисунок 5. Команда «Моделировать» меню «Действия»
После этого процесс моделирования будет запущен. Во время процесса пользователь может в реальном времени наблюдать в нижней части главного окна изменения параметров системы.
Если Вы хотите изменить какие-либо параметры моделирования или же вовсе не хотите дожидаться завершения процесса моделирования, остановите работу системы и нажмите на кнопку «Сброс параметров» или выберите её в меню.
Рисунок 6. Кнопка «Сброс параметров»
Рисунок 7. Команда «Сброс параметров» меню «Действия»
Тут же, ниже управляющих кнопок, находится поле, отображающее текущее время системы(Рисунок 8), а так же реальное время процесса моделирования(Рисунок 9)
Рисунок 8. Текущее время системы
Рисунок 8. Время процесса моделирования
После завершения процесса моделирования появляется возможность получить выходные данные сформированные в отчете. Это можно сделать нажав на кнопку «Формирование отчета »(Рисунок 9) или выбрав этот пункт в меню(Рисунок 10), также пользователь имеет возможность сохранить отчет в текстовом файле (Рисунок 11).
Рисунок 9.Кнопка «Формирование отчета »
Рисунок 10. Команда «Формирование отчета» меню «Действия»
Рисунок 11. Команда «Файл» меню «Сохранить отчет»
Окно отчета содержит информацию о результатах моделирования в общем: число каналов обслуживания, число поступивших заявок, число выполненных заявок, время обслуживания, количество недообслуженных заявок.
Далее идет информация о каждом задействованном канале обслуживания, где указывается количество обслуженных заявок данным каналом.
Окно отчета результатов моделирования можно наблюдать на рисунке 12.
Рисунок 12. Окно отчета
Список использованной литературы
1. Марков Е.П. Базы Программирование в Delphi 7, 2003, СПб.
2. Фаронов М.Е. Программирование в Delphi глазами хакера, 2003, СПб.
Приложение А
Результаты проводимых экспериментов