Технология моделирования изменчивости, в частности, такой ее компонент, как модели характеристик, является эффективным способом проектирования адаптивных программных систем на основе трехмерной графики. К числу таких программных систем относятся различные обучающие программы, включая виртуальные тренажеры, среды имитационного моделирования и системы виртуальной реальности.
Графически модель характеристик представляется в виде диаграммы характеристик, узлами которой являются различные компоненты программы (например, трехмерные модели). Каждое состояние адаптивной программной системы описывается как конфигурация исходной диаграммы, т.е. определенное подмножество ее характеристик. Степень совместимости характеристик друг с другом и формируемой конфигурацией определяют отношения между характеристиками [1,2].
На рисунке 1 представлен фрагмент диаграммы характеристик. Данная диаграмма описывает приложение-тренажер, содержащее модели различных компонентов автомобиля. Цветом выделены компоненты программы, составляющие конфигурацию исходной диаграммы, описывающую определенное состояние адаптивной системы.
Рисунок – Диаграмма характеристик
При формализации составленного описания используется аппарат теории графов и гиперграфов. Исходная диаграмма представляется как ориентированный гиперграф, а ее конфигурации – как подграфы. Порядок смены состояний системы в процессе выполнения задается с помощью матрицы переходов.
Таким образом, синтез адаптивной программной системы на основе трехмерной графики с помощью используемой техники можно представить как последовательность следующих этапов:
1. Этап морфологического анализа адаптивной программной системы, на котором осуществляется составление морфологического множества системы в форме диаграммы характеристик.
2. Этап теоретико-множественного преобразования структуры системы, результатом которого является гиперграфовое представление полученного на предыдущем этапе морфологического множества.
3. Этап генерации состояний системы, на котором составляются конкретные конфигурации исходной диаграммы.
4. Этап верификации системных конфигураций, на котором осуществляется поиск и исправление ошибок в составленных конфигурациях.
5. Этап определения взаимосвязей между состояниями системы.
Следует подробно рассмотреть третий этап процесса синтеза системы. Следует отметить, что данный подход подразумевает как задание конфигурации пользователем вручную, так и генерацию конфигураций, описывающих состояния системы, в процессе выполнения.
Рассмотрим более подробно процедуру генерации промежуточных состояний адаптивной программной системы. Пусть X и Y — два состояния программной системы, которым соответствуют определенные множества вершин гиперграфа (подмножества характеристик исходной диаграммы).
Введем понятие расстояния между состояниями системы
Оно обладает следующими свойствами:
Тогда для генерации состояния Z, промежуточного по отношению к X и Y, необходимо, чтобы выполнялось условие
Если потребуется сгенерировать N промежуточных состояний, то для данных состояний должны выполняться условия
Таким образом, промежуточные состояния будут расположены равномерно между состояниями X и Y.
Библиографический список
- Baresi, L. Dynamically evolving the structural variability of dynamic software product lines / L. Baresi, C. Quinton // Proceedings of the 10th International Symposium on Software Engineering for Adaptive and Self-Managing Systems. — New York: ACM, 2015. — P. 57-63.
- Dinkelaker, T. A dynamic software product line approach using aspect models at runtime / T. Dinkelaker [et al.] // In 1st Workshop on Composition and Variability. Proceedings of the 1st Workshop on Composition and Variability. — Washington: IEEE Computer Society, 2010. — P. 23-32.