КОНЦЕПЦИЯ ПРОГРАММНОГО СРЕДСТВА ВИЗУАЛИЗАЦИИ РЕЗУЛЬТАТОВ ИМИТАЦИОННОГО МОДЕЛИРОВАНИЯ НА ОСНОВЕ ОНТОЛОГИЧЕСКОГО ПОДХОДА

С.А. Коршунов, А.И. Павлов, О.А. Николайчук

Институт динамики систем и теории управления имени В.М. Матросова СО РАН, Иркутск

e-mail: grey.for@gmail.com, asd@icc.ru, nicoly@icc.ru

 

Содержание

1. Введение

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

3. Реализация подхода

4. Заключение

Список литературы


Аннотация

В работе предложен подход к автоматизации процесса визуализации результатов имитационного моделирования при помощи генерации кода визуальных моделей на основе онтологического описания их структуры и поведения. Описана концепция программного средства, использующего данный подход для визуализации результатов имитационного моделирования. Сформулированы основные требования к программному средству, реализация которого позволит обеспечить сочетание низких временных затрат на создание визуальных моделей и их высокую когнитивность (свойство, характеризующее насколько полно визуальные модели отражают основные свойства реальных объектов-прототипов). Рассмотрена предлагаемая архитектура программного средства, основными компонентам которой являются: имитационная модель в качестве источника входных данных; редактор визуальных объектов на основе геометрических примитивов; редактор визуальных моделей, позволяющий формировать описание и структуру визуальной модели; модуль, обеспечивающий создание визуальной сцены на основе сформированного описания; модуль визуализации, предназначенный для отображения созданной визуальной модели на основе сгенерированного кода; web-сервер, служащий для передачи данных между имитационной моделью и остальными модулями; онтологии предметной области, визуальных объектов и визуализации приложения. Были рассмотрены основные функции компонентов, а также возможные методы и технологии их реализации.

 

Ключевые слова: визуализация, онтология, имитационное моделирование, машинная графика.

 

1. Введение

 

Имитационное моделирование имеет широкую область применения, в самых различных областях – логистике, системах массового обслуживания, моделировании землетрясений [1], подводных сооружений, для проектирования транспортных и авиационных систем [2,3] и даже военных действий [4]. Визуализация – один из аспектов имитационного моделирования, позволяющий наглядно увидеть моделируемую область и происходящие в ней изменения. Важной особенностью процесса визуализации является когнитивность, под которой мы будем понимать степень соответствия отображаемых объектов и процессов реальным прототипам либо общепринятым для моделируемой предметной области образам и схемам [5]. Следует отметить, что многие системы имитационного моделирования (AnyLogic, Repast Symphony, MadKit, MASON, Breve, Framsticks, NetLogo) содержат либо достаточно слабые средства визуализации (на уровне схематических изображений со слабой наглядностью и когнитивностью), либо мощные подсистемы (включающие библиотеки графических моделей), требующие существенных временных затрат на их освоение и не обладающие эргономичным пользовательским интерфейсом [6, 7].

Если возможностей встроенного набора графических моделей недостаточно для адекватного отображения объектов и процессов исследуемой области, то перед исследователем возникает необходимость использования стороннего программного обеспечения, такого как графические пакеты (3DSMax, Blender, Maya). Выбор графического пакета в данном случае обусловлен опытом работы исследователя с выбранным программным обеспечением. Стоит отметить, что графические пакеты зачастую являются довольно сложными и дорогостоящими программными комплексами и в том случае, если опыт работы с ними отсутствует, время, затраченное на их освоение, может существенно замедлить процесс исследовательской работы. Это обусловлено высокими затратами на использование стороннего программного обеспечения, как временными, так и материальными.

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

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

 

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

 

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

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

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

·       кроссплатформенность (Windows, GNU/Linux, OS X);

·       отсутствие необходимости установки дополнительного программного обеспечения (библиотек и т.д.);

·       независимость от имитационной модели;

·       возможность адаптации к предметной области;

·       отчуждаемость программного кода.

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

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

 

Рис.1. Иерархия онтологий.

 

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

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

