автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.11, диссертация на тему:Разработка программного комплекса имитационного моделирования СМО на основе объектно-ориентированной модели дискретно-событийного метода

кандидата технических наук
Приступа, Андрей Викторович
город
Томск
год
2006
специальность ВАК РФ
05.13.11
цена
450 рублей
Диссертация по информатике, вычислительной технике и управлению на тему «Разработка программного комплекса имитационного моделирования СМО на основе объектно-ориентированной модели дискретно-событийного метода»

Автореферат диссертации по теме "Разработка программного комплекса имитационного моделирования СМО на основе объектно-ориентированной модели дискретно-событийного метода"

На правах рукописи

Приступа Андрей Викторович

РАЗРАБОТКА ПРОГРАММНОГО КОМПЛЕКСА ИМИТАЦИОННОГО МОДЕЛИРОВАНИЯ СМО НА ОСНОВЕ ОБЪЕКТНО-ОРИЕНТИРОВАННОЙ МОДЕЛИ ДИСКРЕТНО-СОБЫТИЙНОГО МЕТОДА

Специальность 05.13.11 — «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей»

АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата технических наук

Томск-2006

Работа выполнена в Томском государственном университете на кафедре прикладной информатики факультета информатики

Ведущая организация — Томский политехнический университет.

Защита состоится 26 октября 2006 г. в 10-30 на заседании Диссертационного совета Д 212.267.08 в Томском государственном университете по адресу: г. Томск, пр. Ленина 36, корп. 2, ауд. 102.

С диссертацией можно ознакомиться в научной библиотеке Томского государственного университета.

Отзывы на автореферат (2 экз.), заверенные печатью, высылать по адресу: 634050, г. Томск, пр. Ленина, 36, ученому секретарю ТГУ.

Автореферат разослан 22 сентября 2006 г.

Научный руководитель: доктор

физико-математических наук, доцент Змеев О. А.

Официальные оппоненты: доктор технических наук,

профессор Костюк ЮЛ.

кандидат технических наук, Моисеев А.Н.

Скворцов А.В.

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

Актуальность работы

В разных областях техники, в организации производства, в экономике и медицине, в социальной сфере, в военном деле и во многих других сферах человеческой деятельности постоянно возникает необходимость решения вероятностных задач, связанных с работой систем массового обслуживания. По справедливому замечанию виднейшего советского специалиста в этой области Б.В. Гнеденко, "легче указать ситуации, где не может быть использована теория массового обслуживания (она же — теория очередей), чем перечислить все сферы ее потенциального применения". Многообразие приложений этой теории определяет постоянно растущий интерес к ней, а сложность возникающих задач не позволяет получать решения на базе аналитических методов. По мнению A.M. Jloy и В.Д. Кельтона, имитационное моделирование является одним из наиболее распространенных, а возможно, и самым распространенным методом исследования операций и теории управления, а согласно исследованию Gupta, эта технология исследования сложных систем занимает второе место после математического программирования. Об этом свидетельствуют и Зимние конференции по вопросам имитационного моделирования (Winter Simulation Conference), ежегодно собирающие до 700 участников.

Одним из наиболее распространенных методов имитационного моделирования по праву считается дискретно-событийный метод, в основе которого лежит концепция заявок (транзактов). Исторически этот подход восходит к Джеффри Гордону, который в 1960-х гг. разработал язык GPSS. Заявки в этой схеме являются пассивными элементами (детали, сообщения), они двигаются в соответствии со своими маршрутами, при этом время от времени с ними происходят так называемые события. Под событиями понимаются мгновенные импульсы, которые приводят к изменению вектора состояний системы (например, поступление заявки в очередь, начало и окончание обслуживания и т.п.).

Целый ряд зарубежных фирм выпускает программные продукты, так или иначе поддерживающие дискретно-событийное моделирование; некоторые общего назначения, большинство нацелено на определенные предметные области: обслуживание, бизнес-процессы, производство, логистика и т.д. В качестве примера российских разработок следует отметить продукт AnyLogic компании XJ Technologies, который получил признание в том числе и за рубежом. Отечественные ученые B.JI. Конюх, Я.Б. Игнатьев, В.В. Зиновьев в 2003 году подготовили и выпустили электронный диск «Методы имитационного моделирова-

ния дискретных систем», где представили обзор программных средств имитационного моделирования, в том числе и современных,

В последние годы также значительно вырос интерес к распределенным технологиям имитационного моделирования. Вопросы, связанные с применением распределенных вычислений в рамках дискретно-событийного метода, можно проследить в работах U. Chandrasekaran, S. Sheppard, J. Misra, R.M. Fujimoto, D.M. Nicol, R.L. Bagrodia. В качестве альтернативы или возможного пути реализации распределенного подхода рассматривается и объектно-ориентированное моделирование. Заметим, что фактически история ООП берет свое начало именно из задач имитационного моделирования и инструмента, предназначенного для их решения (SIMULA, начало 60-х годов прошлого века). В качестве источников, в которых рассмотрены вопросы объектно-ориентированного моделирования, отметим работы J.A. Levasseur, D.W. Jones, S.D. Roberts.

Заметим, что для работы с существующими инструментами имитационного моделирования пользователю требуется еще изучить их внутренний язык, поскольку редкая модель может быть разработана с помощью изменения параметров какого-то шаблонного варианта — обычно требуется написание кода. Изучение языка в этом случае иногда оказывается более сложной задачей, чем разработка самой модели. Для решения указанной проблемы разрабатываются специальные инструменты, направленные на упрощение процесса создания моделей. Так, например, программная система ISS 2000, разработанная В.Н. То-машевским (являющаяся, по сути, генератором программ на языке GPSS), позволяет с использованием визуальных средств создавать и связывать между собой компоненты модели, не прибегая непосредственно к написанию кода. В результате получается текст программы, которая исполняется в стандартной GPSS-оболочке. Однако подобный подход, к сожалению, сохраняет за собой все те ограничения, которыми обладает сам язык GPSS.

С другой стороны, применение универсальных языков программирования позволяет исследователю добиться большей гибкости при разработке, отладке и испытании модели, чем при использовании специализированных языков и сред. Очевидным преимуществом является и более широкое распространение универсальных языков программирования по сравнению со специализированными языками моделирования. Следует отметить экспериментальную разработку А.Г. Королева, в которой модели систем массового обслуживания представляются в GPSS-подобном стиле, но в виде набора процедур на Object Pascal. Эти тексты компилируются, и в результате создается программа, являю-

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

