Управление проектированием и реализацией пользовательского интерфейса на основе онтологий
Автор: Валерия Грибова
Автор перевода: Петров А. Д.
Аннотация. Предложен новый способ реализации диалогов, основанный на графических статических сценах с использованием онтологий. Предлагается новый подход к разработке пользовательского интерфейса. Основная идея такого подхода заключается в формировании необходимой онтологии для разработки пользовательского интерфейса, а затем на основе этого уровня спецификации создавать непосредственно пользовательский интерфейс.
Ключевые слова: онтология, модель интерфейса, разработка интерфейсов для пользователей
Ключевые слова ACM классификации : искусственный интеллект: автоматическое программирование
Введение
Пользовательский интерфейс является неотъемлемой частью большинства программных систем. Эксперты отмечают, что сложность и функциональность программных систем с каждым годом увеличивается, в то же время количество пользователей, и широкий круг специалистов также увеличивается, соответственно, требования к программному обеспечению, быстро растет. Конкуренция на рынке программного обеспечения также возрастает. Все эти факторы могут реализовать диалог между пользователем и программного обеспечения в соответствии со своими требованиями, которые могут меняться в течение жизненного цикла программного обеспечения.
Современные инструменты для разработки пользовательского интерфейса - разработчик интерефейса, пользовательский интерфейс системы управления, модель-интерфейс среды разработки - являются, с одной стороны, только, ориентированные на реализацию GUI (Graphical User Interface), основанные на использовании различных элементов интерфейса - меню, окон, кнопок, списков и т. д. С другой стороны, они не поддерживают дизайн всех компонентов пользовательского интерфейса.
Для решения вышеперечисленных проблем предлагается новый подход к разработке пользовательского интерфейса. Основная идея такого подхода заключается в формировании информации, необходимой для разработки пользовательского интерфейса и реализации с использованием онтологий, а затем, основываясь на этой информации, создавать пользовательский интерфейс. Для реализации различных типов диалога (словесные и графические) были разработаны онтологии графического пользовательского интерфейса и графических статических сцен на плоскости. Они управляют дизайном представления компонента пользовательского интерфейса и позволяют нам реализовывать различные типы диалога.
Целью настоящего исследования является описание методов реализации различных типов диалога - словесные и графические - в пределах онтологии, а также подход к разработке пользовательского интерфейса.
Основные концепции на основе онтологий
Быстрый прогресс требует нового программного обеспечения, и чтобы стоимость разработки интерфейса уменьшилось, необходимо упростить его содержание, что еще более важно. По мнению экспертов, например, [1] обслуживание программного обеспечения превышает стоимость его разработки в 3 или 4 раза. Эти требования в полной мере относятся к разработке пользовательского интерфейса. Пользовательский интерфейс имеет дополнительные требования, а именно, способность к адаптации для пользователей с широким диапазоном знаний.
Учитывая требования, упомянутые выше, предлагается новый подход к разработке пользовательского интерфейса на основе онтологий[2]. Этот подход является модификацией модели подхода к разработке пользовательского интерфейса [3].
Основные идеи онтологии подхода заключаются в следующем: агрегация в едином информационном компоненте модели интерфейса, формирование информации для каждого компонента на основе соответствующей модели онтологии и автоматизированная генерация кода в соответствии с этой информацией.
Интерфейс модели состоит из модели предметной области, представлении модели, модели применения программы, модели диалога сценария и связей модели.
Модель предметной области, определяет термины предметной области, их свойств и отношений между ними. В этой системе понятий происходит ввод и вывод данных из прикладных программ и информации по интеллектуальной поддержки пользователей.
Презентация модели определяет визуальные компоненты интерфейса. Она обеспечивает поддержку различных типов диалога.
Применение модели программы определяет переменные, типы их данных, разделяемых интерфейсом и прикладными программами, протоколов для связи между прикладной программой и интерфейсом, адреса серверов и методы передачи сообщений.
Модели диалога сценария определяет абстрактные термины для описания реакций на события (наборы действий, когда событие происходит, источники событий, способы передачи между окнами, способы выбора окна и т. д.).
Модель определяет соотношение между составляющими модели интерфейса.
Показаны основные элементы архитектуры инструментов развития пользовательского интерфейса на основе онтологий. Мы показываем только один основной, потому что (архитектура) в целом влечет за собой дополнительные компоненты, такие как дизайн автоматизированных средств проектирования, и т.д. Эти компоненты не включены в базовую архитектуру.
Подход к реализации различных типов диалога
Когда пользовательский интерфейс разработан, необходимо, чтобы информацию, представляющую входные и выходные данные прикладной программы были представлены в соответствии с потребностями пользователей, и в формах, принятых в области, для которой разрабатывается программное обеспечение.
В этом случае различные формы представления информации и типов диалога, например, словесные и графические, часто требуется в рамках одного и того же интерфейса. Показано, как эта информация может быть представлена пользователям в различных формах. Согласно нашей концепции, предлагаются модели онтологии для создания и управления каждого компонента модели интерфейса.
Таким образом, разработчик создает информацию о домене. Это словесное описание терминов предметной области, их свойств и отношений с другими словами. Этот домен информации может быть представлен в интерфейсе устно или графически в различных формах в зависимости от требований пользователя к представлению информации, специальных знаний пользователей и их предпочтений.
Презентация модели отвечает за представление модели предметной области. Прошлая является основой для визуального отображения интерфейса.
Для объединения различных типов диалогов в рамках такой же интерфейса, предлагается 2 онтологии, онтологии графического пользовательского интерфейса (OGUI) и онтологии графических статических сцен на плоскости (OGSS).
OGUI предназначен для представления информации в устной форме с использованием интерфейса элементов - окон, меню, списки, кнопки и т.п. OGUI описывает элементы интерфейса, их свойства и отношения друг к другу. Элементы интерфейса позволяют пользователю выбрать и установить значения, для начала работы, а также для перемещения в рамках программы. В настоящее время OGUI на языке OIL доступны в Интернете [4]. Процесс проектирования информации в устной форме состоит в корреляции домена фрагментов с элементами интерфейса и указание свойств элементов интерфейса (размер, цвет, расположение и т. д.).
Процесс проектирования в виде графических сцен осуществляется OGSS. Для этого условия области, задаются связанные с графическими изображениями и их свойств, характерные для конкретного интерфейса. Поколение графических сцен, их интерпретация (исходных данных для прикладных программ) и автоматизированной разработки графических сцен (выходных данных прикладных программ обеспечивается за счет OGSS. Таким образом, OGSS является управляющей структурой для организации диалога, основанного на графических сценах.
Чтобы обеспечить гибкость и упростить изменения пользовательского интерфейса учитываются корреляции между входными и выходными данными, созданных на основе модели предметной области, а ввод и вывод данных не зависят от диалогового типа.
Онтология графических статических сцен на плоскости
Чтобы реализовать диалог, основанный на графических сценах домена независимых OGSS была разработана. Графических статические сцены S на плоскости определяется следующим образом: S = <B, F, P>, где В база графического изображения, F наполнителя, P примитива. Модель OGSS на языке URL [5].
База графического представления B, в дальнейшем для краткости названы базами, это любой графический рисунок, схема, рисунок и т.д., являющийся основой для нанесения различных изображений на нем. База B состоит из следующих элементов: B = (NmB, ImВ, Db, Db ), где ЯМР является базой имя, IMA является базой изображений, Db является описание основных элементов базы и Db это альтернативное описание базовых элементов.
Описание основных элементов базы Db = ((b1, Особое примечание 1), (b2, Особое примечание 2), ..., (bn, NBN)). Здесь b1, ..., bn простых элементов базы изображений, такие как B = b1 b2 ... bn, т. е. слияния простых форм элементов базы изображений; Особое примечание 1, ..., NBN - имена простых элементов.Альтернативные описания элементов базы Db = ((б 1, Н. 1), (б 2, Н. Б. 2), ..., (б е, Н. Б. е)).Здесь 1, б 2, ..., б е являются составными элементами основного образа, Н. 1, ..., Н. е имена соединения элементов базы изображений.Каждое соединение элементов некоторые слияния простых элементов базы изображений, т. е. б = 1 bi1 bi2 ... , где 1 N А, bi1, bi2, ..., черный, простые элементы базы изображений;
б 2 = bj1 bj2 ... bjh, где 1 ч п , bj1, bj2, ..., & простых элементов базы изображений;
б F = bv1 bv2 ... где 1 bv1, bv2, ..., БВК простых элементов базы изображений.
Наполнитель определяет возможные цвета и текстуры параметры элементов базы изображений. Множество возможных наполнителей может быть определена для базы F = (f1, f2, ..., / п). Наполнителя определяется как ц = <Nfi, Cîl, Tex>, где NFI это имя наполнителя, Col цвет наполнителя, Tex является текстура наполнителя.
Примитив определяет возможные изображения на основе образа. Множество возможных примитивов может быть определена для базы: P = P1, P2, ... Примитив р определяется следующим образом: р = <Npi, Tp, Dp(Tp)>, где НПИ называется примитивной, Т является тип примитива, Dp (ТР) является описание примитива. Тип примитивной может быть определена как Тр , Tb строится Тс соединения.
По предопределенных примитивных означает примитивный образ которого не известно. Описание Dp (ТР) из предопределенных примитив Dp (Tr) = <ф>, где Ip есть образ примитива.
Построены примитивные она определяется форма, цвет линии и фона. Поэтому она имеет следующее описание: Dp (ТБ) = <F, R (F), NL, Cb>, где F является формой примитивного, R (F) является правилом для строительства примитивной заданной формы , Н. Л. цвет линии, Н. Б. цвет фона. Следующие формы примитивных определены: круг, точки, линии и прямоугольника. Для каждой формы, необходимо определить правила ее построения. Правило круга строительства определяется круг координат центра и радиуса R (круг) = <(х, у), г>; точка определяется координатами: R (точка) = <(х, у) >; линии определяется координатами двух точек: R (линии) = <(О1, y1), (O2, y2)>; прямоугольник определяется по координатам двух точек, его верхний левый и нижний правый вершины: R (прямоугольник) = <(О1, y1), (O2, y2)>.
Соединение примитивной представляет собой набор примитивов построены, связанных сами линиями определенного цвета и типа: D (Т) = <((НПИ, NPJ), (NPJ NPK), ..., (NPN NPV)), Cl, Lt>. Для описания соединения примитивных необходимо определить множество пар построены примитивные названия (НПИ, NPJ), которые должны быть соединены линиями определенного цвета и типа Cl лейтенант
Разработка диалога в виде графических статических сцен
Процесс проектирования диалога в виде графических статических сцен осуществляется в два этапа.
На первом этапе это необходимо для интерфейса разработчик соотнести элементы OGSS с информацией, характерных для определенного домена. Таким образом, разработчик определяет базу, то есть ее образ, имя (на срок от домена), а также имена и фотографии основных компонентов. Кроме того, с той же редактор Разработчик определяет наполнители и / или примитивы, указав их возможные свойства.
На втором этапе разработчик создает дизайн интерфейса, в частности, указывает на расположение базы, примитивов, наполнители и дополнительные элементы графического пользовательского интерфейса определяется OGUI.
Входных данных диалог пользователя с прикладной программой состоит в составлении графических статических сцен. Рис. 4 приведены примеры графических статических сцен. Согласно спецификации OGSS для определенного домена, интерфейс распознает графические сцены и переводы значения выходных данных прикладных программ в формате присвоенный разработчиком. Затем создает графический интерфейс сцены на основе результатов расчета прикладных программ в соответствии с той же описание.
Выводы
Актуальной проблемой является разработка пользовательского интерфейса комбинирования различных типов диалогов (словесные и графические). Не менее важно, как уже отмечалось выше, проблема сокращения затрат на разработку и упрощение технического обслуживание программного интерфейса. В статье мы рассмотрели, каким образом предлагаемые технологии разработки позволяют решать указанные проблемы.
Во-первых, разработка интерфейса на основе декларативного описания своей модели.
Во-вторых, информация для каждого компонента модели формируется на основе модели онтологии предложенной разработчику.
В-третьих, разработчик может генерировать различные типы диалогов, в соответствии с требованиями пользователей (устные и / или графические на основе OGUI и OGSS.
В-четвертых, информация передается в прикладную программу и обратно (ввод / вывод данных) и не зависит от формы ее представления для пользователей формируясь на основе модели предметной области. Таким образом, изменение в диалоге не требует каких-либо изменений других компонентов интерфейса.
Благодарности
Работа выполнена при поддержке Дальневосточного отделения русской академии наук, гранты ¹ 05-02-01-027, 05-01-01-119.
Литература
Соммервилл И. Разработка программного обеспечения. Addison-Wesley Publishing Company, 1997.
Грибова В., Клещев А. С Онтологии-ориентированный подход к концепции пользовательского интерфейса международного развития / / Журнал теории информации и приложений. 2003. том 10, №1, стр. 87-94
Да Силва PP, Гриффитс Т. и Б. Е. Патон NW, генерация кода пользовательского интерфейса на основе модели пользователя, Advanced Visual интерфейсы, В. ди Джезу и др.. (Ред.), ACM Press, 2000.
http://interface.es.dvo.ru/ontology.htm
Унифицированный язык моделирования. http://www.uml.org/