,

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

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

,

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

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

·       тип геометрии: куб, сфера, цилиндр и др.;

·       пространственные параметры;

·       параметры наклона: характеризуют наклон объекта по трем осям координат;

·       размеры объекта: высота, ширина, глубина, радиус сферы, радиусы концов цилиндра и др.;

·       параметры детализации объекта: количество сегментов на каждой грани объекта;

·       специфичные параметры, связанные с формой объекта, например, различные углы усечения или создания закрытого/открытого цилиндра и др.;

·       цвет, текстура;

·       отображение/не отображение каркаса объекта.

Возможные визуальные эффекты:

·       изменение цвета, текстуры;

·       изменение размера;

·       изменение наклона;

·       перемещение (по прямой, по произвольной линии, в ограниченном пространстве);

·       появление;

·       исчезновение;

·       изменение формы (замена одного графического объекта на другой);

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

,

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

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

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

 

Схема онтологии

Рис.2. Логическая модель онтологий.

 

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

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

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

Серверные компоненты:

·       Имитационная модель – источник входных данных для визуализации. В частности, предполагается апробация программного средства при взаимодействии с системой имитационного моделирования на основе агентного подхода [8,9].

·       Сервер обмена данными между имитационной моделью и модулем визуализации.

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

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

·       Онтология предметной области, содержащая классы и понятия исследуемой области.

 

Рис.3. Общая архитектура программного средства.

 

Клиентские компоненты:

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

·       Редактор визуальных моделей для описания структуры и поведения визуальной модели в виде правил [10].

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

·       Модуль генерации JavaScript-кода визуальной модели и ее объектов отображаемый при помощи графического API WebGL [11]. Сгенерированный код будет отчуждаем и может отображаться вне программного средства при помощи любого браузера.

 

pic1 

Рис.4. Редактор визуальных объектов.

 

3. Реализация подхода

 

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

Алгоритм работы редактора визуальных объектов (рис. 5) описывает последовательность действий для создания визуальных объектов. В качестве инструментального средства выступает редактор визуальных объектов, содержащий модуль генерации кода. Все визуальные объекты состоят из базовых примитивов – геометрических тел, обладающих рядом параметров. Параметризация примитива осуществляется через интерфейс редактора визуальных объектов. Полученный набор параметров является входными данными для модуля генерации кода, который на их основе формирует JavaScript-код визуального объекта. Процессы параметризации и генерации кода повторяются каждый раз при добавлении нового примитива к объекту, до формирования законченного визуального объекта.

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

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

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

 

Рис.5. Алгоритм работы редактора визуальных объектов.

 

Рис. 6. Общий алгоритм работы программного средства.

 

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

Классическая клиент-серверная архитектура обладает существенным недостатком – обмен данными инициируется по запросу клиента. Данный недостаток можно устранить, используя протокол WebSocket, который осуществляет асинхронный обмен сообщениями между браузером и веб-сервером в режиме реального времени и дает возможность инициировать передачу данных сервером [12].

В настоящее время существует множество различных графических «движков» (CryEngine, Unity, UDK), позволяющих создавать трехмерные сцены. В качестве основы для модуля визуализации и графического редактора предлагается использовать графический API WebGL, позволяющую создавать на JavaScript интерактивную графику. Как и WebSocket-протокол, WebGL поддерживается всеми основными браузерами, что позволяет реализовать клиентскую часть в виде веб-страницы.

Для формирования описания поведения и структуры визуальной модели в редакторе визуальных моделей предлагается использовать нотацию RVML – язык визуального моделирования логических правил [13]. Использование RVML позволяет в простой и наглядной форме спроектировать правила поведения визуальных объектов, задавать условия (зависимость от входных данных от системы имитационного моделирования) и действия (визуальные эффекты).

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

 

pic3

Рис.7. Визуальная модель взрыва в промышленной зоне.

 

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

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

 

vis3

Рис.8. Полная визуальная модель промышленной зоны.

 

4. Заключение

 

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

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

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

