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

кандидата технических наук
Черненко, Виталий Евгеньевич
город
Ульяновск
год
2010
специальность ВАК РФ
05.13.18
цена
450 рублей
Диссертация по информатике, вычислительной технике и управлению на тему «Низкоуровневое имитационное моделирование транспортных систем»

Автореферат диссертации по теме "Низкоуровневое имитационное моделирование транспортных систем"

004616302

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

Черненко Виталий Евгеньевич

НИЗКОУРОВНЕВОЕ ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ ТРАНСПОРТНЫХ СИСТЕМ

Специальность 05.13.18 - математическое моделирование, численные методы и

комплексы программ

АВТОРЕФЕРАТ

диссертации на соискание ученой степени кандидата технических наук

Ульяновск - 2010

-2 ДЕН 2010

004616302

Работа выполнена на кафедре информационных технологий в Государственном образовательном учреждении высшего профессионального образования Ульяновский государственный университет

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

Кумунжиев Константин Васильевич

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

Варнаков Валерий Валентинович

кандидат технических наук, доцент Капитанчук Василий Вячеславович

Ведущая организация: ГОУ ВПО Ульяновский государственный

технический университет

Защита диссертации состоится «23> декабря 2010 г. в 13:00 на заседании диссертационного совета Д 212.278.02 при Ульяновском государственном университете по адресу: г Ульяновск, Набережная реки Свияги, 106, корп. 1, ауд. 703.

С диссертацией можно ознакомиться в библиотеке Ульяновского государственного университета, с авторефератом - на сайте ВУЗа http://www.uni.ulsu.ru.

Отзывы на автореферат просим присылать по адресу: 432000, г. Ульяновск, ул. Л.Толстого, д. 42, УлГУ, Управление научных исследований.

Автореферат разослан «20» ноября 2010 г.

Ученый секретарь диссертационного совета

/

Волков М.А.

Общая характеристика работы

Актуальность исследования

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

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

Использование систем общего назначения предоставляет разработчикам больше возможностей, однако обладает рядом ограничений:

• моделирование (например, в RePast, Simio) предполагает более глубокую декомпозицию моделируемого объекта, сведение его элементов и подсистем к сущностям используемого в инструменте языка моделирования, что мешает построить модель без привлечения специалистов по ИМ;

• инструменты не содержат конструкционных элементов, необходимых для моделирования транспортных систем, из-за чего, например, в TransportLibrary AnyLogic 5 необходимо явно указывать траектории движения агентов.

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

• прикладные разработчики ограничены стандартным набором композиционных элементов (например, в Sidralntersection), расширение которого трудоемко и предполагает обращение к разработчикам инструмента;

• невозможно исследовать ТС в составе моделей других организационно-технических систем;

1 Yafeng Yin, Henry X. Liu, Jorge A. Laval, Xiao-Yun Lu, Meng Li, Josliua Pilachowski, Wei-Bin Zhang Development of an Integrated Microscopic Traffic Simulation and Signal Timing Optimization Tool / University of California, Berkeley, 2007

2 ZOU Zhi-jun, YANG Dong-yuan An Object-oriented Development of Urban Traffic Simulation Laboratory System / Journal of system simulation, vol. 14, no. 7, 2002, pp. 844-848

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

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

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

Объектом исследования в данной работе является система низкоуровневого имитационного моделирования ТС и её язык.

Предметом исследования является внутренняя структура транспортных систем, формальное описание языка и архитектура программного комплекса для низкоуровневого моделирования ТС.

Цель и задачи работы

Целью работы является расширение сферы применения моделирования транспортных систем за счет создания проблемно-ориентированного средства на основе средства моделирования общего назначения.

Для достижения поставленной цели в работе решены следующие задачи:

• Разработана структура системы низкоуровневого имитационного моделирования ТС.

• Проведена декомпозиция предметной области «транспортные системы», выявлены её особенности с точки зрения структуры имитационных моделей.

• Создан язык моделирования транспортных систем.

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

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

В ходе исследования применялись методы системного анализа, имитационного моделирования и теории графов. При программной реализации

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

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

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

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

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

• Метод декомпозиции транспортных систем, ориентированный на имитационное моделирование и позволивший систематизировать множество объектов транспортной инфраструктуры.

• Язык моделирования и численные методы анализа структуры моделей транспортных систем.

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

Достоверность результатов

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

Теоретическая и практическая значимость

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

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

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

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

Основные результаты исследования были апробированы на конференциях:

• VII Международной конференции «Математическое моделирование физических, экономических, технических систем и процессов», Ульяновск, УлГУ, 2009;

• Interactive Systems and Technologies: the Problems of Human-Computer Interaction, Ulyanovsk, ULSTU, 2009;

• Четвертая всероссийская научно-практическая конференция по имитационному моделированию и его применению в науке и промышленности (ИММОД-2009), Санкт-Петербург, 2009;

• Всероссийская конференция «Проведение научных исследований в области обработки, хранения, передачи и защиты информации» (ОИ-2009), Ульяновск, УлГТУ, 2009;

• Winter Simulation Conference (Ph. D. Colloquium), Austin, TX, USA, 2009;

• Информатика, моделирование, автоматизация проектирования. (ИМАП-2010), Ульяновск, 2010.

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

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

Публикации

Материалы диссертации опубликованы в 11 работах, из них 2 - в изданиях, рекомендуемых ВАК. Список публикаций приведен в конце автореферата.

Структура и объем диссертации

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

Содержание работы

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

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

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

В современных средах моделирования наблюдаются две противоположные тенденции развития языков:

• стремление к наиболее обобщенному заданию математических и логических формализмов и, соответственно, к унификации процесса разработки моделей;

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

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

В настоящее время существуют несколько средств низкоуровневого моделирования транспортных систем:

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

3 htto://www.vissim.de/

• Transmodeler4 - разработка фирмы Caliper (США). Позволяет интегрировать модели транспортных систем с данными геоинформационных систем и предназначена в основном для моделирования движения по шоссе и сложным развязкам. Ориентирована на особенности дорожного движения в США.

