Программные продукты и системы /Software & Systems
№ 2 (110), 2015
УДК 004.92 Дата подачи статьи: 10.10.14
DOI: 10.15827/0236-235X.110.060-064
ПРОГРАММНЫЙ комплекс ДЛЯ РАЗРАБОТКИ ОБЛАЧНЫХ ВИРТУАЛЬНЫХ СРЕД
(Работа выполнена при частичной финансовой поддержке РФФИ, проекты №№ 13-07-00024-а, 15-07-03193)
В.В. Грибова, д.т.н., старший научный сотрудник, зав. лабораторией, [email protected];
Л.А. Федорищев, к.т.н., научный сотрудник, [email protected] (Институт автоматики и процессов управления ДВО РАН, ул. Радио, 5, г. Владивосток, 690041, Россия)
В статье описывается реализация инструментального комплекса ИРВИС (Интернет-разработка виртуальных интерактивных сред), предназначенного для разработки виртуальных сред на основе облачной платформы IACPaaS (Intellectual Applications, Control and Platform as a Service). Описаны основные принципы: автоматизация процесса разработки, включение в процесс разработки специалистов разного профиля, программы - облачные сервисы. В соответствии с этими принципами сформулирован ряд требований к комплексу ИРВИС и методам его реализации. Представлены основные сервисы комплекса: структурный редактор, графический редактор и интерпретатор. Структурный редактор применяется для разработки декларативной модели виртуальной среды. Описано, каким образом структурный редактор был реализован как выходной сервис редактора IWE (Improved Web Editor) облачной платформы. Графический редактор предназначен для визуального формирования элементов модели виртуальной среды с последующим дополнением декларативного представления. В статье описан метод реализации графического редактора как клиент-серверного облачного сервиса платформы, описана технология использования мультиагентного подхода с применением системы сообщений в реализации данного сервиса. Последний из описанных сервисов, интерпретатор, предназначен для запуска и работы разработанных виртуальных сред, каждая из которых становится самостоятельным сервисом облачной платформы. Аналогично графическому редактору представлен метод реализации интерпретатора как клиент-серверного облачного сервиса платформы с использованием мультиагентного подхода. Приведены примеры использования комплекса ИРВИС для создания облачных виртуальных сред: компьютерный обучающий тренажер по классическим методам офтальмологии, виртуальная химическая лаборатория, виртуальный редактор городского района.
Ключевые слова: виртуальные среды, облачные вычисления, компьютерные тренажеры, онтологии, декларативные модели, редакторы, программные сервисы.
В современной практике для решения различных задач стали очень востребованными компьютерные тренажеры, симуляторы, бизнес-модели, научные визуализации, основанные на технологиях виртуальной реальности. Создание подобных виртуальных сред обычно ассоциируется со сложными программными и аппаратными системами. Действительно, разработка таких программ является трудоемкой и дорогостоящей [1, 2], несмотря на специализированные и универсальные инструментальные средства, пакеты прикладных программ, библиотеки для создания виртуальных сред, такие как The ViSTA Virtual Reality Toolkit [3], VRWorx2 [4], Juggler [5] и многие другие.
В данной работе представлен инструментальный комплекс ИРВИС (Интернет-разработка виртуальных интерактивных сред), интегрирующий различные мультимедиа, облачные технологии, онтологический подход к автоматизации профессиональной деятельности, упрощающий создание и сопровождение виртуальной среды, а также позволяющий включить в процесс разработки экспертов предметных областей и дизайнеров, минимизируя или исключив (в зависимости от виртуальной среды) работу программистов.
Основные принципы создания и требования к инструментальному комплексу
При создании инструментария разработчики следовали трем основным принципам [6, 7].
1. Автоматизация процесса разработки виртуальной среды. Для реализации данного принципа предложено заменить проектирование, реализацию и сопровождение виртуальной среды на языке программирования проектированием и сопровождением ее декларативной модели с последующей интерпретацией, сведя к минимуму либо исключив этап кодирования на языке программирования.
2. Включение в процесс разработки специалистов разного профиля - экспертов предметной области, дизайнеров, программистов и разделение работы между ними. Предложено создать онтологию виртуальной среды, в терминах которой разработчики этой среды будут формировать и сопровождать ее модель, выделить в ней логический и презентационный уровни.
3. Использование средства разработки виртуальной среды и готового приложения как облачных сервисов. Виртуальная среда и готовое приложение как облачные сервисы не требуют их установки на компьютере пользователя или разработчика, не предъявляют никаких дополнительных условий к операционной системе, оперативной памяти и другим техническим требованиям их компьютеров. Очень важно использование данной технологии для обеспечения жизнеспособности готового приложения, поскольку в процессе всего жизненного цикла модель виртуальной среды доступна для сопровождения. Практически только эта технология и позволяет обеспечить модифициро-
60
Программные продукты и системы /Software & Systems
№ 2 (110), 2015
вание модели в процессе ее использования. Удаленное использование дает возможность не только расширения аудитории пользователей средства, но и привлечения разработчиков независимо от их географического расположения.
Для реализации инструментального комплекса ИРВИС на основе сформулированных выше принципов был поставлен ряд требований [6], в соответствии с которыми инструментальный комплекс должен обеспечивать:
- авторизацию и регулируемый доступ как к элементам сервиса, так и к созданным виртуальным средам;
- работу виртуальной среды в режиме сессии, то есть программное приложение должно работать непрерывно, интерактивно реагируя на действия пользователя;
- отображение и объяснение результатов действий пользователя;
- работу всех средств создания и реализованных виртуальных сред как облачных сервисов;
- повторную используемость как информационных компонентов сервиса, так и программных модулей;
- интерпретирующую виртуальную среду для работы виртуальных сервисов;
- проверку целостности модели виртуальной среды.
Инструментальный комплекс ИРВИС разработан на базе облачной платформы IACPaaS [8, 9], которая в полной мере реализует поставленные требования.
Компоненты инструментального комплекса
В соответствии с основными принципами разработки инструментального комплекса и требованиями к нему инструментальный комплекс ИРВИС включает следующие программные средства: структурный редактор, графический редактор трехмерных сцен, интерпретатор.
Структурный редактор. В соответствии с идеологией платформы IACPaaS [9] все информационные ресурсы имеют единое унифицированное декларативное представление - в виде семантической сети. Основной особенностью информационных ресурсов является их представление в виде пары «информация-ссылка на метаинформацию». Метаинформация информационного ресурса - это язык, в терминах которого формируется информация. Декларативные модели виртуальных сред также формируются как информационные ресурсы, для которых метаинформацией служит разработанная авторами онтология виртуальной среды [6]. Редактор IWE - составной компонент платформы IACPaaS, являющийся двухуровневым редактором. На первом уровне генерируется метаинформация, по которой автоматически создается редактор для формирования информации. В инст-
рументальном комплексе ИРВИС метаинформацией является онтология виртуальной среды, информацией - ее модель.
На рисунке 1 представлена схема данного редактора. Он обеспечивает создание, редактирование, удаление декларативной модели виртуальной среды (информационного ресурса), осуществляет связь разработанной онтологии и создаваемой на ее основе декларативной модели, обеспечивая ее целостность. Онтология виртуальной среды поступает на вход редактору. Эксперт предметной области, конкретизируя термины онтологии, получает логическое представление конкретной модели виртуальной среды. Приведем интерфейс редактора для формирования логического представления модели виртуальной среды (скриншот представлен по ссылке http:// www.swsys.ru/up-loaded/image/2015 -2-dop/10 .jpg).
Пример логического представления модели виртуальной среды
Виртуальные интерактивные среды/Проекты виртуальных сред /Проект виртуальной среды по определению остроты зрения по оптотипам Поляка <<< Проблемнонезависимая предметная область/Виртуальные интерактивные среды /Онтология виртуального мира {
ОБЪЕКТЫ
{
простой объект [комната] простой объект [прибор] изменяемый объект [пациент]
{
множество состояний
{
состояние [сидит1]
состояние [закрывает правый глаз]
}
состояние [ -> Виртуальные интерактивные сре-ды/Проекты виртуальных сред /Проект виртуальной среды по определению остроты зрения по оптотипам Поляка$ /ОБЪЕКТЫ/пациент/множество состоя-ний/сидит1; ]
}
изменяемый объект [оптотип1] изменяемый объект [оптотип2] составной объект [оптотип]
61
Программные продукты и системы /Software & Systems
№ 2 (110), 2015
{
множество состояний
{
состояние [5 метров]
{
дочерние объекты {
составной объект [ -> Виртуальные интерактивные среды/Проекты виртуальных сред / Проект виртуальной среды по определению остроты зрения по оптотипам Поляка$ ЮБЪЕКТЫ/оптотипВид; ]
}
}
состояние [4 метра]
}
дочерние объекты
состояние [ -> Виртуальные интерактивные сре-ды/Проекты виртуальных сред /Проект виртуальной среды по определению остроты зрения по оптотипам Поляка$ /ОБЪЕКТЫ/оптотип/множество состояний/5 метров; ]
}
}
ДЕЙСТВИЯ
СЦЕНАРИЙ
}
Графический редактор трехмерных сцен
Графический редактор предоставляет вебинтерфейс и позволяет дополнить логическое представление модели виртуальной среды (сформированное экспертом в структурном редакторе) его презентационным представлением (рис. 2).
В данный редактор загружается сформированное экспертом логическое представление модели виртуальной среды. С помощью редактора в визуальном интерактивном режиме дизайнер определяет презентационные атрибуты объектов сцены. Таким образом, сервис «Графический редактор трехмерных сцен» имеет в качестве входного ресурса декларативную модель виртуальной среды, а в качестве выходного - ее полную модель, содержащую логическое и презентационное представления модели виртуальной среды.
Реализация сервиса графического редактора осуществлена с использованием мультиагентного подхода, поддерживаемого платформой IACPaaS.
Сервис графического редактора включает два агента: инициализирующий и обрабатывающий интерфейсный. Инициализирующий агент осуществляет инициализацию редактора как сервиса платформы и передает управление интерфейсному агенту с помощью инициализирующего сообщения. Интерфейсный агент отображает веб-клиент графического редактора и обрабатывает сообщения, исходящие от него.
Сообщения интерфейсному агенту графического редактора содержат запросы на обработку информации, на обновление информации на сервере, на отправку и загрузку файлов на сервер платформы. Каждому сообщению сопоставлен соответствующий функциональный блок обработки (функция обработки) интерфейсного агента.
В описании декларативной модели виртуальной среды могут понадобиться параметры, которые должны вычисляться специфическим (нестандартным) способом. В этом случае параметр помечается как «параметр обработки агентом», для него в модели указываются имя, описание и возвращаемое значение. В общем случае программная реализация специфической обработки параметра является независимой задачей и может быть выполнена отдельным внешним независимым модулем. Такие модули в системе формируются как агенты платформы IACPaaS. Написание агента для программиста представляет собой написание некоторой независимой функции с известными входными и выходными данными. Входными данными для агента являются динамическая версия декларативной модели виртуальной среды и сообщение, переданное от веб-клиента. Требуемые параметры среды и параметры сообщения веб-клиента считаются известными программисту (он должен получить их из описания вычисляемого параметра).
На рисунке 3 приведен скриншот интерфейса графического редактора.
Интерпретатор
Рис. 2. Схема работы графического редактора Fig. 2. A graphic editor workflow
Интерпретатор предназначен для запуска и работы созданных виртуальных сред. Каждое разработанное прикладное приложение становится отдельным сервисом облачной платформы. Пользователи виртуальной среды могут выполнять следующие задачи:
- определение параметров виртуальной среды
62
Программные продукты и системы / Software & Systems
№ 2 (HQ), 2015
(если таковые имеются) для разнообразия выполняемых в ней действий;
- исследование виртуального интерактивного мира запущенной виртуальной среды;
- выполнение необходимых действий в виртуальной среде и запись их на сервере платформы для последующего просмотра;
- просмотр сохраненных роликов по данной виртуальной среде (как своих, так и чужих).
На рисунке 4 показана схема работы интерпретатора.
Сервис интерпретатора включает два агента: инициализирующий и обрабатывающий интерфейсный. Инициализирующий агент осуществляет инициализацию интерпретатора как сервиса платформы и передает управление интерфейсному агенту с помощью инициализирующего сообщения. Интерфейсный агент отображает веб-клиент интерпретатора и обрабатывает сообщения, исходящие от него.
Сообщения интерфейсному агенту интерпретатора содержат запросы на обработку информации, на обновление информации на сервере, на отправку и загрузку файлов на сервер платформы. Каждому сообщению сопоставлен соответствующий
Рис. 5. Виртуальная среда тренажера для обучения определению остроты зрения по таблицам
Fig. 5. Virtual environment of a simulator for eidoptometry training according to tables
функциональный блок обработки (функция обработки) интерфейсного агента.
Сервисы виртуальных сред
Совместно с экспертами предметной области разработаны следующие облачные сервисы: компьютерный обучающий тренажер по классическим методам офтальмологии (см. рис. 5), виртуальная химическая лаборатория, виртуальный редактор городского района [10].
Разработанный обучающий компьютерный тренажер включает обучающие задания по классическим методам исследования в офтальмологии: определение остроты зрения по таблицам, остроты зрения по оптотипам Б.Л. Поляка, определение клинической рефракции объективным методом и другие. Сервис виртуальной химической лаборатории позволяет проводить безопасные практические занятия по химии: смешивать различные вещества, наблюдать за соответствующей реакцией при различных условиях (необходимые графические образы и анимации для всех реакций загружаются преподавателем химии), а также получать соответствующий комментарий в виде сообщения. Сервис редактора городского района позволяет загружать и редактировать модель, например, городского района г. Владивосток, добавлять новые необходимые объекты-модели и затем экспортировать в нужном формате.
В заключение отметим, что в статье рассмотрены основные принципы разработки программного инструментального комплекса ИРВИС и требования к его реализации. Главной особенностью инструментария является то, что кодирование интеллектуальной системы заменяется проектированием ее декларативной модели с после-
63
Программные продукты и системы /Software & Systems
№ 2 (110), 2015
дующей интерпретацией. Представлены основные компоненты комплекса ИРВИС: структурный редактор, графический редактор и интерпретатор; приведены примеры их интерфейсов. Описаны примеры прикладных сервисов, реализованных с помощью ИРВИС.
Литература
1. Гаммер М.Д., Колесов В.И., Курылев Е.В. Опыт проектирования и использования компьютерных имитационных тренажеров в ТюмГНГУ. URL: http://pandia.ru/text/77/238/ 43119-3.php (дата обращения: 10.10.2014).
2. Трухин А.В. Анализ существующих в РФ тренажернообучающих систем // Открытое и дистанционное образование. 2008. № 1. С. 32-39.
3. Kuhlen T., Beer T., Gerndt A. The ViSTA Virtual Reality Toolkit. 5th High-End Visualization Workshop, Baton Rouge, Lousianna. 2009. URL: http://www.rz.rwth-aachen.de/aw/cms/rz/ Themen/Virtuelle_Realitaet/research/~piz/vr_software_vista/?lang= de (дата обращения: 10.10.2014).
4. Lawson L., Brabant J. VRWorx2 Instructor Manual URL: http://uits.arizona.edu/sites/default/files/VRWorx_Instructor.pdf (дата обращения: 10.10.2014).
5. Cruz-Neira С., Bierbaum A., Hartling P., Just C., Mei-
nert K. An Open Source Platform for Virtual Reality Applications Virtual Reality Applications Center Iowa State University. URL: http://oldsite.vrjuggler.org/pub/vrjuggler-aiaa2002.pdf (дата обращения: 10.10.2014).
6. Грибова В.В., Федорищев Л.А. Обучающие виртуальные системы и средства их создания // Вестн. информ. и комп. технологий. 2012. .№ 3. С. 48-51.
7. Черняховская М.Ю., Грибова В.В., Петряева М.В., Федорищев Л.А. Модель виртуального мира мультимедиа тренажера для медицинского образования // Intern. Book Series: Information Science and Computing. Sofia, Bulgaria, 2011, no. 22, pp. 140-148.
8. Клещев А.С., Грибова В.В., Шалфеева Е.А., Крылов Д.А., Смагин С.В., Москаленко Ф.М., Тимченко В.А., Тю-тюнник М.Б. Облачная платформа для разработки и управления интеллектуальными системами // OSTIS-2011: тр. конф. Минск, 2011. С. 5-14.
9. Клещев А.С., Грибова В.В., Шалфеева Е.А., Крылов Д.А., Смагин С.В., Москаленко Ф.М., Тимченко В.А., Тю-тюнник М.Б. Проект IACPaaS. Комплекс для интеллектуальных систем на основе облачных вычислений // Искусственный интеллект и принятие решений. 2011. N° 1. С. 27-35.
10. Грибова В.В., Федорищев Л.А. Технология разработки приложений виртуальной реальности как облачных сервисов // XXXVIII Дальневосточная матем. школа-семинар им. акад. Е.В. Золотова: сб. докл. Владивосток, 2014. C. 386-393.
DOI: 10.15827/0236-235X.109.060-064 Received 10.10.14
SOFTWARE PACKAGE FOR CLOUD VIRTUAL ENVIRONMENTS DEVELOPMENT
(The research was partially supported by the Russian Foundation for Basic Research, projects no. 13-07-00024-а, 15-07-03193) Gribova V.V., Dr.Sc. (Engineering), Senior Researcher, Head of Laboratory, [email protected];
Fedorischev L.A., Ph.D. (Engineering), Research Associate, [email protected] (Institute of Automation and Control Processes Far Eastern Branch of RAS, Radio St. 5, Vladivostok, 690041, Russian Federation)
Abstract. The article describes implementation of the IRVIS software package (Internet development of virtual interactive environments). IRVIS is designed for development and maintenance of virtual environments based on IACPaaS (Intellectual Applications, Control and Platform as a Service) cloud platform. The main principles are: automation of a development process; involving different experts and designers into the process; cloud services programs. Based on mentioned above principles the authors stated some requirements to IRVIS software package and to its implementing methods.
The paper describes the main services of the IRVIS. They are: a structure editor, a graphic editor and an interpreter. The structure editor is applied to develop a declarative model of a virtual environment. The article describes the method of implementing a structure editor as an output service of IWE (Improved Web Editor) of cloud platform. The graphic editor is aimed to form visual elements of the virtual environment model and later add it to the declarative view of the model. The paper considers a method of implementing the graphical editor as a client-server cloud service of the IACPaaS platform and a method of applying the multiagent approach with messages system included in this service. The interpreter is designed for starting and operating of the developed virtual environments, each of them becomes an individual service of the cloud platform. Similar to graphic editor, the paper shows a method of implementing the interpreter as a client-server cloud service of the platform using a multiagent approach.
At the end of the paper there are some examples of using the IRVIS software package for creating cloud virtual environments: a computer training simulator with classic ophthalmology methods, a virtual chemical laboratory and a virtual editor of a city district.
Keywords: virtual environments, cloud computing, computer simulators, ontologies, declarative models, editors, software services.
References
1. Gammer M.D., Syzrantsev V.N., Kolesov V.I., Gilmanov Yu.A. The practice of designing and using computer simulators in TyumGNGU. Available at: http://pandia.ru/text/77/238/43119-3.php (accessed October 10, 2014) (in Russ.).
2. Trukhin A.V. The analysis of existing training simulator systems in Russian Federation. Otkrytoe i distantsionnoe obrazovanie [Open and Distance Education]. 2008, no. 1, pp. 32-39 (in Russ.).
3. Kuhlen T., Beer T., Gerndt A. The ViSTA Virtual Reality Toolkit. The 5th High-End Visualization Workshop. Baton Rouge, Lousianna, 2009. Available at: http://www.rz.rwth-aachen.de/aw/cms/rz/Themen/Virtuelle_Realitaet/research/~piz/vr_software_vista/?lang=de (accessed October 10, 2014).
4. Lawson L., Brabant J. VRWorx2 Instructor Manual. Available at: http://uits.arizona.edu/sites/default/ files/VRWorx_Instructor.pdf (accessed October 10, 2014).
5. Cruz-Neira C. An Open Source Platform for Virtual Reality Applications Virtual Reality Applications Center Iowa State University. Available at: http://oldsite.vrjuggler.org/pub/vrjuggler-aiaa2002.pdf (accessed October 10, 2014).
6. Gribova V.V., Fedorishchev L.A. Training virtual systems and their design tools. Vestnik informatsionnykh tekhnologiy [IT Bulletin of]. 2012, no. 3, pp. 48-51 (in Russ.).
7. Chernyakhovskaya M.Yu. A virtual world model of a multimedia simulator for medical education. Int. Book Series "Information Science & Computing". Sofia, Bulgaria, 2011, no. 22, pp. 140-148.
8. Kleschev A.S. A cloud platform for designing and controlling intelligent systems. Trudy konf. OSTIS-2011 [Proc. of the Conf. OSTIS-2011]. 2011, pp. 5-14 (in Russ.).
9. Kleshchev A.S. Proekt IACPaaS. A package for intelligent systems based on cloud computing. Iskusstvenny intellekt i prinyatie resheniy [Artificial Intelligence and Decision-Making]. 2011, no. 1, pp. 27-35 (in Russ.).
10. Gribova V.V., Fedorishchev L.A. Virtual reality applications design technology in the terms of cloud services. Mater. XXXVIII Dalnevostochnoy matem. shkoly-seminara [Proc. of the 38th Far Eastern Math. School]. Vladivostok, 2014, pp. 386-393 (in Russ.).
64