Работа частично поддержана грантами РФФИ № 16-37-00122 «Модели, методы и средства синтеза императивного описания пространственно-временных сцен на основе онтологий и порождающего программирования», № 15-07-05641 «Разработка принципов, моделей и методов создания и поддержки интеллектуальных мультиагентных систем для прогнозирования техногенных чрезвычайных ситуаций» и № 15-37-20655 «Разработка моделей, методов и средств сервисно-ориентированной технологии синтеза баз знаний продукционных экспертных систем на основе трансформации концептуальных моделей».

 

Список литературы

 

1.     Kohei Fujita, Tsuyoshi Ichimura, Muneo Hori. A quick earthquake disaster estimation system with fast urban earthquake simulation and interactive visualization. Procedia Computer Science, 2014. vol. 29. pp.866-876.

2.     Рябинин К.В. Модуль трёхмерной визуализации для СИМ TriadNet. Имитационное моделирование. Теория и практика: Сборник докладов пятой юбилейной всероссийской научно-практической конференции ИММОД-2011. Том 1. СПб.: ОАО «ЦТСС», 2011. С.393-397.

3.     Вишнякова Л.В., Дегтярев О.В., Слатин А.В. Имитационное операционное моделирование процессов функционирования сложных авиационных систем и комплексов управления. Имитационное моделирование. Теория и практика: Сборник докладов пятой юбилейной всероссийской научно-практической конференции ИММОД-2011. Том 1. СПб.: ОАО «ЦТСС», 2011. С. 30-41.

4.     Лоу А.М., Кольтон В.Д. Имитационное моделирование. Пер. с англ. СПб.: Питер, 2004. 847 с.

5.     Зенкин А.А. Когнитивная компьютерная графика. Под ред. Д.А. Поспелова. М.: Наука, 1991. 192 с.

6.     Димов Э. М., Маслов О. Н., Трошин Ю.В. Выбор средств программного обеспечения процесса статистического имитационного моделирования. Информационные технологии. 2015. №2.  С. 132-139.

7.     Сравнение средств разработки для создания мультиагентных систем. URL: https://ru.wikipedia.org/wiki/Сравнение_средств_разработки_для_создания_мультиагентных_систем (дата обращения: 24.03.2015).

8.     Николайчук О.А., Павлов А.И., Юрин А.Ю. Система имитационного моделирования динамики состояний сложных технических систем на основе агентного подхода. Автоматизация в промышленности. 2010, №7. С.44-48.

9.     Павлов А.И., Столбов А.Б. Архитектура системы поддержки проектирования агентов для имитационных моделей сложных систем. Программные продукты и системы. 2015. № 109. С. 12-16.

10.  Коршунов С.А., Николайчук О.А., Павлов А.И. Web-ориентированный компонент продукционной экспертной системы. Программные продукты и системы. 2015. №2. С.20-25.

11.  Документация спецификации Web-based Graphics Library (WebGL). 2015. URL: https://www.khronos.org/registry/webgl/specs/latest/1.0/ (дата обращения: 22.06.2015).

12.  Документация спецификации WebSocket. 2015. URL: https://tools.ietf.org/html/rfc6455 (дата обращения: 22.06.2015).

13.  Грищенко М. А., Юрин А. Ю., Павлов А. И. Разработка экспертных систем на основе трансформации информационных моделей предметной области. Программные продукты и системы. 2013. № 3. С. 143—147.




CONCEPT OF SIMULATION VISUALIZATION SOFTWARE BASED ON ONTOLOGY APPROACH

S.A. Korshunov, А.I. Pavlov, O.A. Nikolaychuk

Matrosov Institute for System Dynamics and Control Theory of Siberian Branch of RAS,

Lermontov St. 134, 664033, Irkutsk, Russia.

e-mail: grey.for@gmail.com, asd@icc.ru, nicoly@icc.ru

 

Аbstract

The paper describes the approach of graphical objects creation based on domain ontology description, as well as the hierarchy of the ontology, which includes domain ontology, graphical objects ontology and application’s visualization ontology. Concept of software is described, that uses this approach for simulation visualization. The basic requirements for software are formulated, the implementation of which eliminates the most disadvantages of existing imaging systems.