• SIDRA Intersection5 - разработка фирмы SidraSolutions (Австралия). Позволяет моделировать поведение участников дорожного движения на перекрестках и прилегающих к ним территориях, обладает мощными средствами сбора и анализа статистики состояния модели.

• Transport Library AnyLogic 5 - разработка отечественной компании Экс Джей Текнолоджис. Главной особенностью является возможность сочетать модели транспортной системы с другими имитационными моделями. Обладает богатыми возможностями настройки анимации.

Моделирование в VISSIM и Transmodeler предоставляет широкий набор возможностей, но часто является неоправданно сложным и недоступным специалистам в предметной области, так как предполагает глубокое знание технологий имитационного моделирования, В TransportLibrary AnyLogic 5 необходимо детально указывать возможные траектории движения агентов, что делает невозможным, например, адекватно моделировать перестроения агентов при движении по многополосному участку дороги. Некоторые (SIDRA Intersection и другие) средства позволяют моделировать только отдельные типы объектов транспортной инфраструктуры.

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

• простота создания моделей для специалистов предметной области;

• расширяемость моделей, предоставление возможности инженерам-программистам дополнять набор средств разработки моделей;

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

Во второй главе предлагается структура системы и описываются сценарии ее использования.

В качестве основы системы была выбрана среда моделирования AnyLogic 6. Выбор обусловлен наличием в ней следующих возможностей:

• богатый набор инструментов для визуализации моделей;

4 http://www.caliper.com/transmodeler/

3 http:frwww.sidrasolutions.com/

• возможность проводить эксперименты типа «что-если?» и оптимизационные эксперименты по подбору параметров;

• обеспечение расширяемости за счет добавления новых модулей в подключаемых библиотеках;

• широкие возможности по обмену данными с внешними приложениями, такими как MS Excel и базами данных.

Структура системы моделирования ТС показана на рисунке 1.

Исполняющая среда Arty Logic 6

Система моделирования транспорта

Графический конструктор

Модуль синтаксической

Разработчики моделей -специалисты предметной области

Среда разработки AnyLogic 6

Исполняющий модуль

Программисты -специалисты по ИМ

8

Рисунок 1. Структура системы моделирования ТС

Предложено реализовать основную часть системы как отдельное 1ауа-приложение, выполняемое на основе имитационной среды АпуЬо£Ю. Имитационная среда АпуЬоцк, согласно предложенной структуре, является ядром всей системы: она предоставляет базовую функциональность по исполнению имитационной модели.

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

Рисунок 2. Схема процесса взаимодействия пользователя с системой

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

Графический конструктор содержит модуль проверки синтаксиса разрабатываемых моделей, который указывает на синтаксические ошибки,

возникающие в ходе разработки модели. Запуск моделирования возможен только при условии отсутствия ошибок.

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

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

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

В режиме исполнения модели отображается анимация, представляющая собой двухмерный план моделируемой системы с движущимися по ней транспортными средствами (рисунок 3).

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

Такое взаимодействие, схематично изображенное на рисунке 4, предусмотрено на уровне структуры созданной среды.

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

•5» • »У %1 <» ОС ■ 1«еЛ949йс

.....................

ф: 5корМо:1е

.

Щ,

- г ,

деатенуОЬэа&Укиайзег

....,.,■.....• ,■ -т.,..-.., у-, I.*®' ;■ '0-"1

Ж

%

* ■ *

ч >

3 деЮгэл1п

Т5Гг!-СЗ№ С0Ш1

го

^__,

/

юо

яК

Яр

' ШЛИ: •

Ь ♦ „ Я» ^ «■

• ™ ют от, - -*

I

V :

Л.....1..„Н «•

-

•■¿Г-^т-г-^!.

11:::: -1

:

Прагой: 1 Пауза | Время: 133.63 ! Прогон: Вэеия остановки не задано

. ' . ш-

| П Г.'|1,1!'.ПМ | память:^ ;1 Щ ! зэ.зсж

Рисунок 3. Внешний вид анимации эксперимента

Моделирование транспортной системы

Л

нестандартный транспортный узел

Программисты -специалисты по ИМ

Рисунок 4. Схема взаимодействия исследователей и специалистов по ИМ

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

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

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

• Учет мелкого масштаба моделирования, необходимости рассматривать поведение отдельных участников движения и геометрию участков дороги.

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

На основании этих положений предложены принципы структурной декомпозиции транспортных систем для мелкомасштабного агентного имитационного моделирования:

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

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

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

Тип Типичные представители Основные алгоритмы поведения участников движения

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

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

Сложный объект заправочная станция, парковка, банк или магазин типа «drive in» остановка на заданное время на определенном месте, маневрирование на низкой скорости, ожидание в очереди, приоритетный разъезд

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

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

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

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

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

■ „ - - (им» Г"-"*."' *' Основные Участок дороги Пересечение

Элементы Сложный объект

Дополнительные - Граница участка

Правила Соответствие границ в точке соединения

композиции .^и" *■ т' и *. • . - Дополнительные правила в виде грамматики

Рисунок 5. Структура реализованного языка моделирования

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

в

А Б В

Рисунок 6. Визуальное представление элементов языка

Модель состоит из множества конструкционных элементов

М = {Ег.....£•„}.

Конструкционные элементы могут принадлежать к любому из трех типов, однако, они предназначены для функционирования в единой структуре модели, поэтому целесообразно хранить как можно больше информации в базовом классе Сопз^исйопЕ^теп!:. Такая необходимость требует обобщения структуры всех элементов.

Каждому элементу модели Е[ соответствует граф

= м = №.....= .....Я?}срЪ,

также каждому элементу модели сопоставлено V] с7,, то есть подмножество внешних вершин графа элемента. Внешние вершины предназначены для соединения элементов. Каждая внешняя вершина

г, г *л Г 0, ,если V? ^