В этой связи разработка программной системы дискретно-событийного имитационного моделирования, которая с одной стороны была бы по возможности максимально предметно-ориентированной и предоставляла возможности визуального моделирования, а с другой стороны сохранила бы преимущества использования универсальных языков программирования, по мнению автора, является актуальной научно-технической задачей. Настоящая работа посвящена разработке такой системы на основе современных представлений о проектировании программных продуктов. При описании проектных решений используется нотация UML, а также шаблоны проектирования (в качестве источника отметим монографию Е. Gamma, R. Helm, R. Johnson, J. Vlissides). В качестве средства выполнения кода, записанного на языке программирования, предлагается использовать библиотеку FastScript, разработанную компанией Fast Reports.

Цель работы

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

1) разработка объектно-ориентированной модели дискретно-событийного метода, построенной на принципах повторного использования;

2) разработка каркаса архитектуры программного комплекса для реализации дискретно-событийного метода имитационного моделирования;

3) реализация программного комплекса имитационного моделирования систем массового обслуживания.

Методика исследований

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

Научная новизна работы

1. Предложена оригинальная объектно-ориентированная модель дискретно-событийного метода имитационного моделирования, основанная на принципах повторного использования дизайна.

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

Практическая значимость работы

1. Разработан программный комплекс имитационного моделирования СМО «ObjectSim», позволяющий без изучения синтаксиса конкретного, специализированного языка имитационного моделирования строить имитационные модели, комбинируя работу с визуальными компонентами с написанием собственных обработчиков для различных событий. При этом в качестве средства написания обработчиков может быть использован любой из четырех языков - PascalScript, C++Script, BasicScript и JavaScript. Принципы повторного использования, в соответствии с которыми разрабатывался комплекс, допускают расширение приведенного перечня языков.

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

Положения, выносимые на защиту

1. Способ описания графов событий имитационной модели систем массового обслуживания в нотации UML.

2. Объектно-ориентированная модель дискретно-событийного метода имитационного моделирования.

3. Архитектура программного комплекса для моделирования систем массового обслуживания с возможностью доопределения логики работы моделей.

Внедрение полученных результатов

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

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

Комплекс «ObjectSim» используется также в учебном процессе на факультете информатики Томского государственного университета при проведении практических занятий по имитационному моделированию СМО по специальности 35.15.00 «Математическое обеспечение и администрирование информационных систем».

Апробация работы

Результаты работы докладывались и обсуждались на следующих конференциях:

1. VII Межрегиональная научно-практическая конференция «Научное творчество молодежи», Анжеро-Судженск, 2003.

2. Всероссийская конференция «Наука и практика: Диалоги нового века», Анжеро-Судженск, 2003.

3. VIII Всероссийская научно-практическая конференция «Научное творчество молодежи», Анжеро-Судженск, 2004.

4. 8-th Korea-Russia International Symposium on Science and Technology. Information Technology, Tomsk Polytechnic University, 2004.

5. II Всероссийская научно-практическая конференция «Имитационное моделирование. Теория и практика», Санкт-Петербург, 2005.

Публикации по теме работы

Основное содержание работы отражено в 7 публикациях, в т.ч. 1 статья опубликована в журнале из списка ВАК.

Личный вклад автора

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

Структура диссертации

Диссертация состоит из введения, основного текста, заключения, библиографического списка (100 наименований), и приложения, включающего документы о внедрении. Основной текст состоит из 4 глав и содержит 15 таблиц и 96 рисунков. Общий объем работы 154 страницы, включая 3 страницы приложения.

ОСНОВНОЕ СОДЕРЖАНИЕ РАБОТЫ

В первой главе диссертации проводится сравнение существующих подходов к имитационному моделированию дискретных систем и да-

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

В первом пункте обзора рассмотрены достоинства и недостатки подходов, связанных с применением традиционных языков программирования и с использованием специализированных инструментов имитационного моделирования (в частности, языков и сред). Во втором и третьем пунктах приводится обзор существующих программных средств - от классических языков (GPSS, SIMULA) до современных визуальных сред разработки (ARENA, EXTEND, SIMPLEX3, ANY-LOGIC). В четвертом пункте ставятся задачи исследования и разработок диссертации на основе выявленных нерешенных проблем. В частности установлено, что до сих пор нигде не представлено описание дискретно-событийного метода имитационного моделирования с позиций объектно-ориентированного подхода. Кроме того, существующие инструменты имитационного моделирования требуют изучения внутреннего языка, а это сужает круг их использования.

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

Динамический характер дискретно-событийных имитационных моделей требует, прежде всего, определенных средств слежения за имитационным временем и его продвижения вперед. Такой механизм обязательно присутствует во всех системах и называется часами модельного времени. Кроме часов модельного времени в дискретно-событийной модели можно выделить следующие элементы: множество компонентов, состояние системы, множество событий, множество статистики, механизм инициализации, механизм синхронизации, механизм обработки событий, механизм генерации случайных величин и генератор отчетов. Всеми этими элементами управляет основная программа, обеспечивающая прогоны имитационной модели. Соответствующая диаграмма активности на языке UML приведена на рис. 1.

Однократный прогон имитационной модели

Рис. 1. Логические связи между элементами

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

В п. 2.2 рассматривается концептуальная модель системы имитационного моделирования. В п. 2.2.1 —2.2.6 приведены основные требования к комплексу имитационного моделирования в виде стандартных диаграмм вариантов использования (use case), которые описывают возможные варианты взаимодействия приложения и его составляющих с пользователем.

В п. 2.2.2 рассмотрен вариант использования «Разработка модели», который включает в себя создание и настройку компонентов, определение связей между ними, определение глобальных переменных и создание собственных статистик. Кроме стандартных компонентов, модель может содержать в себе также и компоненты, разработанные пользователем в специальном редакторе. Здесь разработчик модели получает полную свободу, самостоятельно может создавать необходимое ему количество портов, констант и переменных, в том числе и для сбора статистики. Алгоритмы работы целиком определяются пользователем в коде обработчиков.

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

В п. 2.2.4 рассматривается проведение экспериментов над моделями. В рамках данного варианта использования можно выделить два типа экспериментов - однофакторные и многофакторные. Проведение однофакторного эксперимента подразумевает изменение одного из параметров модели (фактора) в определенных пределах с некоторым шагом, при этом для каждого уровня фактора производится некоторое число прогонов. В случае многофакторного эксперимента используется построение факторных планов.

В п. 2.2.5 рассматривается вариант использования «Работа с результатами», при этом выделяются 2 типа результатов: покомпонентная и дополнительная статистика. Первая представляет собой набор объек-тов-статистик, индивидуальных для каждого компонента (например, для очереди это ее длина, время пребывания в ней заявок и т.п.). Под

дополнительными понимаются статистики, созданные и изменяемые разработчиком модели.

Загрузка и сохранение модели рассмотрены в п. 2.2.6.

