Статья:

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

Конференция: XCIX Международная научно-практическая конференция «Научный форум: технические и физико-математические науки»

Секция: Информатика, вычислительная техника и управление

Выходные данные
Сапожников В.О., Тарасов А.В. ОНТОЛОГИЧЕСКИЙ КАРКАС ДЛЯ ПЛАТФОРМОНЕЗАВИСИМОЙ ГЕНЕРАЦИИ ПОЛЬЗОВАТЕЛЬСКИХ ИНТЕРФЕЙСОВ // Научный форум: Технические и физико-математические науки: сб. ст. по материалам XCIX междунар. науч.-практ. конф. — № 8(99). — М., Изд. «МЦНО», 2026.
Конференция завершена
Мне нравится
на печатьскачать .pdfподелиться

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

Сапожников Владислав Олегович
аспирант кафедры ВСТ, Нижегородский государственный технический университет им. Р.Е. Алексеева, РФ, г. Нижний Новгород
Тарасов Александр Васильевич
аспирант кафедры ВСТ, Нижегородский государственный технический университет им. Р.Е. Алексеева, РФ, г. Нижний Новгород

 

ONTOLOGICAL FRAMEWORK FOR PLATFORM-INDEPENDENT GENERATION OF USER INTERFACES

 

Sapozhnikov Vladislav Olegovich

postgraduate student of the department of VST, Nizhny Novgorod State Technical University named after. R.E. Alekseeva, Russia, Nizhny Novgorod

Tarasov Alexander Vasilievich

postgraduate student of the department of VST, Nizhny Novgorod State Technical University named after. R.E. Alekseeva, Russia, Nizhny Novgorod

 

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

Abstract. The paper presents a platform-independent method for describing user interfaces using an ontological framework and spatial connections. User interface elements are represented as individuals of components, while relationships between them are represented by dedicated individuals, each of which is assigned a connection value. An adapter processes the ontological description and generates an implementation using a specific technology. This allows to generate different interchangeable implementations from a single ontological description by using different adapters.

 

Ключевые слова: онтологический каркас; онтология; пользовательский интерфейс; ГПИ; платформонезависимая генерация; пространственное сопряжение; адаптер.

Keywords: ontological framework; user interface ontology; platform-independent generation; spatial connection; adapter.

 

Введение

Многие современные информационные системы взаимодействуют с пользователем посредством графического пользовательского интерфейса (ГПИ) [1]. При этом, ГПИ реализуется для систем в различных формах: настольные приложения, веб-приложения, встраиваемые системы и др. Версии интерфейса для разных платформ часто должны реализовывать одинаковый функционал, однако обычно разрабатываются и поддерживаются отдельно, так как реализуются в рамках различных технологий [2-5]. В результате одинаковые элементы, их взаимное расположение и ограничения приходится воспроизводить, пользуясь разными инструментами [6-9]. Это повышает стоимость сопровождения и затрудняет согласованное развитие нескольких представлений. [10-12]

Проблема связана не только с различиями синтаксиса разных платформ. Элементы, представляющие собой контейнеры, на разных технологиях могут иметь существенно различные наборы настраиваемых параметров, порядок элементов и их размещение. Для сокращения этой зависимости требуется описание, в котором фиксируется семантика элемента и его отношений с другими элементами, а реализация в целевой технологии переносится в специализированный модуль [6-8]. Исследования семантической интероперабельности объектно-ориентированных систем показывают целесообразность представления систем как совокупности автономных компонентов, сопряжённых через стандартизированные интерфейсы. Такое представление возможно посредством онтологического каркаса [13]. Предложено рассматривать элементы графических интерфейсов как компоненты многокомпонентной структуры и задавать их положение операциями пространственного сопряжения [14-15].

Онтологическое описание удобно для этой задачи, поскольку позволяет явно различать классы сущностей, их объекты и свойства [10-12].

Цель работы — модернизировать онтологический каркас и пользовательского интерфейса представленный в работе [15] и показать возможность платформонезависимой генерации различных представлений из одного описания. Работа развивает идеи [14-15] путём уточнения ролей компонента, интерфейса и домена; формализации смысла направления при пространственном сопряжении; добавление платформанезависимой генерации через адаптеры.

Онтологический каркас пользовательского интерфейса

Базовое понятие онтологического каркаса

Онтологический каркас задаёт согласованную систему понятий и отношений, достаточную для описания компонентов открытой информационной системы, их точек взаимодействия и доменных ограничений [13]. Для задачи UI эта идея используется в более узком виде: «Компонент» обозначает сущность пользовательского интерфейса, «Интерфейс» — самостоятельный объект связи, «Домен» — допустимое множество значений, задающее смысл связи.

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

Модернизация для описания пользовательских интерфейсов