характеризуется дескриптором вида и (У? ) = ) „ , . Тогда в

у у 41 е ЛР , если V* е V*

случае если все элементы корректно соединены, то есть VI, к'. ^

0 у, V* = граф транспортной системы получается путем объединения

графов всех элементов, а именно:

N N

*=<!> I)

1=1 ¿=1

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

• хранить минимум информации о модели, полностью отделив существенные данные от визуального представления;

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

Способом композиции элементов в разработанном языке является их соединение. Каждый элемент имеет специальные точки соединения. Точка соединения характеризуется координатой Т и углом направления а. Формулы (1) определяют условия соединения двух элементов (рисунок 7 А).

Х=т2

(1)

пх=т2 т, =пг

Где Т|, Т2 - точки соединения элементов Е] и Е2, аь а2 - углы направления соединения точек Т| и Тя, пь п2 - количество входящих полос движения

элементов Е] и Е2, шь гп2 - количество исходящих полос движения элементов Е| ■ и Ег-

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

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

• определить зависимый и независимый элементы;

• поднести путем перетаскивания зависимый элемент таким образом, чтобы его свободный порт оказался на расстоянии не более 20 пикселей от свободного порта независимого элемента;

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

Рисунок 7 (Б, В) иллюстрирует положение двух объектов до и после операции соединения.

¡¡Ш

А В

Рисунок 7. Соединение двух конструкционных элементов

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

Эти дополнительные правила удобно определять с помощью графовых грамматик. Графовая грамматика может быть представлена множеством продукций вида Р,: в -> О*, где 1 - номер продукции, а в и в* - графы в левой и правой ей частях. Для конструкций разработанного языка были созданы 8 продукций, показанных в таблице 2. Причем, 8, А, В, Я - нетерминальные символы, Е, Я*, С — терминальные. Продукция номер 8 содержит специальный элемент, необходимый вследствие того, что анализируемые графы могут содержать циклы. Элемент в правой части этой продукции означает полностью разобранный подграф.

Таблица 2. Схема конечного автомата анализа конструкций языка

№ Продукция № Продукция

в

1 Б —* Е А 5 А нэ —©- с * в -©-1 В