В п. 2.3 приведено описание логической модели системы. Вначале рассматривается иерархия классов (п. 2.3.1), представляющих модельные компоненты. В основу положен базовый класс ТМос1е1Сотропеп1. Операции, реализованные на уровне данного класса, выполняют действия, общие для всех компонентов, независимо от их типа. Здесь происходит компиляция и выполнение обработчиков событий, возникающих при входе и выходе заявок (если таковые заданы), добавление заявок в список обработки при входе и удаление их при выходе. Здесь же содержится информация о структуре компонента.

Ниже по иерархии находятся классы Т81апс1агс1Сотропеп1 и Тивег-СотропеШ: (представляющие соответственно стандартные и пользовательские компоненты). Классы стандартных компонентов (источник, очередь, устройства и т.п.) наследуются от ТБ1апс1агс1Сотропеп1. Коротко рассмотрим их основные характеристики.

Т8оигсе (источник заявок). Характеризуется законом распределения времени между поступлением заявок, задержкой первой заявки, приоритетом заявок, ограничением числа заявок, размером группы заявок, циклом работы.

ТЕп^йевОиеие (очередь). Характеризуется дисциплиной, максимальной длиной, пределом времени ожидания, задержкой первой заявки, приоритетом заявок, ограничением числа заявок, размером группы заявок, циклом работы.

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

Рис. 2. Выбор очередной заявки

