Educational Technology & Society 8(4) 2005 ISSN 1436-4522
Информационно-образовательная среда для исследования систем массового обслуживания с помощью имитационных моделей
С.М. Каратун1, А.В. Скочин2,
1 кафедра информатики и вычислительной техники Тюменский государственный нефтегазовый университет, Тюмень, Россия member of RAAI, [email protected] 2кафедра информатики и вычислительной техники Тюменский государственный нефтегазовый университет, Тюмень, Россия
АННОТАЦИЯ
В статье рассмотрен подход к созданию информационно-образовательной среды для моделирования систем массового обслуживания. Основная цель разработки среды - реализация современных подходов к проведению имитационного моделирования и обеспечение простой и доступной оболочки для проектирования имитационных моделей СМО. Использование разработанной среды моделирования в учебном процессе позволяет автоматизировать деятельность преподавателя по контролю адекватности имитационных моделей студентов, повысить уровень навыков студентов в области проектирования моделей. В статье приведены современные тенденции развития средств моделирования, рассмотрены принципы построения и основные функции учебной среды для имитационного моделирования СМО, а также аспекты реализации интерфейса данной среды.
Ключевые слова
имитационное моделирование, системы массового обслуживания, среда моделирования, проектирование моделей, контроль правильности.
Введение
На сегодняшний день метод имитационного моделирования является одним из самых мощных и наиболее эффективных методов исследования процессов и систем самой различной природы и степени сложности. Сущность этого метода состоит в написании компьютерной программы, имитирующей процесс функционирования системы, и проведение экспериментов на этой программе с целью получения статистических характеристик моделируемой системы. Используя результаты имитационного моделирования, можно описать поведение системы, оценить влияние различных параметров системы на ее характеристики, выявить преимущества и недостатки предлагаемых изменений, прогнозировать поведение системы. [Емельянов А. А. и др., 2002]
Лучшей иллюстрацией области применения имитационного моделирования являются системы массового обслуживания. В терминах систем массового обслуживания описываются многие реальные системы: вычислительные системы, узлы сетей связи, магазины, производственные участки - любые системы, где возможны очереди и отказы в обслуживании. Системы массового обслуживания отличаются высокой наглядностью отображения моделируемых объектов и вследствие этого сравнительной простотой перехода от реальных объектов к соответствующим СМО.
Построение имитационных моделей больших систем и проведение машинных экспериментов с этими моделями представляют собой достаточно трудоемкий процесс. Традиционным подходом к созданию имитационных моделей является использование языков программирования, что приводит к написанию запутанных и
сложных моделирующих программ. Использование языков моделирования требует от пользователей специальных знаний и навыков, а подобные системы моделирования либо не предоставляют никаких средств наглядного отображения модели, либо стоят очень дорого. Таким образом, получение знаний в области имитационного моделирования требует навыков программирования с помощью какого-либо универсального или специального языка. Эффективным способом снижения трудоемкости при изучении и исследовании различных систем является автоматизация процедур, охватывающих построение, реализацию и оценку правильности имитационных моделей [Бусленко В.Н., 1977]. В настоящее время создан ряд систем моделирования, которые избавляют исследователя от программирования. Явно проявляется тенденция изменения технологий разработки моделей в направлениях, максимально ориентированных на проектирование систем, что позволяет пользователю не задумываться о структуре и синтаксисе программы имитации, уделяя все внимание структуре и параметрам самой модели и ее узлов [Емельянов А.А. и др., 2002]. На сегодняшний день это наиболее перспективное направление развития средств имитационного моделирования. При этом автоматизации должен подлежать не только этап программирования имитационной модели. Технология имитационного моделирования должна охватывать весь цикл моделирования - от формирования концептуальной модели до анализа результатов вычислительного эксперимента [Лычкина Н.Н., 2001].
Создание автоматизированной системы для имитационного моделирования СМО
Основная цель разработки автоматизированной системы имитационного моделирования СМО - реализация современных подходов к проведению имитационного моделирования и обеспечение простой и доступной среды для проектирования имитационных моделей СМО.
Программа обеспечивает поддержку основных этапов имитационного моделирования [Романски Р.П., 2004]:
1. проектирование концептуальной схемы модели;
2. настройка свойств отдельных элементов модели;
3. планирование эксперимента с построенной моделью;
4. запуск и выполнение эксперимента;
5. оценка и интерпретация результатов эксперимента.
Конструирование модели СМО осуществляется в соответствии с принципами
объектно-ориентированного проектирования. Для этого каждый элемент модели определяется, как некоторый объект, описывается каждая связь между элементами, определяются свойства объектов и связей. В целях формализации представления модели концептуальная структура СМО задается в виде ориентированного графа, вершины которого представляют множество возможных узлов обслуживания. Всего программа поддерживает создание 4 типов узлов. Генераторы предназначены для моделирования входящего потока заявок. Они создают новые заявки и передают их в другие узлы модели. Канал состоит из одного или нескольких обслуживающих устройств, которые работают параллельно и осуществляют обслуживание заявок. Накопители служат для организации очереди, в которой заявки ожидают обслуживания. Стоки предназначены для уничтожения заявок. Заявка, попавшая в сток, покидает систему. Связи между вершинами графа определяют пути движения заявок внутри системы. Возможны ситуации, когда один узел имеет несколько выходов, тогда путь заявки определяется условиями, заданными в узле-источнике (в соответствии с дисциплиной выбора приемника). Переход заявки из одного узла в другой осуществляется мгновенно. Если в графе определена дуга (у^), то будем говорить, что объект у является источником заявок для объекта ■, а объект w является приемником заявок для объекта у. Для задания графа каждый объект модели имеет список приемников.
Переходы заявок между узлами сети ограничиваются условиями допустимости типов заявок. Будем говорить, что узел у не допускает тип заявки 8, если заявки типа 8 ни при каких условиях не могут попасть в узел у (появиться в генераторе, пройти обслуживание в канале, находиться в накопителе). В противном случае будем
считать, что тип заявки 8 является допустимым для узла у (узел у допускает тип заявки 8).
Процесс создания концептуальной структуры модели состоит в определении узлов сети обслуживания и установлении связей между ними. При этом должны быть учтены следующие требования:
- модель обязательно должна содержать в своем составе хотя бы один генератор заявок;
- модель обязательно должна содержать в своем составе хотя бы один сток;
- в модели должен быть объявлен хотя бы один тип заявки;
- один из стоков обязательно должен быть выбран в качестве стока отказов, в который поступают все заявки, получившие отказ в обслуживании;
- генератор заявок не может быть приемником заявок ни для какого узла сети;
- сток не может быть источником заявок ни для какого узла сети.
Параметрическая настройка отдельных элементов сети состоит в определении
свойств узлов и их связей. Каждый объект модели имеет определенный набор функций и параметров, которые в совокупности описывают логику и закономерности его поведения. Параметры узлов могут быть как общими для всех типов узлов (уникальное наименование, список допустимых типов заявок, дисциплина выбора приемника), так и специфическими, определяемыми типом узла. Специфические параметры узлов перечислены в таблице 1.
Таблица 1 - Параметры узлов СМО
Тип узла Список параметров
Генератор Вероятность появления заявки для каждого типа заявки, закон распределения интервала времени между моментами генерации заявок, закон распределения числа заявок при генерации, время задержки первой генерации.
Накопитель Дисциплина выбора заявки из очереди (FIFO, LIFO, случайно, по времени, оставшемуся до отказа), предельная длина очереди, предельное время ожидания, закон распределения времени ожидания до отказа для каждого типа заявки.
Канал (совокупность обслуживающих устройств) Дисциплина выбора источника заявок, закон распределения времени обслуживания для каждого типа заявки, количество обслуживающих устройств в канале.
Функционирование СМО происходит в условиях действия различных случайных факторов, поэтому некоторые параметры модели заданы в виде закона распределения. Программа позволяет выбрать один из четырех видов закона распределения: детерминированный, равномерный, показательный и нормальный.
Основное свойство связи между узлами - дисциплина выбора приемника (правило, в соответствии с которым узел выбирает, куда дальше отправить заявку). Выбор приемника осуществляется в соответствии с одним из следующих правил:
- по порядку следования в списке (приоритет приема заявок имеют узлы, расположенные ближе к началу списка);
- выбор объекта осуществляется случайно в соответствии с заданными вероятностями выбора;
- по количеству заявок в приемнике (в качестве приемника выбирается узел, содержащий наименьшее число заявок, при равенстве количества заявок действует первое правило).
Если ни один из узлов-приемников не может принять заявку, то заявка получает отказ и переходит в сток отказов. Похожим образом задается дисциплина выбора источника для канала.
Планирование эксперимента заключается в настройке условий проведения эксперимента. На этом этапе задается критерий остановки моделирования (по времени моделирования или количеству поступивших заявок), тип эксперимента и определяется набор показателей, для которых нужно построить распределения.
Среднестатистические и предельные показатели функционирования модели рассчитываются автоматически. Программа поддерживает выполнение двух типов экспериментов: простой прогон модели во времени с текущими параметрами и однофакторный эксперимент. Однофакторный эксперимент заключается в проведении некоторого количества прогонов модели при разных значениях одного из параметров модели, который в этом случае называется фактором. В качестве фактора можно выбрать любой количественный параметр узлов модели, в том числе один из параметров законов распределения. Для установки фактора необходимо выполнить следующее:
- выбрать объект, которому принадлежит фактор (параметром какого объекта является);
- выбрать тип заявки, с которым связан фактор (например, математическое ожидание закона распределения времени обслуживания всегда связано с определенным типом заявки, число обслуживающих устройств в канале не связано ни с каким типом заявки);
- указать тип фактора (например, число устройств в канале, интенсивность закона распределения времени обслуживания и т.д.);
- указать начальное значение фактора;
- указать шаг изменения значения фактора при однофакторном эксперименте;
- указать число уровней фактора (количество точек, которые будут получены в результате однофакторного эксперимента).
Настройка распределений заключается в указании необходимости строить то или иное распределение и установке параметров распределения: нижней (левой) и
верхней (правой) границ области значений исследуемой случайной величины, а также числа интервалов, на которое разбивается данная область значений.
Процесс моделирования СМО представляет собой последовательность изменения состояния узлов сети, которые определенным образом реагируют на события и осуществляют передачу заявок в другие узлы модели, выполняя расчет своих статистических характеристик. В качестве показателей эффективности СМО программа оценивает распределения, а также средние и предельные значения характеристик СМО (таблица 2).
Результаты однофакторного эксперимента представляют собой графики зависимостей количественных характеристик СМО от выбранного фактора. Интерпретация результатов эксперимента включает в себя оценку эффективности функционирования системы (справляется ли с потоком заявок или много простаивает и т.д.), идентификацию законов распределения, определение оптимальных значений параметров системы с использованием графиков однофакторного эксперимента.
Таблица 2 - Характеристики СМО, определяемые программой
Характеристика Объект Методы оценки характеристики
Число заявок в системе По всей СМО Среднестатистическое и максимальное значения, распределение
Время пребывания заявки в системе Сток Среднестатистическое, минимальное и максимальное значения, распределение
Число поступивших заявок Для всех типов объектов Число заявок, поступивших на вход объекта
Время ожидания в очереди Накопитель Среднестатистическое и максимальное значения, распределение
Длина очереди Накопитель Среднестатистическое и максимальное значения, распределение
Доля заявок, получивших отказ Накопитель Отношение числа заявок, не дождавшихся обслуживания, к числу поступивших в накопитель заявок
Время простоя Канал Среднестатистическое и максимальное значения, распределение
Коэффициент загрузки (использования) Канал Доля суммарного времени простоя от всего времени работы канала
Реализация интерфейса моделирующей среды
Разработанная программа обеспечивает понятный, легко интерпретируемый интерфейс пользователя, функционирует под управлением операционных систем Windows и использует удобные диалоговые средства, предоставляемые графическим интерфейсом этих операционных систем. Главное окно программы представлено на
рисунке 1.
' і - шлмшітшішшттшішшттттшяягі^^^ш
Файл Модель Эксперимент О программе
Генер_1
Список объектов
В О Генераторы
■..^ Генер_1
в-т Накопители
> Накоп_1 [> Н акоп_2
0 © Каналы
[> Канал_1
> Канал_2 Н--І5П Стоки
> Сток отк [> Сток_1
0 ШВ Т ипы заявок
^ Т ип_заявки_1
О
Канал_1
ШМаТ"
IX]
Накоп 2 Канал 2
И
jlL
Рис. 1. Главное окно моделирующей среды.
Для автоматизации процесса создания графа модели в программе предусмотрен графический конструктор, позволяющий визуализировать сетевую структуру модели, осуществлять операции добавления, удаления, модификации узлов СМО, устанавливать связи между узлами модели. Для добавления нового узла в модель необходимо нажать кнопку на панели инструментов с обозначением нужного типа узла, затем с помощью манипулятора «мышь» указать то место на диаграмме графа, где требуется расположить новый объект. Используя механизм drag-and-drop, можно расположить узлы на диаграмме в наиболее удобном виде. Для определения связи между узлами нужно нажать кнопку для связи на панели инструментов, затем мышью указать сначала узел-источник, а после этого узел-приемник заявок.
Для задания свойств узла нужно выделить узел в области проектирования диаграммы графа, после чего выбрать пункт меню «Модель ^ Свойства элемента» или произвести двойной щелчок левой кнопкой мыши. В зависимости от типа объекта, появиться диалоговое окно свойств объекта, в котором с помощью удобных интерфейсных элементов Windows (выпадающих списков, переключателей и т.п.) можно легко установить нужные параметры. При этом программа автоматически осуществляет контроль корректности вводимых данных, не позволяя пользователю выполнять заведомо неверные действия и предупреждая о возможных ошибках. Для редактирования дисциплины выбора приемника нужно в окне свойств объекта перейти на вкладку «Приемники» (рис. 2).
Рис. 2. Вкладка «Приемники» окна свойств объекта.
Операции планирования, запуска, вывода и оценки результатов эксперимента производятся в диалоговом окне управления экспериментом (рис. 3).
Это позволяет оперативно изменять условия эксперимента после оценки результатов моделирования. На вкладке «Условия эксперимента» можно установить критерий остановки моделирования, тип эксперимента и выбрать фактор. Чтобы выполнить настройку планируемых распределений, нужно перейти на вкладку «Планирование распределений». Для запуска эксперимента нужно нажать кнопку «Выполнить». Если был проведен однофакторный эксперимент, то для просмотра графиков изменения значений показателей СМО нужно перейти на вкладку «Зависимости». Для просмотра результатов одного прогона модели необходимо выбрать вкладки «Показатели» и «Распределения». Распределения значений характеристик СМО выводятся на экран в виде гистограмм. На вкладке «Распределения» можно также выбрать теоретический закон распределения и проверить гипотезу о соответствии построенного эмпирического распределения данному теоретическому с помощью критерия Пирсона. Результаты моделирования можно сохранить в текстовый файл, построенные гистограммы и графики - в файл формата *.Ьтр, после чего использовать при оформлении отчетов и обосновании выводов.
Рис. 3. Вкладка «Зависимости» окна «Управление экспериментом».
Анализ и оценка разработки
Пользователь автоматизированной системы моделирования располагает возможностями абсолютного контроля над своей моделью, может варьировать по желанию любой параметр и судить о поведении модели по наблюдаемым результатам. Разработанная среда моделирования может использоваться для решения таких задач как
- формализация представления модели СМО в лаконичном и понятном виде;
- описание логики и закономерностей поведения моделируемого объекта;
- оценка основных показателей эффективности функционирования СМО;
- построение и проверка гипотез, которые могут объяснить наблюдаемое поведение;
- анализ чувствительности СМО к изменению параметров отдельных элементов;
- поиск оптимальных вариантов реализации СМО.
Применение программы в учебных целях связано с развитием навыков объектно-ориентированного проектирования моделей, рационального планирования эксперимента с построенной моделью, принятия решения на основе получаемой статистической информации. Использование среды моделирования позволяет избежать программирования имитационной модели в ручную, существенно повысить скорость создания моделей, легко модифицировать их в дальнейшем. Таким образом, студент в процессе изучения курса по моделированию систем получает возможность рассмотреть и проанализировать несколько моделей различных СМО, быстрее освоить и глубже понять основные принципы построения СМО, выявить специфику моделирования СМО в различных прикладных областях. С использованием среды моделирования можно быстро оценить адекватность той или иной программы, реализующей имитационную модель, что практически невозможно сделать на интуитивном уровне или с помощью аналитических методов. Преподаватель может использовать эту среду для контроля правильности таких
программ, указать на ошибки реализации моделирующего алгоритма. При использовании моделирующей среды существенно снижается время, затрачиваемое преподавателем на проверку решения студента, так как оценить модель или найти ошибку при ее проектировании в среде гораздо проще, нежели разобраться в тексте программы.
Заключение
Разработанная моделирующая среда позволяет автоматизировать деятельность преподавателя по контролю правильности имитационных моделей студентов, повысить уровень знаний и навыков студентов в области имитационного моделирования и применения теории массового обслуживания. Подобная автоматизированная система моделирования может найти применение не только при изучении курса "Моделирование систем". Универсальность и гибкость моделей СМО обуславливает широкую область применения данного программного обеспечения: исследование производственных бизнес-процессов, анализ функционирования сетей связи, транспортных систем, различных организаций сферы обслуживания и т.д. Дальнейшее развитие данной системы моделирования связано с решением задач автоматического поиска оптимальных параметров исследуемых объектов и использование имитационных моделей в составе математического обеспечения автоматизированных систем обработки информации и управления.
Литература
[Емельянов А.А. и др., 2002] Емельянов А.А., Власова Е.А., Дума Р.В. Имитационное моделирование экономических процессов. - М.: Финансы и статистика, 2002.
[Лычкина Н.Н., 2001] Лычкина Н.Н. Современные тенденции в имитационном моделировании //«Вестник университета», серия «Информационные системы управления» №1, ГУУ, М.: 2001. C. 135-141.
[Бусленко В.Н., 1977] Бусленко В.Н. Автоматизация имитационного моделирования сложных систем. - М.: Наука, 1977.
[Романски Р.П., 2004] Романски Р.П. Применение моделирования для обучения в области компьютерных наук //Education Technology & Society 7(4), 2004. C. 291-300.