2 И Я* —О 6 [В [о —» Е -о

3 ©- И —» ©- И* И 7 и* — А

4 Т В 8 И43 \/ -о

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

анализируемый подграф согласно одной из схем 1-8. Работа конечного автомата описывается алгоритмом (листинг 1).

системаПродукций = {продукция! = {исходныйГраф! -> множествоПодграфов!} , i=1..8); помеченныеУзлыГрафа — 0; терминальные Символы = { Е, R* , С}; символПомеченного Элемент а = X;

function синтаксическийАнализ (аналиЗируемыйПодграф) begin for each терминальныйСимвол in терминальныеСимволы do begin if (соответствуетСхеме (аналиЗируемыйПодграф, терминальньшСимвол) ) then begin помеченныеУЗлыГрафа = помеченныеУзлыГрафа U анализирУемыйПодграф. узлы (0) ; return true; end end

if ( соответствуетСхеме (аналиЗируемыйПодграф, символПомеченногоЭлемента) and энализируемыйПодграф . уЗлы (0) помеченныеУЗлыГрафа ) then begin return true; end

for each продукция in системаПродукций do begin if (соответствуетСхеме (аналиЗируемыйПодграф, продукция)) then begin миожествоПодграфов = разделитьНаПодграфы(анализируемыйПодграф, продукция); for each подграф in множествоПодграфов do begin

if (not (синтаксическийАнализ (подграф) ) ) then return false; end

return true;

end

end

return false; end

Листинг 1. Алгоритм работы конечного автомата синтаксического анализа

конструкций языка

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

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

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

* [В)

Рисунок 8. Построение графа фрагмента транспортной системы

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

« отсутствие возможности наследования графических элементов активными

объектами АпуЬо§ю; ® выполнение отрисовки элементов презентации АпуЬо§ю в недоступном для

разработчика потоке; • отсутствие возможности обрабатывать сложный пользовательский ввод.

ConstructionElemenî

-point rotation -markers -connection Ports

Marker

owner offest type

ConnéctionPort

■owner ■offset ■type ■direction ■connected Ports

Рисунок 9. Диаграмма классов графического конструктора

Конструктор состоит из активных объектов AnyLogic и дополнительных дескрипторов, реализованных в виде Java классов. Диаграмма классов созданного графического конструктора в нотации UML приведена на рисунке 9.

Программная реализация графического конструктора обладает следующими особенностями:

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

• существенные данные, описывающие состояния конструкционных элементов, были отделены от презентационных данных, все действия по отрисовке элементов языка были вынесены в функцию, выполняемую в отдельном потоке;

• диспетчеризация событий пользовательского ввода была перенесена на уровень обобщенного конструкционного элемента (класс СошШ^юпЕктепО, что упростило расширение системы новыми элементами языка;

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

Для обработки событий пользовательского ввода была разработана библиотека АпуЬо§к. Необходимость ее разработки обусловлена отсутствием поддержки многих функций пользовательского ввода, высокой вероятностью необходимости одних и тех же функций в разных проектах и, следовательно, возможностью повторного использования.

Библиотека, получившая название 1приШх1епзюп1лЬгагу, содержит два класса активных объектов:

• класс «КеуЬоагс1Мапа§ег», который при добавлении на презентацию некоторого активного объекта АпуЬс^с позволяет обрабатывать события клавиатуры для презентации этого объекта;

• класс «МоиэеМаг^ег», снабжающий активные объекты АпуГ^к возможностью обработки событий мыши.

Библиотека «1при1Ех1епзюп1ЛЬгагу» реализована в виде подключаемой библиотеки АпуГ^к в соответствии с требованиями, выдвигаемыми производителями. Подключение библиотеки и её использование производится с помощью стандартных операций среды Апу1^к.

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

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

• Проведена декомпозиция предметной области «транспортные системы», ориентированная на имитационное моделирование и позволившая систематизировать множество объектов транспортной инфраструктуры.

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

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

Список публикаций по теме диссертации

Публикации в изданиях из списка ВАК

1. Малыханов A.A., Черненко В.Е. Среда низкоуровневого имитационного моделирования транспортных систем // Автоматизация в промышленности № 1-2010 -М., 2010-С. 34-37

2. Малыханов A.A., Черненко В.Е., Былина П.В. Оценка эффективности траекторий патрулирования акватории на основе имитационной модели // Автоматизация процессов управления, №2-2010 - Ульяновск - С. 31-33

Другие публикации

3. Черненко В.Е., Малыханов A.A. Библиотека геометрических объектов для AnyLogic 6 // Ученые записки УлГУ, серия Математика и информационные технологии - № 1 (2). - Ульяновск: УлГУ - 2009 - С. 179-181

4. Кумунжиев К.В., Малыханов A.A., Черненко В.Е. Разработка системы имитационного моделирования транспортных узлов // Ученые записки УлГУ, серия Математика и информационные технологии - вып. 1(2). -Ульяновск: УлГУ, 2009 - С. 108-110

5. Малыханов A.A., Черненко В.Е. Классификация агентных имитационных моделей // Труды VII Международной конференции «Математическое моделирование физических, экономических, технических систем и процессов» - Ульяновск: УлГУ - 2009 - С. 179-181

6. Черненко В.Е., Малыханов A.A. Алгоритм построения траектории движения агента в модели транспортной системы // Труды VII Международной конференции «Математическое моделирование физических, экономических, технических систем и процессов» -Ульяновск: УлГУ, 2009 - С. 279-280

7. А.А. Malykhanov, K.V. Kumunjiev, V.E. Chernenko. Modeling Driver Behavior for Microscopic Traffic Simulation // Interactive Systems and Technologies: the Problems of Human-Computer Interaction. Volume III. - Collection of scientific papres. - Ulyanovsk: ULSTU - 2009 - P. 402-407

8. Малыханов A.A., Кумунжиев K.B., Черненко B.E. Среда имитационного моделирования транспортных систем // Четвертая всероссийская научно-практическая конференция по имитационному моделированию и его применению в науке и промышленности (ИММОД-2009). - СПб.: ЦНИИТС -2009-С. 284-287

9. Черненко В.Е. Графический конструктор моделей транспортных систем // Труды всероссийской конференции «Проведение научных исследований в области обработки, хранения, передачи и защиты информации» (ОИ-2009) - Ульяновск: УлГТУ - 2009 - т. 1 - С. 180-185

10. A. A. Malykhanov, V. Е. Chernenko. Extensible Framework for Microscopic Traffic Simulation. Proceedings of the 2009 Winter Simulation Conference (Ph. D. Colloquium) - Austin, TX, USA - ISBN: 978-1-4244-5772-4

11. Черненко B.E., Малыханов А.А. Анализ зависимости пропускной способности регулируемого участка от длительности светофорных фаз. // Информатика, моделирование, автоматизация проектирования. Сборник научных трудов школы-семинара ИМАП-2010 - Ульяновск - 2010 - С. 524-

527

Подписано в печать 18.11.2010. Формат 60x84/16. Усл. печ. л. 1,0. Бумага книжно-журнальная. Гарнитура Times New Roman. Тираж 100 экз. Заказ № 1291650

Отпечатано с оригинал-макета в Издательском центре Ульяновского государственного университета 432000, г. Ульяновск, ул. Л. Толстого, 42

Оглавление автор диссертации — кандидата технических наук Черненко, Виталий Евгеньевич

Введение.

Актуальность исследования.

Цель и задачи работы.

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

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

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

Достоверность результатов.

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

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

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

Публикации.

Глава 1. Обзор средств моделирования трансопртных систем.

1.1. Имитационное моделирование транспортных систем.

1.1.1. Транспортные системы.

1.1.2. Язык моделирования.

1.2. Низкоуровневое моделирование транспортных систем.

1.3. Применение агентного моделирования.

1.4. Способы создания имитационных моделей транспортных систем.

1.5. Средства моделирования общего назначения.

1.5.1. Разработка моделей в среде ЯеРАЗТ.

1.5.2. Разработка моделей в АпуЬ

§ю 6.

1.6. Проблемно-ориентированные средства моделирования.

1.6.1. Разработка моделей в У1881М.

1.6.2. Разработка моделей с помощью ТгашрогИлЬгагу Апу1^ю 5.

1.7. Сравнение подходов к разработке моделей транспортных систем.

1.8. Выводы.

Глава 2. Архитектура системы моделирования ТС.

2.1. Обоснование выбора АпуЬ

§ю 6.

2.2. Структура системы.

2.3. Сценарий использования системы.

2.4. Графический конструктор моделей.

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

2.4.2. Конструирование модели в графическом конструкторе.

2.4.3. Задание светофоров и направлений движения по полосам.

2.4.4. Задание потоков.

2.4.5. Модуль синтаксической проверки.:.

2.5. Модуль калибровки.

2.6. Формирование среды обитания агентов.

2.7. Исполнение модели.

2.8. Результаты экспериментов.

2.9. Расширяемость системы.

2.10. Среда взаимодействия агентов.

2.10.1. Общая структура среды взаимодействия агентов.

2.10.2. Представление информации о дорожной сети в форме графа.

2.10.3. Информация о приоритетах агентов.

2.11. Выводы.

Глава 3. Графический язык моделирования транспортных систем.

3.1. Обоснование необходимости разработки языка.

3.2. Анализ предметной области.

3.3. Общая структура языка.

3.4. Элементы языка.

3.5. Правила композиции элементов языка.

3.5.1. Основное правило композиции элементов языка.

3.5.2. Дополнительные правила композиции.

3.6. Формальное описание конструкций языка.

3.7. Выводы.

Глава 4. Программная реализация.

4.1. Особенности программной среды АпуЬ

§ю.

4.1.1. Общая структура среды моделирования АпуЬ

§ю.

4.1.2. Активные объекты Апу!х^1с.

4.1.3. Исполняющий модуль Апу1^ю - обработка событий.

4.1.4. Презентация - визуализация моделей Апу1х^ю.

4.1.5. Эксперименты в АпуЬ

§ю.

4.1.6. Библиотеки АпуЬ

§1с.

4.1.7. Подключение внешних ]аг-файлов.

4.2. Особенности реализации, обусловленные программной средой.

4.3. Графический конструктор.

4.3.1. Реализация светофорного регулирования.

4.3.2. Реализация вспомогательных элементов конструктора.

4.3.3. Генерация программной среды обитания агентов.

4.4. Дополнительные возможности системы.

4.4.1. Сериализация модели.

4.4.2. Реализация отмены и повторения изменений.

4.4.3. Остановка в заданное время.

4.5. Библиотека пользовательского ввода.

4.5.1. Требования к библиотеке.

4.5.2. Классы библиотеки.

4.5.3. Использование библиотеки.

4.6. Выводы.

Основные результаты работы.

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

Актуальность исследования

Компьютерное моделирование становится распространенным средством анализа сложных систем. Современный рынок внедрения и сопровождения технологических систем часто требует разработки систем поддержки принятия стратегических и оперативных решений на основе имитационных моделей. Так, низкоуровневое имитационное моделирование (ИМ) все чаще применяется при принятии решений о проектировании и реорганизации транспортных систем[86](ТС).

Выделяют два подхода к разработке имитационных моделей транспортных систем: использование сред моделирования общего назначения и проблемно-ориентированных инструментов[87].

Использование систем общего назначения предоставляет разработчикам больше возможностей, однако обладает рядом ограничений:

• моделирование (например, в RePast, Simio) предполагает более глубокую декомпозицию моделируемого объекта, сведение его элементов и подсистем к сущностям используемого в инструменте языка моделирования, что мешает построить модель без привлечения специалистов по ИМ;

• инструменты не содержат конструкционных элементов, необходимых для моделирования транспортных систем, из-за чего, например, в TransportLibrary AnyLogic 5 необходимо явно указывать траектории движения агентов.

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

• прикладные разработчики ограничены стандартным набором композиционных элементов (например, в Sidralntersection), расширение которого трудоемко и предполагает обращение к разработчикам инструмента;

• невозможно исследовать ТС в составе моделей других организационно-технических систем;

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

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

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

Объектом исследования в данной работе является система низкоуровневого имитационного моделирования ТС и её язык.

Предметом исследования является внутренняя структура транспортных систем, формальное описание языка и архитектура программного комплекса для низкоуровневого моделирования ТС.

Цель и задачи работы

Целью работы является расширение сферы применения моделирования транспортных систем за счет создания проблемно-ориентированного средства на основе средства моделирования общего назначения.

Для достижения поставленной цели в работе решены следующие задачи:

• Разработана структура системы низкоуровневого имитационного моделирования ТС.

• Проведена декомпозиция предметной области «транспортные системы», выявлены её особенности с точки зрения структуры имитационных моделей.

• Создан язык моделирования транспортных систем.

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

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

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

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

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

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

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

• Метод декомпозиции транспортных систем, ориентированный на имитационное моделирование и позволивший систематизировать множество объектов транспортной инфраструктуры.

• Язык моделирования и численные методы анализа структуры моделей транспортных систем.

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

Достоверность результатов

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

Теоретическая и практическая значимость

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

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

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

Основные результаты исследования были апробированы на конференциях:

• VII Международной конференции «Математическое моделирование физических, экономических, технических систем и процессов», Ульяновск, УлГУ, 2009;

• Interactive Systems and Technologies: the Problems of Human-Computer Interaction, Ulyanovsk, ULSTU, 2009;

• Четвертая всероссийская научно-практическая конференция по имитационному моделированию и его применению в науке и промышленности (ИММОД-2009), Санкт-Петербург, 2009;

• Всероссийская конференция «Проведение научных исследований в области обработки, хранения, передачи и защиты информации» (ОИ

2009), Ульяновск, УлГТУ, 2009;

• Winter Simulation Conference (Ph. D. Colloquium), Austin, TX, USA, 2009;

• Информатика, моделирование, автоматизация проектирования. (ИМАП

2010), Ульяновск, 2010.

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

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

Публикации

Материалы диссертации опубликованы в 11 работах, из них 2 - в изданиях, рекомендуемых ВАК. Список публикаций приведен в конце автореферата.

Заключение диссертация на тему "Низкоуровневое имитационное моделирование транспортных систем"

Основные результаты работы

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

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

• Проведена декомпозиция предметной области «транспортные системы», ориентированная на имитационное моделирование и позволившая систематизировать множество объектов транспортной инфраструктуры.

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

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

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

заключения:

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

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

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

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

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

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

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

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

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

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

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

Глава 2. Архитектура системы моделирования ТС

2.1. Обоснование выбора Апу1л^1с 6

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

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

• поддержка агентного подхода к моделированию;

• возможность разработки проблемно-ориентированного графического языка;

• небольшая сложность интеграции с внешними источниками данных (базами данных, электронными таблицами);

• возможность построения отдельного приложения, использующего документную архитектуру;

• обеспечение расширяемости системы имитационного моделирования (возможность добавления новых модулей без изменения общей архитектуры системы);

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

При выборе платформы для реализации системы были рассмотрены следующие инструменты имитационного моделирования общего назначения, поддерживающие агентный подход: SIMIO, RePAST, AnyLogic.

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

• Система AnyLogic, в отличие от RePAST, обладает богатым набором инструментов для визуализации моделей. На базовом уровне системы поддерживается динамическая отрисовка графических примитивов. Доступна группировка графических элементов, добавление элементов управления и интеграция с элементами графического интерфейса Java.

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

• Среда моделирования AnyLogic позволяет объединять разработанные элементы моделей в библиотеки. Инструмент также позволяет использовать любые библиотеки Java-кода. Эти возможности AnyLogic обеспечивают расширяемость реализуемой среды.

• Благодаря встроенным возможностям по работе с данными и поддержке Java-библиотек значительно облегчается интеграция с базами данных и файлами электронных таблиц.

• AnyLogic является многоподходным средством моделирования: он поддерживает разработку системно-динамических, дискретно-событийных и агентных моделей. Кроме того, система имеет несколько графических способов задания логики поведения модели.

2.2. Структура системы

Структура разработанной системы низкоуровневого моделирования ТС показана на рисунке 2.1.

Система моделирования

1 Графический конструктор Модуль синтаксической проверки

Модуль калибровки Г

Модуль к Исполняющий формирования среды '■ ( модуль

Разработчики моделей — специалисты предметной области

Среда разработки

Апу1о§к6

Компонент Л Компонент] среды ^ среды

Программисты — специалисты по ИМ

Компонент среды

Рисунок 2.¡.Структура среды моделирования транспортных систем Решено основную часть системы реализовать как отдельное За\а-приложение, выполняемое на основе имитационной среды АпуЬо§ю. Имитационная среда Апу1^1с является ядром всей системы: она предоставляет базовую функциональность по исполнению имитационной модели.

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

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

Модуль калибровки предоставляет возможность настраивать параметры моделируемой системы.

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

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

Графический конструктор реализует документную архитектуру: пользователи могут сохранять модели в ХМЬ-файлах, загружать их, отменять и повторять действия по разработке моделей.

2.3. Сценарий использования системы

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

Рисунок 2.2. Схема процесса взаимодействия пользователя со средой

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

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

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

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

2.4. Графический конструктор моделей

Основная работа по созданию модели заключается в задании структуры моделируемого участка. Структура задается с помощью графического конструктора в режиме визуального редактирования. Несомненно, такой вид проектирования является гораздо более наглядным, чем, например, ввод информации в текстовом виде [77]. Примерами успешного применения визуальных редакторов является такие системы, как: AutoCad, 3dsMax,

Microsoft Visio, AnyLogic и др.

Графический конструктор состоит из следующих элементов:

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

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

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

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

Внешний вид указанных подсистем проиллюстрирован на рисунке 2.3 цифры на рисунке соответствуют номерам подсистем). оперяют.«!**

