Вопрос построения автоматизированной системы синтеза трехмерных адаптивных приложений довольно актуален в настоящее время. Данная система может быть полезна в различных сферах человеческой деятельности, где в настоящее время активно используются трехмерные адаптивные приложения. К таким сферам, в частности, можно отнести сферу подготовки специалистов, так как в ней активно применяются различные адаптивные виртуальные тренажеры на основе трехмерной графики.
Наиболее существенными характеристиками данной системы являются ее универсальность (возможность использования для создания приложений в различных предметных областях) и низкий порог вхождения (возможность работы с системой человека, не являющегося квалифицированным специалистом в сфере разработки программного обеспечения).
Исследование имеющихся разработок показало отсутствие в настоящее время математического аппарата, позволяющего создать систему требуемого типа. Все имеющиеся подходы к разработке программного обеспечения данного типа характеризуются недостаточной математической строгостью.
Автором данной работы было предложено использовать технологию моделирования изменчивости [1] для решения поставленной задачи. Суть метода, основанного на использовании данной технологии, заключается в задании описания структуру адаптивного приложения с помощью диаграммы характеристик. Термин “диаграмма характеристик” относится к области инженерии линеек программных продуктов [2] и обозначает компактное графическое описание всех возможных экземпляров линейки. В данном случае линейку программных продуктов заменяет предметная область адаптивного приложения, а под отдельным “экземпляром” следует понимать отдельный этап работы (или состояние) приложения, определяемый как состоянием аппаратной среды, так и действиями пользователя, работающего с приложением.
Предполагается, что описание структуры программы с помощью диаграммы характеристик будет задаваться самим пользователем, проектирующим программу, с помощью специального визуального редактора. Задаваемая структура основывается на объектах трех основных типов:
- Трехмерные модели;
- Программные функции;
- Параметры.
После составления описания структуры приложения с помощью диаграммы характеристик осуществляется его перевод в ориентированный гиперграф. Пример диаграммы характеристик, описывающей структуру адаптивного приложения, с соответствующим ей гиперграфом представлен на рисунке 1.
Перевод диаграммы характеристик в гиперграфовое представление позволяет эффективно решить сразу две задачи:
- Реализовать механизм верификации структуры адаптивного приложения на уровне понятий предметной области. Так как различные элементы диаграммы характеристик представляют собой понятия предметной области приложения, а связи между ними задают определенные ограничения на возможности одновременного использования понятий в отдельной конфигурации приложения, при грамотном отображении диаграммы характеристик в гиперграф несложно будет реализовать алгоритм, который, анализируя типы гиперребер, будет находить ошибки в текущей конфигурации (подмножестве выбранных вершин) диаграммы. Данный момент является особенно важным, так как предполагается, что отдельная конфигурация диаграммы, соответствующая отдельному этапу работы приложения, будет заранее определяться пользователем вручную.
- Реализовать механизм адаптивного поведения приложения. Так как каждое отдельное состояние приложения будет описываться отдельным подграфом исходного гиперграфа, несложно реализовать механизм переключения между состояниями с помощью введения матрицы переходов и числовых показателей, отвечающих за состояние аппаратной среды и “качество” работы пользователя с программой на предыдущем этапе ее функционирования.
Как видно, с помощью достаточно простого механизма задания описания структуры программы (диаграмма характеристик) и также несложного механизма формализации составленного описания (преобразование в гиперграф) можно достаточно эффективно решить базовые задачи разработки автоматизированной системы синтеза трехмерных адаптивных приложений.
Библиографический список
- J. Liebig, S. Apel, C. Lengauer, C. Kastner, and M. Schulze, “An Analysis of the Variability in Forty Preprocessor-Based Software Product Lines,” in Proc. Int’l Conf. Software Engineering (ICSE). IEEE Computer Society, 2010.
- S. Apel, C. Kastner, and C. Lengauer, “FeatureHouse: Language-Independent, Automated Software Composition,” in Proc. Int’l Conf. Software Engineering (ICSE). IEEE Computer Society, 2009.