Т51па1е5егуег и ТМиШ5егуег (устройства обслуживания'). Характеризуются законом распределения времени обслуживания, дисциплиной обслуживания, дисциплиной выбора очередной заявки (в случае, если к устройству подходит несколько маршрутов), циклом работы. Для режима с конфликтами можно задать закон распределения времени оповещения о конфликте. Для данных объектов предусмотрена также возможность записывать обработчики событий «прерывание обслуживания» и «возобновление обслуживания» (для приоритетных СМО). Многоканальное устройство характеризуется также числом каналов.

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

ТМегее и ТРигса1е (объединитель и разветвитель потоков"}. Объединитель содержит несколько входных портов и один выходной, при этом может работать в режиме «склейки» заявок. Разветвитель, напротив, имеет один входной и несколько выходных портов. Для него реализованы различные алгоритмы разделения входящих потоков. Таким образом, оба объекта характеризуются числом портов и дисциплиной.

ТБупсЬготгег (синхронизатор). Имеет равное количество входных и выходных портов. Принцип работы заключается в следующем: заявки, поступающие во входные порты компонента, ждут, пока в каждом порту не окажется хотя бы по одной заявке, после чего единовременно покидают компонент — каждая через свой выходной порт.

ТВиэуКеу Г ключ занятости"). Может направить заявку в стандартный выходящий порт, если компонент, следующий непосредственно за ним, не занят (число заявок в компоненте меньше заданного предела), и в порт аварийного выхода в противном случае (при этом объект-приемник извещается о предпринятой попытке его занять).

Т5к>ррег и ТЯесаНЗгс (стопггер и источник повторных вызовов"). Назначение объектов данных классов состоит в задержке заявок на некоторое время. Отличие от устройств обслуживания заключается в том, что эти компоненты не бывают заняты, перед ними не возникает очереди и они могут одновременно задерживать любое количество заявок.

Т5шк (уничтожитель заявок"). Компонент содержит единственный входящий порт; заявки, войдя в него, удаляются из модели.

ТЦБегСотропет (компонент пользователя"). Разработчик сам определяет, какие порты, переменные и константы будут входить в состав компонента, а также полностью определяет его поведение.

В п. 2.3.2 рассматривается представление модели в виде класса. На уровне модели происходит автоматический подсчет общего количества

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

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

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

Рис. 3. Механизм обработки событий

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

В п. 2.3.5 дается описание механизмов генерации случайных величин. Для получения независимых случайных величин, равномерно распределенных на интервале (0,1) используется алгоритм Мерсенна-Твистера. Остальные распределения получаются путем различных преобразований равномерного. Для воспроизведения экспериментов с одними и теми же параметрами (на уровне какого-либо из источников случайности) можно задавать номер потока. В этом случае генерация случайных значений идет по одной и той же схеме для каждого эксперимента. Начавшись с какого-то детерминированного значения, случайный поток полностью воспроизводится. Важной особенностью является также возможность создавать собственные распределения.

В п. 2.3.6 рассмотрен класс «Статистика» и приводятся формулы для вычисления основных оценок требуемых характеристик.

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

Рис. 4. Стандартные элементы графа событий в нотации ЦМЬ

Данную запись можно прокомментировать так. «Когда наступает событие А, выполняются все изменения состояния модели, связанные с этим событием. Если условие С истинно, планируется наступление события В через t единиц времени». В случаях, когда некоторое событие имеет собственные параметры, все дуги графа, ведущие в соответствующую этому событию вершину, имеют список аргументов, которые должны быть при вычислении подставлены вместо параметров.

Рис. 5. Элементы диаграммы состояний с параметрами

Интерпретация выглядит следующим образом. «Когда наступает событие А, выполняются все изменения состояния модели, связанные с А. Если условие С истинно, планируется наступление события В через I единиц времени. При этом параметр р события В принимает значение выражения е».

В третьей главе диссертации приводится описание разработанного программного комплекса имитационного моделирования систем массового обслуживания «ОЬуесЯЗта».

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

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

В п. 3.3 приводятся варианты реализации случайных процессов поступления заявок. Показано, как можно моделировать стационарные пуассоновские процессы (п. 3.3.1), процессы с последействием (п. 3.3.2), нестационарные пуассоновские процессы (п. 3.3.3) и групповые поступления заявок (п. 3.3.4). Комплекс также позволяет моделировать несколько эффектов вместе (например, прибытие заявок группами и переменная интенсивность процесса поступления и т.д.).

В п. 3.4 рассмотрены варианты реализации процессов обслуживания. Процесс обслуживания заявок характеризуется дисциплиной выбора требований из очереди (если таковая имеется перед устройством) и собственно дисциплиной обслуживания. В комплексе «ОЬуе^пп» реализованы несколько стратегий выбора из очереди, в том числе с

учетом приоритетов (PFIFO, PLIFO), без учета приоритетов (FIFO, LIFO, RANDOM), циклический обход и пассивный режим. Что касается дисциплин обслуживания, то комплекс допускает использование стратегий с относительными и абсолютными приоритетами (в т.ч. с дооб-служиванием и с обслуживанием заново), с отказами и конфликтами.

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

В п. 3.6 описаны графические результаты моделирования, которые может предоставлять комплекс «ObjectSim». Каждая характеристика оценивается с нескольких сторон: строится график изменения на основе одной реализации, а также графики математического ожидания, дисперсии и коэффициентов автокорреляции на основе нескольких прогонов. Примеры графиков приводятся в п. 3.6.1. Однако разработчика модели часто интересует поведение системы в установившемся режиме. Для определения точки перехода в стационарный режим используется графическая процедура Велча, рассмотренная в п. 3.6.2

В п. 3.6.3 описывается проведение над моделью однофакторных и многофакторных экспериментов.

В четвертой главе приводятся примеры построения реальных моделей с использованием комплекса имитационного моделирования «ObjectSim».

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

В п. 4.3 рассмотрено моделирование 4-портового коммутатора, где выходной порт представлен в виде одноканального устройства обслуживания, а входные порты в виде очередей ограниченной длины.

ОСНОВНЫЕ РЕЗУЛЬТАТЫ РАБОТЫ

1. Впервые продемонстрированы в нотации ЧМЬ (а именно в виде диаграмм активности) основные механизмы работы дискретно-событийного метода и их взаимодействие для случаев однократного и многократного запуска.

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

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

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

5. Создан программный комплекс «ОЬуейБт», позволяющий без изучения синтаксиса специализированного языка имитационного моделирования строить модели систем массового обслуживания. Имея при этом навыки программирования на одном из традиционных языков, пользователь может доопределять логику работы моделей.

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

СПИСОК ПУБЛИКАЦИЙ ПО ТЕМЕ ДИССЕРТАЦИИ

1. Змеев O.A., Приступа A.B. Диаграммы состояния UML как способ представления графа событий имитационной модели дискретной системы массового обслуживания // Обработка данных и управление в сложных системах. Томск: Изд-во Том. ун-та, 2004. — Вып.6. — С.76-81.

2. Змеев O.A., Приступа A.B. Классификация коммерческих систем имитационного моделирования // Материалы Всероссийской конференции "Наука и практика: Диалоги нового века". — Анжеро-Судженск, 14 ноября 2003г. - Часть 3. - С.93-95.

3. Змеев O.A., Приступа A.B. Применение паттернов проектирования при построении систем имитационного моделирования // Материалы VIH Всероссийской научно-практической конференции "Научное творчество молодежи". - Анжеро-Судженск, 16-17 апреля 2004г. — С.36-38

4. Змеев O.A., Приступа A.B. Разработка объектно-ориентированного программного комплекса имитационного моделирования систем массового обслуживания // Вестник Томского государственного университета. - 2004. - №284. - С.181-184.

5. Приступа A.B. Имитационное моделирование систем массового обслуживания. Шаг моделирования // Материалы VII Межрегиональной научно-практической конференции "Научное творчество молодежи". - Анжеро-Судженск, 18 апреля 2003г. - Часть 2. - С.39-40.

6. Приступа A.B. Инструмент для объектного моделирования систем с дискретными событиями ObjectSim // Материалы Второй всероссийской научно-практической конференции ИММОД-2005. — Санкт-Петербург, 19-21 октября 2005г. - СПб.: ФГУП "ЦНИИТС". - 2005. -Т.1. —С.264-268.

7. Pristupa A.V., Zmeyev O.A. Design Patterns in Discrete Event Simulation // 8th Korea-Russia International Symposium on Science and Technology. PROCEEDINGS. KORUS. - New York City, NY: IEEE, 2004. -Vol. l.-PP. 141-144.

Оглавление автор диссертации — кандидата технических наук Приступа, Андрей Викторович

ВВЕДЕНИЕ.

ГЛАВА I. ОБЗОР СУЩЕСТВУЮЩИХ ПРОГРАММНЫХ СРЕДСТВ ДИСКРЕТНО-СОБЫТИЙНОГО МОДЕЛИРОВАНИЯ.

1.1. языки и среды имитационного моделирования. достоинства и недостатки.

1.2. языки имитационного моделирования.

1.2.1. Общецелевая система имитационного моделирования GPSS.

1.2.2. Программные разработки на базе GPSS. . 1.2.3. Язык программирования SIMULA.

1.2.3. Языки SIMSCRIPTn GASP.

1.3. Среды имитационного моделирования.

1.3.1. Среда моделирования ARENA.„

1.3.2. Среда моделирования EXTEND.

1.3.3. Среда моделирования SIMPLEX3.

1.3.4. Среда моделирования ANYLOGIC.

1.4. Выводы.

ГЛАВА II. РАЗРАБОТКА АРХИТЕКТУРЫ ПРОГРАММНОГО КОМПЛЕКСА ИМИТАЦИОННОГО МОДЕЛИРОВАНИЯ.

2.1. Основные элементы дискретно-событийной модели и их взаимодействие.

2.2. Концептуальная модель системы.

2.2.1. Общая диаграмма взаимодействия с пользователем.

2.2.2. Разработка модели.

2.2.3. Запуск модели.

2.2.4. Проведение экспериментов.

2.2.5. Работа с результатами.

2.2.6. Загрузка и сохранение модели.

2.3. Логическая модель системы.

2.3.1. Описание базовых компонентов.

2.3.2. Представление модели в виде класса.

2.3.3. Множество событий.

2.3.4. Механизмы инициализации и основной цикл моделирования.

2.3.5. Механизмы генерации случайных величин.

2.3.6. Состояние системы, статистика и генерация отчетов.

2.4. Диаграммы состояния UML как способ представления графа событий имитационной модели дискретной системы массового обслуживания.

2.5. Выводы.

ГЛАВА III. РАБОТА С ПРОГРАММНЫМ КОМПЛЕКСОМ.

3.1. Рабочее пространство модели.

3.2. Работа с компонентами.

3.2.1. Управление стандартными компонентами.

3.2.2. Управление компонентами пользователя.

3.3. Реализация случайных процессов поступления требований.

3.3.1. Стационарные пуассоновские процессы.

3.3.2. Процессы с последействием.

3.3.3. Нестационарные пуассоновские процессы.

3.3.4. Групповые поступления.

3.4. Реализация процессов обслуживания.

3.5. Настройка и запуск модели.

3.6. Представление результатов моделирования.

3.6.1. Оценки характеристик по результатам прогонов.

3.6.2. Проблема переходного процесса и ее графическое решение с помощью метода Велча.

3.6.3. Проведение экспериментов над моделями.

3.7. Выводы.

ГЛАВА IV. ПРИМЕРЫ ПОСТРОЕНИЯ РЕАЛЬНЫХ МОДЕЛЕЙ С ИСПОЛЬЗОВАНИЕМ КОМПЛЕКСА.

4.1. Многозвенные виртуальные каналы.

4.2. Модели трехзвенных каналов с боковым трафиком.

4.3. Модель коммутатора.

4.4. Выводы.

Введение 2006 год, диссертация по информатике, вычислительной технике и управлению, Приступа, Андрей Викторович

Актуальность работы.

В разных областях техники, в организации производства, в экономике и медицине, в социальной сфере, в военном деле и во многих других сферах человеческой деятельности постоянно возникает необходимость решения вероятностных задач [11], связанных с работой систем массового обслуживания (СМО) [24, 33, 35, 36, 40, 46]. По справедливому замечанию виднейшего советского специалиста в этой области Б.В. Гнеденко, "легче указать ситуации, где не может быть использована теория массового обслуживания (она же - теория очередей), чем перечислить все сферы ее потенциального применения" [10]. Многообразие приложений этой теории определяет постоянно растущий интерес к ней, а сложность возникающих задач не позволяет получить исчерпывающие решения на базе аналитических методов. В таких ситуациях часто прибегают к имитационному моделированию [28, 32, 36], которое можно рассматривать как универсальный подход для принятия решений в условиях неопределенности с учетом наличия в моделях трудноформали-зуемых факторов. Так, написаны целые книги по применению имитационного моделирования в коммерческой деятельности [21, 83, 85], экономике [2,34], в системе образования [59], политике, обществоведении, международных отношениях. Кроме того, множество технических статей, отчетов, диссертаций в общественной, экономической, технической и практически в любой другой сфере человеческой деятельности свидетельствуют о росте использования и распространении влияния имитационного моделирования.

По мнению A.M. Jloy и В.Д. Кельтона [30, 78], имитационное моделирование является одним из наиболее распространенных, а возможно, и самым распространенным методом исследования операций и теории управления. Согласно исследованию Gupta [72], эта технология исследования сложных систем занимает второе место после математического программирования. Об этом свидетельствуют и Зимние конференции по вопросам имитационного моделирования (Winter Simulation Conference) [100], ежегодно собирающие до 700 участников. Наличие имитационной модели и обоснование с ее помощью выбранного варианта часто являются обязательными в комплекте документов проектирования нового или модернизации i существующего производства или технологического процесса.

Одним из наиболее распространенных методов имитационного моделирования по праву считается дискретно-событийный метод [71, 73, 93], в основе которого лежит концепция заявок (транзактов). Исторически этот подход восходит к Джеффри Гордону, который в 1960-х гг. разработал язык GPSS. Заявки в этой схеме являются пассивными элементами (детали, сообщения), они двигаются в соответствии со своими маршрутами, при этом время от времени с ними происходят так ! называемые события. Под событиями понимаются мгновенные импульсы, которые приводят к изменению вектора состояний системы (например, поступление заявки в очередь, начало и окончание обслуживания и т.п.).

Более широкому распространению методов дискретно-событийного имитационного моделирования препятствует необходимость создания программных реализаций моделей, которые воссоздают в модельном времени динамику функционирования реальной системы. В отличие от традиционных методов программирования, разработка имитационной модели требует "определенной перестройки принципов мышления" [51]. Поэтому усилия разработчиков программных средств имитации направлены, с одной стороны, на создание специализированных языков и систем, предназначенных для упрощения процесса создания моделей. С другой стороны, в литературе [30, 42] достаточно часто отмечается тот факт, что применение универсальных языков программирования позволяет исследователю добиться большей гибкости при разработке, отладке и испытании модели, чем при использовании специализированных языков и сред.

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

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

1) разработка объектно-ориентированной модели дискретно-событийного метода, построенной на принципах повторного использования; > 2) разработка каркаса архитектуры программного комплекса для реализации дискретно-событийного метода имитационного моделирования; 3) реализация программного комплекса имитационного моделирования СМО.

Состояние проблемы.

Целый ряд зарубежных фирм выпускает программные продукты, так или иначе поддерживающих дискретно-событийное моделирование; некоторые общего назначения, большинство нацелено на определенные предметные области: обслуживание, бизнес-процессы, производство, логистика и т.д. В качестве примера росI сийских разработок следует отметить продукт AnyLogic компании XJ Technologies, который получил признание в том числе и за рубежом. Обзор этих средств приведен в первой главе настоящей работы, а также в [13, 18,27, 30,44, 64]. Отечественные ученые B.J1. Конюх, Я. Б. Игнатьев, В. В. Зиновьев в 2003 году подготовили и выпустили электронный диск «Методы имитационного моделирования дискретных систем», где представили обзор программных средств имитационного моделирования, в том числе и современных. В последние годы также значительно вырос инте! рес к распределенным технологиям имитационного моделирования. Вопросы, связанные с применением распределенных вычислений в рамках дискретно-событийного метода, можно проследить в работах Chandrasekaran U., Sheppard S. [66], J. Misra [84], R. M. Fujimoto [70], D. M. Nicol [86], R. L. Bagrodia [60]. В связи с быстрым развитием технологий World Wide Web необходимо отметить ряд работ последнего времени, связанные с исследованиями самых разнообразных возможностей применения этих технологий для расширения возможностей моделирования.

Так, например, в работах P. A. Fishwick [68, 69] исследуется широкий спектр во-I просов, связанных с использованием механизмов клиент-сервер для увеличения производительности, распространения имитационных моделей и результатов их выполнения. Общий обзор подходов к моделированию, основанный на использовании веб-узлов и базирующийся на характерные примеры, дан в работе P. Lorenz, Н. Dorwarth, К. С. Ritter, Т. J. Schriber [80]. В качестве альтернативы или возможного пути реализации распределенного подхода рассматривается и объектно-ориентированное моделирование. Заметим, что фактически история ООП берет , свое начало именно из задач имитационного моделирования и инструмента, предназначенного для их решения (SIMULA, начало 60-х годов прошлого века). В качестве источников, в которых рассмотрены вопросы объектно-ориентированного моделирования, отметим J. A. Levasseur [79] и D. W. Jones, S. D. Roberts [75].

Методы исследования.

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

Научная новизна.

1. Предложена оригинальная объектно-ориентированная модель дискретно-событийного метода имитационного моделирования, основанная на принципах повторного использования дизайна.

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

Практическая значимость.

Практическая значимость работы, по мнению автора, заключается в следующем:

1. Разработан программный комплекс имитационного моделирования СМО ObjectSim, позволяющий без изучения синтаксиса конкретного, специализированного языка имитационного моделирования строить имитационные модели, комби-I нируя визуальные компоненты с написанием собственных обработчиков для различных событий. При этом в качестве средства написания обработчиков может быть использован любой из четырех языков - PascalScript, С-н-Script, BasicScript и JavaScript. Принципы повторного использования, в соответствии с которыми разрабатывался комплекс, допускают расширение приведенного перечня языков.

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

Внедрение результатов работы.

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

Комплекс ObjectSim используется в учебном процессе на факультете информатики Томского государственного университета при проведении практических занятий по имитационному моделированию систем массового обслуживания по специальности 35.15.00 "Математическое обеспечение и администрирование информационных систем".

На защиту автором выносятся следующие основные положения.

1. Способ описания графов событий имитационной модели систем массового обслуживания в нотации UML.

2. Объектно-ориентированная модель дискретно-событийного метода имитационного моделирования.

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

Апробация работы и публикации.

Основные результаты диссертационной работы докладывались и обсуждались на следующих конференциях.

VII Межрегиональной научно-практической конференции "Научное творчество молодежи" (Анжеро-Судженск, 2003).

Всероссийской конференции "Наука и практика: Диалоги нового века" (Анжеро-Судженск, 2003).

VIII Всероссийской научно-практической конференции "Научное творчество k молодежи" (Анжеро-Судженск, 2004).

8-th Korea-Russia International Symposium on Science and Technology. Information Technology (Tomsk Polytechnic University, 2004).

II Всероссийской научно-практической конференции "Имитационное моделирование. Теория и практика" (Санкт-Петербург, 2005).

По результатам диссертационной работы опубликовано 7 печатных работ [17-20], [37-38], [89].

Структура диссертации.

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

В первой главе приводится обзор наиболее популярных систем и пакетов имитационного моделирования - от классических GPSS и SIMULA до современных отечественных и зарубежных разработок, отмечены их достоинства и недостатки. Материалы данной главы представлены также в работе [18] автора.

Во второй главе выдвинуты основные требования, предъявляемые к разрабатываемому программному комплексу, дается описание концептуальной и логической модели системы, а также обоснование различных проектных решений, принятых в ходе программной реализации. Приведенные диаграммы вариантов использования дают представление об основных возможностях комплекса; для отражения программной логики также приводятся диаграммы и описание взаимодействия классов и назначения операций. Рассмотренные в этой главе вопросы нашли отражение в работах автора [17,19,37, 89].

В третьей главе дано описание компонентов, используемых для построения к моделей систем массового обслуживания, продемонстрированы возможности написания для них собственных скриптов при наступлении тех или иных событий. В данной главе также рассматриваются подходы к реализации различных вариантов процессов поступления и обслуживания заявок. Отдельное внимание уделено получению и представлению результатов моделирования, а также использованию графической процедуры Велча [98] для определения длительности переходных процессов с целью более точной оценки установившихся средних. Материалы данной ► главы опубликованы в работах автора [20,38].

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

Благодарности.

Автор глубоко признателен своему научному руководителю, д.ф.-м.н., доt центу Олегу Алексеевичу Змееву, всесторонняя помощь и поддержка которого ощущалась на всех этапах работы. Особую благодарность хочется выразить также своим учителям, к.ф.-м.н., профессору Борису Афанасьевичу Гладких и д.т.н., профессору Сергею Петровичу Сущенко за консультации по вопросам имитационного моделирования. Я также благодарен профессору, д.ф.-м.н. Александру Федоровичу Терпугову и профессору кафедры математической статистики, д.т.н. Анатолию Андреевичу Назарову за математическую подготовку. Благодарю также студентов факультета информатики ТГУ, которые работали с программной системой ObjectSim, за их конструктивные замечания и предложения по ее улучшению.

Заключение диссертация на тему "Разработка программного комплекса имитационного моделирования СМО на основе объектно-ориентированной модели дискретно-событийного метода"

4.4. ВЫВОДЫ

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

2. Моделирование трехзвенного виртуального канала в режиме полной загрузки показало, что увеличение буферной емкости в транзитных узлах иногда повышает пропускную способность, причем такое повышение наблюдается в случае нечетного числа буферов (3, 5, 7, затем четность уже не имеет особого значения). Однако в силу того, что источники всегда имеют пакеты для отправки, увеличение емкости накопителей приводит также и к росту средней сквозной задержки, поэтому оптимальным значением следует признать размер буферной памяти, равный 3.

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

ЗАКЛЮЧЕНИЕ

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

В качестве средства реализации поставленной проблемы было решено использовать библиотеку скриптов FastScript. Данный подход позволил записывать собственные события на одном из четырех универсальных языков: PascalScript, C++Script, BasicScript, JavaScript. Кроме того, при разработке архитектуры автор работы стремился соответствовать принципам повторного использования дизайна, в этих целях широко использовались шаблоны проектирования. Их применение позволило создать такую архитектуру, при которой легко добавлять новые классы и алгоритмы поведения (новые законы распределения, новые дисциплины выбора требований из очереди и т.п.), не вдаваясь в реализацию уже разработанных классов. В результате стало возможным использовать не только универсальный язык программирования, но и реализовать собственный внутренний язык.

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

Особое внимание было уделено представлению результатов моделирования. С этой точки зрения каждый выходной процесс характеризуется с нескольких позиций. Во-первых, предоставляется текстовая информация и график изменения слу-s чайной величины по результатам последней реализации. При этом аргументом графиков может быть не только время, но и, например, номер заявки. Во-вторых, рассчитываются агрегированные показатели, такие как мат. ожидание, дисперсия, доверительные интервалы и автокорреляция. Разработчик модели также может создавать собственные статистики и управлять их изменением самостоятельно. Для определения момента перехода системы в стационарный режим использована графическая процедура Велча. Установив время этого перехода, разработчик модели получает более точные оценки установившихся показателей. Кроме этого, разработанный комплекс поддерживает возможность проведения однофакторных и много-факгорных экспериментов, позволяющих оценить, каким образом факторы и их комбинации влияют на отклики.

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

Библиография Приступа, Андрей Викторович, диссертация по теме Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

1. Андрианов А.Н., Бычков СЛ., Хорошилов Д.И. Программирование на языке Симула-67. - М.: Наука, 1985. - 228с.

2. Багриновский К.А., Егорова Н.Е. Имитационные системы в планировании экономических объектов. М.: Наука, 1980. - 238с.

3. Беркович В. Чудин А. Практика применения паттернов проектирования // RSDN Magazine. 2003. - №3.

4. Борщев А.В. От системной динамики и традиционного ИМ к практическим агентным моделям: причины, технология, инструменты электронный ресурс, PDF 700Kb].

5. Режим доступа: http://xitek.com/files/papers/fromsdtoabmru.pdf, свободный.

6. Боев Д.В. Моделирование систем. Инструментальные средства GPSS World: Учеб. Пособие. СПб.: БХВ-Петербург, 2004. - 368с.

7. Буч Г., Рамбо Д., Джекобсон А. Язык UML. Руководство пользователя. М.: ДМК, 2000.-432с.

8. Вадзинский Р.Н. Справочник по вероятностным распределениям. СПб.: Наука, 2001.-295с.

9. Влиссидес Дж. Применение шаблонов проектирования. Дополнительные штрихи.: Пер. с англ. М.: Издательский дом "Вильяме", 2003. - 144с.

10. Гамма Э., Хели Р., Джонсон Р., Влиссидес Дж. Приемы объектно-ориентированного проектирования. Паттерны проектирования. СПб.: Питер, 2001.-368с.

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

12. Гнеденко Б.В. Курс теории вероятностей. М.: Наука, 1969. - 400с.

13. Дал У.И., Мюрхаут Б., Нюгорд К. Симула-67. Универсальный язык программирования. М.: Мир, 1969. - 99с.

14. Девятков В.В. Практическое применение имитационного моделирования в России и странах СНГ: обзор, анализ перспектив // Материалы I Всероссийской научно-практической конференции ИММОД 2003. Санкт-Петербург, 23-24 окт. 2003.

15. Дикке B.C. Эмуляция языка имитационного моделирования Симула-67 библиотекой классов языка С++. Томск: Томск, гос. ун-т. Факультет информатики, 2002.- 77с.

16. Змеев О.А., Лезарев А.В. Шаблон объектного проектирования для реализации функциональности процесса моделирования в имитационных моделях систем массового обслуживания // Вестник Томского государственного университета. 2002. - № 275. - с. 108-111.

17. Змеев О.А., Приступа А.В. Классификация коммерческих систем имитационного моделирования // Материалы Всероссийской конференции "Наука и практика: Диалоги нового века". Анжеро-Судженск, 14 ноября 2003г. -Часть 3.-С.93-95.

18. Змеев О.А., Приступа А.В. Разработка объектно-ориентированного программного комплекса имитационного моделирования систем массового обслуживания // Вестник Томского государственного университета. 2004. -№284.-с. 181-184.

19. Емельянов А.А., Власова Е.А., Дума Р.В. Имитационное моделирование эко-V номических процессов: Учеб. пособие. М.: Финансы и статистика, 2002.

20. Ивановский В.Б. О свойствах выходных потоков в дискретных системах массового обслуживания // Автоматика и телемеханика. 1984. -№11.- с.32-39.

21. Киндлер Е. Языки моделирования. Пер. с чешского. М.: Энергоатомиздат, 1985.-288с.

22. Клейнрок JI. Теория массового обслуживания. М.: Машиностроение, 1979. -432с.f 25. Кнут Д. Искусство программирования для ЭВМ. Т. 2, 3-е изд. М.: Изд. дом1. Вильяме", 2000.-400с.

23. Королев А.Г. Сравнение команд и блоков GPSS World и Object GPSS электронный ресурс]. Режим доступа: http://gpss.ru/paper/korolev/indexw.html, свободный.