Рисунок 2.3. Подсистемы графического конструктора 2.4.1. Представление модели в виде документа

Система позволяет работать с моделями как с документами. При первом запуске системы создается новый документ. Пользователь имеет возможность сохранить документ в XML-файл. Выбор формата файла обусловлен наличием стандартных средств XML-сериализации в языке Java. Пользователю также доступны операции отмены совершенных действий и их возврата. Система позволяет одновременно работать только с одним документом.

XML-формат файлов моделей является открытым: при необходимости в нем можно внести изменения вручную. Формат файлов модели приведен в стандартной нотации DTD в приложении 1.

2.4.2. Конструирование модели в графическом конструкторе

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

А Б В

Рисунок 2.4. Внешний вид конструкционных элементов

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

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

Два объекта считаются соединенными, когда существуют два порта П| и П2 такие, что:

• П] принадлежит первому объекту, а П2 принадлежит второму объекту;

• положение П| совпадает с положением П2;

• направление соединения П| противоположно направлению соединения п2;

• количество полос движения, выходящих из одного объекта, соответствует количеству входящих полос другого объекта;

• ни один из портов П1 и П2 не соединен ни с каким третьим портом.

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

• определить зависимый и независимый элементы;

• поднести путем перетаскивания свободный (не соединенный с другим портом) порт зависимого объекта к свободному порту независимого объекта на расстояние не менее 20 пикселей;

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