Применение каркаса к UI требует выразить пространственную организацию элементов. В работе [14] пространственное сопряжение рассматривается как часть модели структурной организации компонентов. Для ГПИ набор операций связывается с размещением сверху, снизу, слева, справа, внутри и, в более общей модели, между слоями [14-15]. В настоящей работе размещение между слоями было исключено из рассмотрения, поскольку его демонстрация и реализация ещё не были реализованы и применены на практике. Таким образом полная схема классов используемого UI-каркаса показана на рис. 1.

 

Рисунок 1. Онтологический каркас для описания пользовательского интерфейса

 

Устройство пространственных сопряжений

Текущая реализация задаёт множество пространственных сопряжений как закрытое перечисление пяти значений: «над», «справа от», «под», «слева от», «вложен в».

Позиционирование компонентов при помощи их интерфейсов задаётся направлением отношений «Имеет входной интерфейс» «Имеет выходной интерфейс» от компонентов к общему индивиду интерфейса. Пусть индивид «Компонент поле ввода имени» - владелец выхода, индивид «Компонент лейбл имени» - владелец входа, «Интерфейс лейбл имени к полю ввода имени» - индивид пространственного интерфейса, «над» - индивид домена «Вид пространственного сопряжения». Тогда описание имеет вид рис.2:

 

Рисунок 2. Схема пространственного сопряжения компонентов

 

Платформонезависимая генерация пользовательских интерфейсов

Система адаптеров

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

В текущем примере адаптер для HTML сопоставляет визуальные типы тегов HTML5; адаптер PyQt создаёт соответствующие классы QWidget, QVBoxLayout. Основные соответствия типов компонентов и вариантов размещения для этих адаптеров приведены в табл. 1.

Таблица 1.

Соответствие типов компонентов и вариантов размещения в HTML и PyQt

Тип компонента или размещения

HTML

PyQt

Label

<span>

QLabel

Div

<div>

QWidget

Input

<input type="text">

QLineEdit

Button

<button>

QPushButton

Вертикальное размещение элементов

display: flex;

flex-direction: column

QVBoxLayout

Горизонтальное  размещение элементов

display: flex;

flex-direction: row

QHBoxLayout

 

Логическая схема показана на рис. 3. Один источник описания может быть реализован посредством любого из N адаптеров, каждый из которых создаёт собственное представление. Адаптеры, таким образом никак не зависят друг от друга, только от абстрактного представления через онтологический каркас. Соответственно, возможно добавление произвольного количества адаптеров и таким образом – произвольного количество технологий для реализации ГПИ.

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

Рисунок 3. Платформонезависимая генерация пользовательских интерфейсов посредством адаптеров

 

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

Примеры генерации

Именованное поле ввода

Именованное поле ввода описано тремя индивидами компонентов: контейнером «Компонент контейнер именованное поле ввода», лейблом «Компонент лейбл имени» с текстом «Имя» и полем ввода «Компонент поле ввода имени». Два интерфейса со значением домена «вложен в» помещают лейбл и поле внутрь контейнера; третий интерфейс со значением «над» задаёт расположение лейбла над полем. В текущей направленной семантике поле ввода является владельцем выхода, лейбл - владельцем входа, поэтому значение «над» читается как «лейбл находится над полем ввода». Схема индивидов приведена на рис. 4.

 

Рисунок 4. Онтологическое описание именованного поля ввода

 

Адаптер HTML отображает контейнер в «div», лейбл — в «span», поле — в «input». Вертикальный порядок выражается через «display: flex» и «flex-direction: column». Полученное HTML-представление показано на рис. 5.

 

Рисунок 5. Именованное поле ввода, сформированное для HTML

 

Адаптер PyQt формирует «QWidget» с «QVBoxLayout», внутри которого последовательно размещаются «QLabel» и «QLineEdit». Qt-представление приведено на рис. 6.

 

Рисунок 6. Именованное поле ввода, сформированное для Qt

 

Композиция элементов и окно входа

Онтологический подход позволяет концептуально рассматривать более сложный UI как композицию ранее определённых элементов. Окно входа состоит из двух пар «лейбл + поле ввода» для логина и пароля, дополненных кнопкой «Войти».

Адаптер HTML формирует окно входа с двумя полями и кнопкой; результат приведён на рис. 7.

 

Рисунок 7. Окно входа, сформированное для HTML

 

Из того же онтологического описания адаптер PyQt создаёт окно с вертикальным «QVBoxLayout». Qt-представление показано на рис. 8.

 

Рисунок 8. Окно входа, сформированное для Qt

 

Заключение

Представлен онтологический каркас для платформонезависимого описания пользовательских интерфейсов. Каркас разделяет компоненты, их интерфейсы и домены; пространственное сопряжение оформляется самостоятельным индивидом с направленными ролями владельцев входа и выхода.

Ограничениями подхода являются рост трудоёмкости сопровождения онтологии по мере увеличения числа компонентов и связей. Добавление новых типов требует согласованного расширения всех адаптеров. Также поскольку не все платформы обладают одинаковыми выразительными свойствами в отношении позиционирования и стилистики элементов не всегда можно добавиться полной идентичности между ГПИ, реализованными на разных технологиях.