24. Конюх B.JL, Игнатьев Я.Б., Зиновьев В.В. Методы имитационного моделирования дискретных систем электронный ресурс], Кемеровский научный центр СО РАН 2003. 1 электрон, опт. диск (CD-ROM).с

25. Ладенко И.С. Имитационные системы (методология исследований и проектирования) Иск: Наука, 1981.-301с.

26. Ларман К. Применение UML и шаблонов проектирования. Введение в объектно-ориентированный анализ и проектирование. М.: Вильяме, 2001. -496с.

27. Лоу А.М., Кельтон В.Д. Имитационное моделирование. Классика CS 3-е изд. СПб.: Питер; Киев: Издательская группа BHV, 2004. - 847с.

28. Маклаков С. Имитационное моделирование с Arena // КомпьютерПресс. -й 2001.-№7.

29. Максимей И.В. Имитационное моделирование на ЭВМ. М.: Радио и связь, 1988.-232с.

30. Назаров А.А., Терпугов А.Ф. Теория массового обслуживания: Учебное пособие. Томск: Изд-во НТЛ. 2004. - 228с.

31. Нейлор Т.Х. Имитационные эксперименты с моделями экономических систем.-М.: Мир, 1975.-500с.

32. Новиков О.А., Петухов С.И. Прикладные вопросы теории массового обслу9 живания. М.: Сов. Радио, 1969. - 400с.