Рисунок 2.5 иллюстрирует положение двух объектов до и после операции соединения.

Рисунок 2.5. Соединение двух конструкционных элементов

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

• разрыв соединений измененного элемента с другими элементами;

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

Редактор предлагает пользователю выбрать любой из вариантов поведения путем использования клавиш-модификаторов (Ctrl, Alt, Shift) во время изменения свойств элементов.

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

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

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

Библиография Черненко, Виталий Евгеньевич, диссертация по теме Математическое моделирование, численные методы и комплексы программ

1. Аверилл М. Лоу, В. Дэвид Кельтон, Имитационное моделирование. // Питер 2004.

2. Берж К. Теория графов и ее приложения // ИЛ 1962.

3. Борщев A.B. Практическое агентное моделирование и его место в арсенале аналитика // Exponenta PRO 3-4 2004 - р 7-8.

4. Брюс Эккель. Философия Java // Питер 2003.

5. Васильев А. Н. Java. Объектно-ориентированное программирование // Питер-2010.

6. Владимир Дьяконов. VisSim+Mathcad+MATLAB. Визуальное математическое моделирование // Солон-Пресс 2004.

7. Гради Буч, Роберт А. Максимчук, Майкл У. Энгл, Бобби Дж. Янг, Джим Коналлен, Келли А. Хьюстон // Объектно-ориентированный анализ и проектирование с примерами приложений (UML 2) Вильяме - 2010.

8. Даконта М., Саганич А. Библиотека программиста XML и JAVA2 для профессионалов // Питер 2005.

9. Дейтел Х.М., Дейтел П. Дж., Нието Т. Р., Лин Т. М., Садху П. Как программировать на XML // Бином-Пресс 2007.

10. Емельянов В.В., Курейчик В.В., Курейчик В.Н. Теория и практика эволюционного моделирования. // Физматлит 2003.

11. Ерусалимский Я.М. Дискретная математика: теория, задачи, приложения // Вузовская книга 2000.

12. Казиев В.М. Введение в анализ, синтез и моделирование систем // Бином. Лаборатория знаний 2007.

13. Карпов Ю.Г. Имитационное моделирование систем. Введение в моделирование с AnyLogic 5.// БХВ-Петербург 2005.

