?
Использование предметно-ориентированного языка для разработки тренажера виртуальной реальности для сборки деталей
Программные продукты, разрабатываемые в настоящее время, представляют собой
сложные и высоконагруженные системы, затрагивающие различные предметные области. Для
создания сложного программного обеспечения применяются различные методы, выбор которых
зависит от конечных целей, а также заданного набора ресурсов. На ранних стадиях разработки
программного обеспечения, в частности, при формировании концепции приложения, часто возни-
кают проблемы, связанные со сложностью восприятия экспертами языков, используемых для
моделирования предметной области, что тормозит процесс разработки. В работе рассматрива-
ются вопросы, связанные с разработкой модуля тренажера виртуальной реальности для сборки
деталей. Тренажер виртуальной реальности представляет собой аппаратно-программный ком-
плекс, состоящий из очков виртуальной реальности, устройства Kinect, предназначенного для
отслеживания движений пользователя в пространстве, и программы, содержащей различные
сборки деталей, которые и предлагается собрать пользователю. Рассматриваемый модуль
предназначен для конвертирования деталей из одного формата в другой. Рассматриваются два
подхода к разработке: с использованием предметно-ориентированного подхода и с использова-
нием методов объектно-ориентированного программирования. Представлены реализация моду-
ля в среде программирования Visual Studio и алгоритм разработки на основе предметно-
ориентированного языка. Также в работе представлена архитектура модуля, разработанная на
основе объектно-ориентированного подхода. Выполнено сравнение рассмотренных подходов.
Подход на основе DSL позволит легко добавить новые форматы представления деталей в мо-
дуль конвертации за счет небольшого изменения DSL. При использовании ООП потребуется
переписывать алгоритмы, позволяющие выполнить преобразования из одного формата в другой.
Ключевые слова: предметно-ориентированный язык, объектно-ориентированный
язык, генерация кода, языково-ориентированное программирование, тренажер виртуальной
реальности.