33. Ослин Б.Г. Имитационное моделирование систем массового обслуживания. -Томск.: Изд-во ТПУ, 2003. 106с.

34. Приступа А.В. Имитационное моделирование систем массового обслуживания. Шаг моделирования // Материалы VII Межрегиональной научно-практической конференции "Научное творчество молодежи". Анжеро-Судженск, 18 апреля 2003г. - Часть 2. - с.39-40.

35. Прицкер А. Введение в имитационное моделирование и язык SLAM И. М.: Мир, 1987.-418с.

36. Романцев В.В., Яковлев С.А. Моделирование систем массового обслуживания. СПб.: Поликом, 1995.i'

37. Руководство по FastScript 1.9 электронный ресурс, PDF 430КЬ]. Режим доступа: http://www.fast-report.com/pbc download/fs ru.pdf, свободный.

38. Рыжиков Ю.И. Имитационное моделирование. Теория и технологии. М.: Альтекс-А, 2004. - 3 84с.

39. Рыжиков Ю.И. Опыт тестирования GPSS WORLD // Материалы I Всероссийской научно-практической конференции ИММОД-2003. Санкт-Петербург, 23-24 октября 2003г.

40. Рыжиков Ю.И., Плотников A.M. Вторая всероссийская научно-практическаяконференция ИММОД-2005. Аналитический обзор электронный ресурс, PDF 301Kb. Реж. доступа: http://gpss.ru/paper/analit05immod.pdf. свободный.