14. Кей С, Хортманн К.С., Корнелл Г. Java 2. Библиотека профессионала. // Вильяме-2010. Т. 1.

15. Кей С, Хортманн К.С., Корнелл Г. Java 2. Библиотека профессионала. // Вильяме 2010. Т. 2.

16. Кен Арнолд, Джеймс Гослинг, Дэвид Холмс. Язык программирования Java // Вильяме 2001.

17. Кормен Т. X. и др. Часть VI. Алгоритмы для работы с графами. Алгоритмы: построение и анализ. 2-е изд. // Вильяме - 2006.

18. Котов H.A. Моделирование дорожного движения на многополосной магистрали при помощи двумерного вероятностного клеточного автомата с тремя состояниями. // СПбГУ ИТМО 2008.

19. Кристофидес Н. Теория графов. Алгоритмический подход. // Мир — 1978.

20. Крэг Ларман. Применение UML 2.0 и шаблонов проектирования //Вильяме 2006.

21. Кузьмин Е.В., Соколов В. А. Моделирование, спецификация и верификация «Автоматных» программ // Программирование 2008 №1 -С 38-60.

22. Кумунжиев К.В. Пректирование систем: изобретательство, анализ, принятие решений // Ульяновск 2009.

23. Кумунжиев К.В. Теория систем и системный анализ // Ульяновск 2003.

24. Кумунжиев К.В., Малыханов A.A., Черненко В.Е. Разработка системы имитационного моделирования транспортных узлов // Ученые записки УлГУ, серия Математика и информационные технологии вып. 1(2). -Ульяновск: УлГУ, 2009 - С. 108-110.

25. Лычкина H.H. Имитационное моделирование экономических процессов // Учебное пособие для слушателей программы MBI Ай-Ти - 2005.

26. Малыханов A.A., Черненко В.Е. Классификация агентных имитационных моделей // Труды VII Международной конференции «Математическое моделирование физических, экономических, технических систем и процессов» Ульяновск: УлГУ — 2009 — С. 179— 181.

27. Малыханов A.A., Черненко В.Е. Среда низкоуровневого имитационного моделирования транспортных систем // Автоматизация в промышленности № 1-2010 М., 2010 - С. 34-37.

28. Малыханов A.A., Черненко В.Е., Былина П.В. Оценка эффективности траекторий патрулирования акватории на основе имитационной модели // Автоматизация процессов управления, №2-2010 Ульяновск - С. 31— 33.

29. Марк Гранд. Шаблоны проектирования в JAVA. Каталог популярных шаблонов проектирования, проиллюстрированных при помощи UML // Новое знание 2004.

30. Мышкис А. Д. Элементы теории математических моделей.- 3-е изд., испр. // КомКнига 2007.

31. Объектно-ориентированное проектирование, паттерны проектирования (шаблоны) Режим доступа - http://www.javenue.info/themes/ood/.

32. Презентация и 3D анимация Справка On-line - Режим доступа -http://www.xjtek.ru/anylogic/help/.

33. Программный продукт Sidralntersection 5 - Режим доступа -http://www.sidrasolutions.com/.

34. Программный продукт PTV Vision® VISSIM Режим доступа -http://www.ptv-vision.ru/ptv-vision-vissim/.

35. Программный продукт TransModeler Режим доступа http://www.caliper.com/transmodeler/.

36. Рамбо Дж., Блаха М. UML 2.0. Объектно-ориентированное моделирование и разработка. 2-е изд. // Питер 2007.

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

38. Самарский A.A., Михайлов А.П. Математическое моделирование: Идеи. Методы. Примеры. // Наука 1997.

39. Советов Б. Я., Яковлев С. А. Моделирование систем: Учеб. для вузов 3-е изд., перераб. и доп. // Высш. Шк. - 2001.

40. Среда моделирования AnyLogic Режим доступа - http://www.xjtek.ru/.

41. Среда моделирования Flexsim Режим доступа1 http://www.flexsim.com/.

42. Среда моделирования Simio Режим доступа -http://www.simio.com/.

43. Тарасевич Ю. Ю. Математическое и компьютерное моделирование. Вводный курс // Едиториал УРСС 2004.

44. Фридл Дж. Регулярные выражения // Питер 2003.

45. Черненко В.Е. Графический конструктор моделей транспортных систем // Труды всероссийской конференции «Проведение научных исследований в области обработки, хранения, передачи и защиты информации» (ОИ-2009) Ульяновск: УлГТУ - 2009 - т. 1 - С. 180-185.

46. Черненко В.Е., Малыханов A.A. Библиотека геометрических объектов для AnyLogic 6 // Ученые записки УлГУ, серия Математика и информационные технологии № 1(2). - Ульяновск: УлГУ - 2009 - С. 179-181.

47. Шалыто А.А. Автоматное проектирование программ. Алгоритмизация и программирование задач логического управления // Известия РАН. Теория и системы упрвления 2000. №6. - С. 63-81.

48. Шалыто А.А. Использование граф-схем и графов переходов при программной реализации алгоритмов логического управления // "Автоматика и телемеханика" 1996. N6, - С. 148-158; N7, - С. 144-169.

49. Akcelik R., Besley М. Microsimulation and analytical methods for modelling urban traffic. // Conference on Advance Modeling Techniques and Quality of Service in Highway Capacity Analysis Truckee California - USA - 2001.

50. Andreas Brandstadt, Dieter Kratsch, Haiko Miiller. Graph-Theoretic Concepts in Computer Science. // Boltenhagen 2001.

51. Arem В., van de Vos A.P., Vanderschuren M.J.W.A. The Microscopic Traffic Simulation Model, MIXIC 1.3, Report TNO, // The Netherlands 1997.

52. Bellomo N., Coscia V., Delitala M. On the Mathematical Theory of Vehicular Traffic Flow. I. Fluid Dynamic and Kinetic Modelling // Math. Mod. Meth. App. Sc. Vol. 12. -2002. -№ 12, -p.1801-1843.