Единое онтологическое описание используется адаптерами HTML и PyQt для генерации примеров компонентов именованного ввода и окна входа. На данных примерах подтверждено сохранение набора и порядка элементов. Таким образом, благодаря общему описанию и использованию схемы, расширяемой по адаптерам, достигается независимость от конкретной технологии для реализации ГПИ.

 

Список литературы:
1. Namvarpour M., Razi A. The Art of Talking Machines: A Comprehensive Literature Review of Conversational User Interfaces // Proceedings of the 7th ACM Conference on Conversational User Interfaces (CUI '25). New York: ACM, 2025. Art. 45. P. 1-18. DOI: 10.1145/3719160.3736621.
2. Limbourg Q., Vanderdonckt J., Michotte B., Bouillon L., López-Jaquero V. USIXML: A Language Supporting Multi-path Development of User Interfaces // Engineering Human Computer Interaction and Interactive Systems. Lecture Notes in Computer Science. Vol. 3425. Berlin: Springer, 2005. P. 200-220. DOI: 10.1007/11431879_12.
3. Object Management Group. Interaction Flow Modeling Language (IFML). Version 1.0 [Электронный ресурс]. 2015. URL: https://www.omg.org/spec/IFML/1.0 (дата обращения: 03.08.2026).
4. Meixner G., Calvary G., Coutaz J. Introduction to Model-Based User Interfaces [Электронный ресурс] // W3C Working Group Note. 2014. URL: https://www.w3.org/TR/mbui-intro/ (дата обращения: 03.08.2026).
5. Shamsujjoha M., Grundy J., Li L., Khalajzadeh H., Lu Q. Developing Mobile Applications via Model Driven Development: A Systematic Literature Review // Information and Software Technology. 2021. Vol. 140. Art. 106693. DOI: 10.1016/j.infsof.2021.106693.
6. Abouzahra N. K., Miller M. E., Colombi J., Shimizu C. Examining the Intersection of Ontology, Model-Based System Engineering, and User Interface Development: The Future of Design? // Human-Intelligent Systems Integration. 2024. DOI: 10.1007/s42454-024-00052-w.
7. Freitas A. A. C. de, Costa S. D., Scalser M. B., Barcellos M. P. Using Networked Ontologies to Support the Development of Software Systems with Adaptive User Interface // Journal on Interactive Systems. 2023. Vol. 14, no. 1. DOI: 10.5753/jis.2023.3256.
8. Grasso M., Daquino M., Renda G. From Ontology Design to User Experience: A Methodology to Design Interfaces for Information Seeking Purposes // Umanistica Digitale. 2024. Vol. 8, no. 18. P. 53-85. DOI: 10.6092/issn.2532-8816/19038.
9. Abrahão S., Insfran E., Sluÿters A., Vanderdonckt J. Model-Based Intelligent User Interface Adaptation: Challenges and Future Directions // Software and Systems Modeling. 2021. Vol. 20, no. 5. P. 1335-1349. DOI: 10.1007/s10270-021-00909-7.
10. Грибова В. В., Лифшиц А. Я., Москаленко Ф. М., Шалфеева Е. А., Шевченко Н. Е. Динамическая генерация пользовательского интерфейса мобильного медицинского приложения на основе онтологического подхода // Программные продукты и системы. 2024. Т. 37, № 3. С. 431-439. DOI: 10.15827/0236-235X.142.431-439.
11. Грибова В. В., Паршкова С. В., Федорищев Л. А. Онтологии для разработки и генерации адаптивных пользовательских интерфейсов редакторов баз знаний // Онтология проектирования. 2022. Т. 12, № 2 (44). С. 200-217. DOI: 10.18287/2223-9537-2022-12-2-200-217.
12. Атаева О. М., Серебряков В. А., Тучкова Н. П. Использование семантических связей онтологии для создания адаптивного интерфейса // Электронные библиотеки. 2023. Т. 26, № 1. С. 2-17. DOI: 10.26907/1562-5419-2023-26-1-2-17.
13. Жевнерчук Д. В. Анализ, принципы технической самоорганизации и структурно-параметрический синтез открытых информационных систем: дис. ... д-ра техн. наук: 05.13.01. Нижний Новгород, 2019. 317 с.
14. Захаров А. С. Модели и алгоритмы семантической интероперабельности элементов объектно-ориентированных систем: автореф. дис. ... канд. техн. наук: 05.13.01. Нижний Новгород, 2022. 24 с.
15. Сапожников В. О., Тарасов А. В., Кузнецова Е. В., Суркова А. С., Жевнерчук Д. В. Структурное моделирование графических пользовательских интерфейсов на основе алгебро-логических методов // Моделирование, оптимизация и информационные технологии. 2025. Т. 13, № 3. DOI: 10.26102/2310-6018/2025.50.3.041.