41. Рыжиков Ю.И. Теория очередей и управление запасами. СПб.: Питер, 2001. -376с.

42. Саати Т. Элементы теории массового обслуживания и ее приложения. М.: Сов. радио, 1970.-377с.

43. Советов Б.Я., Яковлев С.А. Моделирование систем М.: Высш. шк., 1998.

44. Советов Б.Я., Яковлев С.А. Моделирование систем. Практикум: Учеб. пособие для вузов. 2-е изд., перераб. и доп. - М.: Высш. шк., 2003. - 295с.

45. Сущенко С.П. Оптимизация операционных характеристик сети передачиданных с коммутацией пакетов: Диссдокг. тех. наук. Томск: Томск, гос.ун-т. 1998.-261с.

46. Томашевский В.Н., Богушевская Н.В. Интерактивная система имитационного моделирования ISS2000 // Материалы I Всероссийской научно-практической конференции ИММОД 2003. Санкт-Петербург, 23 окт. 2003г.

47. Томашевский В.Н., Жданова Е.Г. Имитационное моделирование в среде

48. GPSS. М.: Бестселлер, 2003. - 416с.

49. Фаулер М. Архитеюура корпоративных программных приложений.: Пер. с англ. М.: Издательский дом "Вильяме", 2004. - 544с.

50. Хахулин Г.Ф. Основы конструирования имитационных моделей.: Учебное пособие. 2-е изд. доп. и исправ. М.: НПК "Поток", 2002. - 221с.

51. Шаллоуей А., Тротт Д. Шаблоны проектирования. Новый подход к объектно-ориентированному анализу и проектированию. М.: "Вильяме", 2002. 288с.

52. Шрайбер Т.Д. Моделирование на GPSS. М.: Машиностроение, 1980. 592с.

53. Шеннон Р.Дж. Имитационное моделирование систем искусство и наука. М.: Мир, 1978.-418с.