53. Biham O., Middleton A., Levine D. Self-organization and a dynamic transition in traffic-flow models // Physical Review. 1992. A-46 (10) p. 6124-6127.

54. Borshchev A. and Filippov A. From System Dynamics and Discrete Event to Practical Agent Based Modeling: Reasons Techniques, Tools. // The 22nd International Conference of the System Dynamics Society Oxford, England - July 25 - 29, 2004.

55. Brown, L.P., T.M. Cioppa, and T.W. Lucas: Agent-Based Simulations Supporting Military Analysis, // Phalanx 37 Military Operations Research Society (September 2004) - p 29-32.

56. Choudhury C.F. Modeling Lane-changing Behavior in Presence of Exclusive Lanes, // Massachusetts Institute of Technology 2005.

57. Chu Lianyu. A Calibration Procedure for Microscopic Traffic Simulation. // Annual Meeting Proceedings 2004.

58. Fellendorf M., Vortisch P. Validation of the microscopic traffic flow model VIS SIM in different real-world situations // 80th Meeting of the Transportation Research Board. Washington. D.C. - 2001.

59. Fuks H., Boccara N. Generalized deterministic traffic rules // International Journal of Modern Physics C 1998. № 9 - p. 1-12.

60. Gogolla, M., Ziemann, P., Kuske, S.Towards an Integrated Graph Based Semantics for UML. // Electronic Notes in Theoretical Computer Science vol 72(3) 2002.

61. Grzegorz R. Handbook of graph grammars and computing by graph transformation // World Scientific Publishing Co. Inc. River Edge, NJ, USA - 1997.

62. Heckel, R., K'uster, J., Taentzer, G. Towards the Automatic Translation of UML Models into Semantic Domains AGT'02 // ETAPS'02. p. 12-22. -2002.

63. Karrer A.S. Generating Graph Editors. Ph.D. thesis, Computer Science Department // University of Southern California May 1993.

64. Macal C., North M. Proc. Tutorial on Agent-based Modeling and Simulation. // Winter Simulation Conference. 2005 - p.2-15.

65. Malykhanov A. A., Chernenko V. E. Extensible Framework for Microscopic Traffic Simulation. // Proceedings of the 2009 Winter Simulation Conference (Ph. D. Colloquium) Austin, TX, USA - ISBN: 978-1-4244-5772-4

66. Marakas G. M. Decision support systems in the twenty-first century.// Upper Saddle River, N.J.: Prentice Hall 1999.

67. Murray, P, Mahmassani, H, Abdelghany, K. Methodology for Assessing High-occupancy Toll-lane usage and Network Performance. // Transportation Research Record vol. 1765 2001 - p. 8-15.

68. Nagel K., Particle hopping models and traffic flow theory // Physical Review.1996 E 53(5) p. 4655-4672.

69. North, M.J.; Tatara, E.; Collier, N.T.; Ozik, J. Visual Agent-based Model Development with Repast Simphony // Proceedings of the Agent 2007 Conference on Complex Interaction and Social Emergence Argonne National Laboratory, Argonne, IL USA.

70. Philippi, S.Seamless Object-Oriented Software Development on a Formal Base. Proc. of the Workshop on Petri-Nets and Software Engineering, p. 75-94.-2000.

71. Robert C. Martin. UML for Java Programmers // Prentice Hall 2003.

72. Rudomin I., Millan E., Hernandez B. Fragment shaders for agent animation using finite state machines // Simulation Modelling Practice and Theory. Vol. 13.-2005. Issue 8-p. 741-751.

73. Sarkans U., Barzdins J., Kalnins A., Podnieks K. Towards a Metamodel-Based Universal Graphical Editor. // Proceedings of the Third International Baltic Workshop on Databases and Information Systems Riga - 1998 - p. 187-197.

74. Schadschneider A., Schreckenberg M. Car-oriented mean-field theory for traffic flow models // Journal of Physics A: Mathematical and General 30(4)1997 -p.69-75.

75. Schreckenberg M., Schadschneider A., Nagel K., Ito N. Discrete stochastic models for traffic flow // Physical Review E (Statistical Physics, Plasmas, Fluids, and Related Interdisciplinary Topics), vol. 51. 1995. № 4 - p.2939-2949.

76. Shalyto A., Tukkel N. SWITCH-Technology: An Automated Approach to Developing Software for Reactive Systems // Programming and Computer Software vol. 27. 2001. No.5 - p. 260-276.

77. Smolander K., Marttiin P., Lyytinen K. and V-P.Tahvanainen. MetaEdit a flexible graphical environment for methodology modelling.// Advanced Information Systems Engineering - Springer Verlag, LNCS vol. 498 - 1991.

78. Treiber M., Hennecke A., Helbing D. Congested traffic states in empirical observations and microscopic simulations // Physical Review. 2000. E 62 (2) -p. 1805-1824.

79. Vangheluwe, H., de Lara, J., Mosterman, P. An Introduction to Multi-Paradigm Modelling and Simulation. // Proc. AIS2002. p. 9-20. SCS International 2002.

80. Wiedemann R. Modelling of RTI-Elements on multi-lane roads. // Advanced Telematics in Road Transport edited by the Comission of the European Community. DG XIII. Brussels. - 1991.

81. Wilco Burghout, Haris Koutsopoulos, Ingmar Andreasson. Hybrid microscopic-mesoscopic traffic simulation. // Stockholm 2004.

82. Yafeng Yin, Henry X. Liu, Jorge A. Laval, Xiao-Yun Lu, Meng Li, Joshua Pilachowski, Wei-Bin Zhang. Development of an Integrated Microscopic Traffic Simulation and Signal Timing Optimization Tool // University of California Berkeley - 2007.

83. Zou Zhi-jun, Yang Dong-yuan. An Object-oriented Development of Urban Traffic Simulation Laboratory System // Journal of system simulation, vol. 14, no. 7-2002-p. 844-848.