The main components of proposed software architecture considered to be: the simulation model as an input source; graphics editor that lets to create graphical objects based on geometric primitives; editor of visual models for visual scene`s code generation; visualization module to create visual scenes based on generated code; web-server that is used to transfer data between the simulation model and other modules; domain ontology, graphical objects ontology and application’s visualization ontology. The main functions of components are suggested, as well as possible methods and techniques for their implementation.

 

Keywords: visualization, ontology, simulation, modeling, computer graphics

 

References

 

1.     Kohei Fujita, Tsuyoshi Ichimura, Muneo Hori. A quick earthquake disaster estimation system with fast urban earthquake simulation and interactive visualization. Procedia Computer Science, 2014. vol. 29. pp.866-876.

2.     Rjabinin K.V. Modul' trjohmernoj vizualizacii dlja SIM TriadNet [Three-dimensional visualization module for simulation system TriadNet]. Simulation. Theory and Practice: Proceedings of the Fifth Anniversary All-Russian scientific-practical conference IMMOD 2011. Volume 1. Pp. 393-397. [in Russian].

3.     Vishnjakova L.V., Degtjarev O.V., Slatin A.V. Imitacionnoe operacionnoe modelirovanie processov funkcionirovanija slozhnyh aviacionnyh sistem i kompleksov upravlenija [Simulation modeling of the operational functioning of complex aeronautical systems and facilities management]. Simulation. Theory and Practice: Proceedings of the Fifth Anniversary All-Russian scientific-practical conference IMMOD 2011. Volume 1, 2011. 30-41 p. [in Russian].

4.     Averill M. Law, W. David Kelton Simulation modeling and analysis. McGraw Hill Higher Education; 3rd edition (April 1, 2000). 847 p.

5.     Zenkin A.A. Kognitivnaja komp'juternaja grafika [Cognitive computer graphics]. Moscow: Science, 1991. 192 p. [in Russian].

6.     Dimov Je. M., Maslov O. N., Troshin Ju.V. Vybor sredstv programmnogo obespechenija processa statisticheskogo imitacionnogo modelirovanija [The choice of software tools of the statistical simulation]// Informacionnye tehnologii. 2015. №2.  132-139 p. [in Russian].

7.     Comparsion of imitation modeling tools. 2015. URL: https://ru.wikipedia.org/wiki/Сравнение_средств_разработки_для_создания_мультиагентных_систем (accessed: 22.06.2015).

8.     Nikolajchuk O.A., Pavlov A. I., Jurin A. Ju. Sistema imitacionnogo modelirovanija dinamiki sostojanij slozhnyh tehnicheskih sistem na osnove agentnogo podhoda [System simulation of the dynamics of complex technical systems based on agent-based approach]. Avtomatizacija v promyshlennosti. 2010. No. 7. pp.44-48. [in Russian]

9.     Pavlov A. I., Stolbov A.B. Arhitektura sistemy podderzhki proektirovanija agentov dlja imitacionnyh modelej slozhnyh system [Architecture of agents design support system for complex systems simulation models]. Software & Systems. 2015. No. 1. pp.12-16. [in Russian]

10.  Korshunov S. A., Nikolajchuk O.A., Pavlov A. I. Web-orientirovannyj komponent produkcionnoj jekspertnoj sistemy [Web-oriented component of an expert system]. Software & Systems. 2015. No. 2. pp.20-25. [in Russian]

11.  Documentation of specification Web-based Graphics Library (WebGL). 2015. URL: https://www.khronos.org/registry/webgl/specs/latest/1.0/ accessed: 22.06.2015.

12.  Documentation of specification WebSocket. 2015. URL: https://tools.ietf.org/html/rfc6455 accessed: 22.06.2015.

13.  Grishchenko M.A., Jurin A. Ju., Pavlov A. I. Razrabotka jekspertnyh sistem na osnove transformacii informacionnyh modelej predmetnoj oblasti [Expert systems design based on the transformation of domain information models]. Software & Systems. 2013. No. 3. pp.143-147. [in Russian]