54. Шмидт Б. Введение в имитационную систему Simplex3 электронный ресурс], Copyright CSC-Европа BVBA. -1 электрон, опт. диск [CD-ROM].

55. Шмидт Б. Искусство моделирования и имитации. Пер. с нем. Ивашкин Ю.А., Конюх B.JI. М.: Франтэра, 2003. 550с.р 59. Armstrong R.H., Taylor J.L, Instructional Simulation Systems in Higher Education, Cambridge Monographs on Teaching Methods, №2,1970.

56. Bagrodia R.L. Perils and Pitfalls of Parallel Discrete-Event Simulation, Proc. 1996 Winter Simulation Conference, Colorado, 8-11 December 1996, pp. 136-143.

57. Banks J, Carson J.S, Nelson B.L. Discrete-Event System Simulation, 2d ed., Prentice-Hall, Upper Saddle River, New Jersey, 1996, pp. 128-138.

58. Booch G. Object-Oriented Analysis and Design with Applications. Benja-min/Cummings, Redwood City, CA, 1994. Second Edition.

59. Borshchev A., Filippov A. AnyLogic Multi-Paradigm Simulation for Business, Engineering and Research electronic resource, PDF 1021Kb], Access Mode: free, http://www.xitek.com/files/papers/multiparadigmpresentationsimsol2004.pdf

60. Bowden R.O. The Spectrum of Simulation Software, IIE Solution, 30, May 1998, pp.44-46.

61. Buss A.H. Component Based Simulation Modeling. Proceedings of the 2000 Winter Simulation Conference, Orlando, 10-13 December 2000, pp. 243-249.

62. Chandrasekaran U., Sheppard S. Discrete Event Distributed Simulation A Survey, Proc. Conference on Methodology and Validation, Orlando, pp. 32-37.

63. Diaz-Calderon A., Paredis C., Khosla P. Organization and Selection of Recon-figurable Models, Proc. 2000 Winter Simulation Conference, Orlando, 10-13 December 2000, pp. 386-393.

64. Fishwick P.A. Web-Based Simulation, Proc. 1997 Winter Simulation Conference, Atlanta, 7-10 December 1997, pp. 100-102.

65. Fishwick P.A. Web-Based Simulation: Some Personal Observations, Proc. 1996 Winter Simulation Conference, Colorado, 8-11 December 1996, pp. 772-779.

66. Fujimoto R.M. Parallel and Distributed Simulation, in Handbook of Simulation, J. Banks, ed., John Wiley, New York, 1998.

67. Gordon G. The Application of GPSS V to Discrete Event Simulation. Prentice-Hall, Englewood Cliffs, N. J, 1975.

68. Gupta U.G. Using Citation Analysis to Explore the Intellectual Base, Knowledge Dissemination, and Research Impact of Interfaces (1970-1992), Interfaces, 27, 1997, pp. 85-101.

69. Heidelberger P. Discrete Event Simulations and Parallel processing: Statistical Properties, SIAM J. Statist. Comput., 9,1988, pp. 1114-1132.

70. Jacobson I., Christerson M., Jonsson P., Overgaard G. Object-Oriented Software Engineering A Use Case Driven Approach. Addison-Wesley, Wokingham, England, 1992.

71. Jones D.W., Roberts S.D. Object-Oriented Simulation. Handbook of Simulation, J. Banks ed., John Wiley, New York, 1998.

72. Krahl D. Extend: an Interactive Simulation Tool, Proceedings of the 2003 Winter Г Simulation Conference, New Orleans, 7-10 December 2003, pp. 88-196.

73. Krahl D. The Extend Simulation Environment, Proceedings of the 2002 Winter Simulation Conference, San Diego, 8-11 December 2002, pp. 648-652.

74. Law A.M. Designing and Analyzing Simulation Experiments, Industrial Engineering, March 1991, pp. 20-23.

75. Levasseur J.A. The Case for Object-Oriented Solution, OR/MS Today August 23, 1996, pp. 65-67.

76. Lorenz P., Dorwarth H., Ritter K.C., Schriber T.J. Towards a Web Based Simulation Environment, Proc. 1997 Winter Simulation Conference, Atlanta, 7-10 December 1997, pp. 1338-1344.

77. Marti J. Object-Oriented Modeling and Simulation with MODSIM III, CACI Products Company, La Jolla, California, 1999.

78. Matsumoto M., Nishimura T. Mersenne Twister: A 623-dimensionally Equidis-tributed Uniform Pseudorandom Number Generator, ACM Trans, on Modeling and Computer Simulations, 1998.

79. Meir R.C. et al., Simulation in Business and Economics, Prentice-Hall, Inc., Englewood Cliffs, N. J., 1969.

80. Misra J. Distributed Discrete-Event Simulation, Computing Surveys, 18, pp. 3965,1986.

81. Naylor Т.Н., Vernon J.M. Microeconomics and Decision Models of the Firm, Har-court Brace Jovanovich, Inc., New York, 1970.

82. Nicol D.M. Principles of Conservative Parallel Simulation, Proc. 1996 Winter ( Simulation Conference, Colorado, 8-11 December 1996, pp. 128-135.

83. Paul R., Taylor S. What Use is Model Reuse: Is There a Crook at the End of Rainbow, Proceedings of the 2002 Winter Simulation Conference, San Diego, 8-11 December 2002, pp. 648-652.

84. Pidd M. Simulation Software and Model Reuse: a Polemic, Proc. 2002 Winter Simulation Conference, San Diego, 8-11 December 2002, pp. 772-775.

85. Pristupa A.V., Zmeyev O.A. Design Patterns in Discrete-Event Simulation, 8th t Korea-Russia International Symposium on Science and Technology KORUS 2004,

86. Tomsk, RUSSIA, June 26 July 3,2004, Vol. 1. pp. 141-144.

87. Rice S.V., Maqanski A. The Simscript III Programming Language for Modular Object-Oriented Simulation, Proc. 2005 Winter Simulation Conference, Orlando, 4-7 December 2005, pp. 621-630.

88. Schriber T.J., Brunner D.T. Inside Discrete-Event Simulation Software: How it Works and Why it Matters, Proc. 2004 Winter Simulation Conference, Washington, 5-8 December 2004, pp. 159-165.

89. Schruben L.W. Simulation Modeling with event Graphs. Commun. Assoc. Com-put. Mach., 26,1983, pp. 957-963.

90. Schruben L.W., Roeder T.M., Chan W.K. Advanced Event Sheduling Methodology, Proceedings of the 2003 Winter Simulation Conference, New Orleans, 7-10 December 2003, pp. 159-165.

91. Simulation Using Arena, Chapter 8 electronic resource]. Access Mode: free, http://minitorn.tpu.ee/~iaagup/uk/ds/chp8/c8-00.htm