Использование методов искусственного интеллекта для

advertisement
В.В.Грибова, А.С. Клещев
КОНЦЕПЦИЯ РАЗРАБОТКИ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА НА
ОСНОВЕ ОНТОЛОГИЙ
Введение. Основными требованиями современного этапа к разработке программных
средств является снижение стоимости разработки и упрощение модифицирования. Это
может быть достигнуто заменой процедурного кода высокоуровневыми декларативными
описаниями; автоматической генерацией (полной или частичной) программного средства;
повторным использованием, раздельным модифицированием архитектурных компонент;
разделением каждого архитектурного компонента на составляющие, также допускающие их
раздельное модифицирование. Все указанные выше требования и методы их достижения в
полной мере относятся к разработке пользовательского интерфейса как неотъемлемой
составляющей большинства программных систем.
Современные средства для разработки пользовательского интерфейса – Построители
интерфейса (Interface Builders), Системы управления пользовательским интерфейсом (User
Interface
Management
Systems),
Моделеориентированные
средства
для
разработки
интерфейса (Model-Based Interface Development Environment) не удовлетворяют в полной
мере указанным выше требованиям. Для решения данной проблемы предлагается новый
подход к разработке интерфейса, основанный на онтологиях. Основная идея подхода –
формировать декларативную модель пользовательского интерфейса на основе моделей
онтологий и затем по высокоуровневому декларативному описанию автоматически
генерировать исполнимый код интерфейса.
Целью
данной
работы
является
описание
пользовательского интерфейса на основе онтологий.
общей
концепции
разработки
1. Анализ современного инструментария для разработки пользовательского
интерфейса.
В настоящее время на рынке программных средств существует три основных класса
инструментария для разработки пользовательского интерфейса:
I. Построители интерфейсов (Interface Builders) в рамках интегрированных сред
программирования, такие как Delphi, Visual Studio и др., позволяют проектировать
визуальную
составляющую
пользовательского
интерфейса
с
помощью
библиотеки
интерфейсных элементов (панелей диалога, форм, меню, кнопок, полос прокрутки и др.),
используя технологию визуального программирования.
II. Системы управления пользовательским интерфейсом (User Interface Management
Systems).
расширяют
возможности
высокоуровневого
описания
пользовательского
интерфейса, которые в Построителях интерфейса ограничиваются только визуальной
составляющей.
Системы
управления
пользовательским
интерфейсом
поддерживают
раздельную реализацию и модификацию интерфейса и прикладной программы и имеют
средства для декларативного описания модели связи между интерфейсом и прикладной
программой [1,5,11].
III. Моделеориентированные средства для разработки интерфейсов (Model-Based
Interface Development Systems) позволяют специфицировать весь интерфейс, при этом
разделить спецификацию интерфейса на модули – составляющие интерфейса и далее, по
построенной высокоуровневой спецификации автоматически сгенерировать код интерфейса
[4,8,12,13].
Основными тенденциями современного этапа для выполнения требований снижения
стоимости разработки и особенно упрощения модифицирования (в структуре затрат на
разработку программного продукта, как следует из многих источников, например [3],
модификация системы превышает стоимость разработки в 3-4 раза) являются:
-
мощные
инструментальные
средства
разработки
программного
средства,
обеспечивающие поддержку высокоуровневого описания;
- средства автоматической генерации (полной или частичной) программного средства
по высокоуровневому описанию;
- раздельная реализация и модифицирование архитектурных компонент программного
средства;
- разделение каждого архитектурного компонента на составляющие, допускающие их
раздельное модифицирование.
Таблица 1 показывает, как указанные требования реализуются в каждом классе
инструментальных средств. Так, Построители интерфейса не поддерживают разработку всех
составляющих пользовательского интерфейса, соответственно, исполнимый код также
автоматически генерируется только для этой части пользовательского интерфейса, остальная
часть, например, сценарий диалога, полностью кодируется разработчиком. Построители
интерфейса
не
поддерживают
ни
раздельное
модифицирование
пользовательского
интерфейса и прикладной программы, ни вообще разделение интерфейса на составляющие
[6]. Системы управления пользовательским интерфейсом не поддерживают высокоуровневое
описание
и,
соответственно,
автоматическую
генерацию
всех
составляющих
пользовательского интерфейса, однако, их основное преимущество - раздельная реализация с
прикладной программой [6]. Моделеориентированные средства, являясь развитием Систем
управления
пользовательским
интерфейсом,
допускают
раздельную
реализацию
и
модифицирование не только пользовательского интерфейса и прикладной программы, но
также и составляющих интерфейса. Однако, каждая моделеориентированная система имеет
свой набор составляющих модели интерфейса [9]. При этом, разные компоненты
описываются на разных языках, учитывающих специфику этих компонент. Как следствие,
методы реализации разных компонент модели различны. Необходимость использования
нескольких
языков
затрудняет
проектирование
и
последующее
модифицирование
интерфейса.
4. Основная идея разработки пользовательского интерфейса на основе
онтологий. На основе требований современного этапа к разработке программных систем и,
соответственно,
пользовательского
интерфейса,
предложен
подход
к
разработке
пользовательского интерфейса на основе онтологий, который сохраняет все преимущества
существующих подходов, а также имеет ряд новых идей по сравнению с существующими
подходами. Основные положения данного подхода заключаются в следующем.
I. Разделить реализацию и модифицируемость интерфейса и прикладной программы
при условии выполнения соглашений об их взаимосвязи. Данное положение является
необходимым следствием не только требований, перечисленных в п.1, но также обусловлено
эволюцией системной архитектуры, которая требует использования как централизованных
систем, так и распределенных.
II. Объединение однородной по содержанию информацию в компоненты модели
интерфейса. При этом модель пользовательского интерфейса должна содержать всю
информацию об этом пользовательском интерфейсе, которая может подвергнуться
изменению в его жизненном цикле, а также допускать автоматическую реализацию
пользовательского интерфейса по его модели (средствами компиляции или интерпретации).
Какие однородные составляющие можно выделить при проектировании интерфейса?
Очевидно, что любую предметную область человек воспринимает через систему понятий,
которая в ней принята и используется. Логически, в пользовательском интерфейсе можно
выделить три основные системы понятий:
- система понятий пользователя, в терминах которой он осуществляет свое
взаимодействие с программной системой, поэтому в интерфейсе должна быть определена
система понятий пользователя;
- профессиональная система понятий разработчика интерфейса, состоящая из двух
основных частей: терминологии, описывающей структуру и состав средств для отображения
информации в интерфейсе, а также терминология для описания сценария диалога.
- система понятий, с помощью которой осуществляется взаимодействие прикладной
программы и пользовательского интерфейса – имена переменных, их типы, область
возможных значений, типы протоколов и др.
Таким образом, в интерфейсе должно быть определено три основные системы
понятий, между которыми, безусловно, существуют определенные связи, которые также
должны быть определены в интерфейсе и являются его неотъемлемой составляющей.
III. Представление компонентов интерфейса виде декларативных моделей, которые
формируются на основе универсальных онтологий, описывающих информацию о каждом
компоненте модели интерфейса, при этом разработчику интерфейса для упрощения
разработки
и
модификации
предоставляется
редактор,
управляемый
моделями
универсальных онтологий.
IV. Автоматическая генерация исполнимого кода интерфейса по декларативным
моделям. Автоматическая генерация по высокоуровневой спецификации в код на некоторый
из языков программирования позволяет значительно сократить время на реализацию
интерфейса. При этом, именно пользовательский интерфейс является той составляющей
программной системы, которая подвержена частым изменениям из-за наличия широкого
круга пользователей с различным уровнем подготовки и требований к программной системе.
Реализация пользовательского интерфейса, удовлетворяющего требованиям пользователей,
возможна только путем создания макетов будущего интерфейса и чем больше таких макетов
в единицу времени может быть построено, тем больше вероятность построения
дружественного пользовательского интерфейса.
4. Модель пользовательского интерфейса. Модель пользовательского интерфейса
должна содержать всю информацию об этом пользовательском интерфейсе, которая может
подвергнуться изменению в его жизненном цикле. Модель конкретного пользовательского
интерфейса создается на основе онтологий, которые описывают информацию о каждой
составляющей модели интерфейса - универсальных онтологий. В общем случае каждая из
универсальных онтологий для описания составляющих компонентов модели интерфейса
O=<Name, OS>, где Name – множество имен, Name ={<n, {sn}>}, n- имя термина, snхарактеристика (атрибут) этого термина. OS – множество онтологических соотношений.
Формирование информации для конкретного пользовательского интерфейса сводится к
выделению подмножества O из соответствующей универсальной онтологии O и уточнении
значений ее характеристик. Таким образом, на основе универсальной модели онтологии,
можно сформировать информацию для произвольного количества пользовательских
интерфейсов (произвольное количество подмножеств). Те есть существует отображение :
O2O. В интерфейсе можно выделить следующие универсальные онтологии O= {D, G, L, S,
I}, где
D - онтология предметной области, G – онтология выразительных средств
интерфейса, L – онтология прикладной программы, S – онтология сценария диалога, I онтология связи, I=I1I2, где I1 - онтология связи между онтологиями предметной области и
выразительных средств, I2 -между онтологиями предметной области и прикладной
программы. Соответственно, O={D, G, L, S, I}. Онтология связи I1 есть отображение
NameDNameG,
онтология
связи
I2
определяет
взаимнооднозначное
соответствие
NameDNameL.
Как было отмечено, модель конкретного пользовательского интерфейса формируется
путем выделения подмножества O из O и уточнения значений ее характеристик. Таким
образом, модель пользовательского интерфейса IM= <D, G, L, S,I>.
Таким
образом,
модель
любого
пользовательского
интерфейса
прикладной
программы можно рассматривать как совокупность следующих моделей: системы понятий
предметной области, выразительных средств интерфейса, прикладной программы, сценария
диалога, а также соответствий между моделями системы понятий предметной области и
выразительных средств, между моделями системы понятий и прикладной программы
5. Процесс проектирования, средства реализации модели интерфейса. На рис. 1
представлена базовая архитектура инструментального комплекса.
В общем случае архитектура инструментального комплекса предполагает наличие
таких инструментов, как помощники проектирования, критики проектов, средства
автоматизированного проектирования и др. для обеспечения помощи разработчикам
интерфейса, устранения дефектов, которые не отображены в базовой архитектуре.
Основным инструментом разработчика являются редакторы компонентов модели
интерфейса, которые представлены на рис. 2. Редакторы предназначены либо для построения
новых компонентов модели, либо для повторного использования существующих, которые
находятся в Многоцелевом банке знаний [7]. Доступ к данному информационному ресурсу
осуществляется через Internet. Таким образом, поддерживается как Internet, так и локальная
версия редакторов для формирования компонентов модели. Каждый редактор управляется
онтологией, которая отражает специфику соответствующего компонента модели. Процесс
разработки компонентов модели интерфейса заключается в извлечении подходящей
подсистемы понятий из модели онтологии и конкретизации этих понятий (задании значений
атрибутов в определениях общих понятий). Таким образом, формируются декларативные
описания компонентов модели интерфейса. Средство реализации интерфейса преобразуют
модель интерфейса в исполнимое представление, которое затем связывается с кодом
приложения и передается конечным пользователям.
6. Обсуждение результатов. Обсуждение данного подхода целесообразно вести с
точки зрения требований современного этапа – снижения стоимости разработки и упрощения
модифицируемости.
Сокращение технологического цикла (времени разработки) достигается за счет
замены
процедурного
кода
на
высокоуровневые
декларативные
модели,
наличия
инструментальных средств поддержки разработки, в результате чего разработчики
интерфейса освобождаются от изучения языка программирования, им предоставляются
универсальные онтологии для формирования компонентов модели конкретного интерфейса,
автоматически генерируется код интерфейса по декларативной модели.
Упрощение модификации интерфейса достигается за счет
раздельной реализации
прикладной программы и интерфейса; а также реализации интерфейса, исходя из его
составляющих.
В настоящее время разработана прототипная версия данного проекта. Следует
заметить,
что
работа
над
данным
проектом
является
результатом
многолетнего
исследования, проводимого сотрудниками нашего института в области автоматической
генерации пользовательского интерфейса. Ранее в отделе нашего института была
разработана, реализована и прошла успешную эксплуатацию система автоматической
генерации пользовательского интерфейса по модели предметной области. С ее помощью
было реализовано несколько серьезных проектов. Использование системы дало неоспоримые
преимущества при разработке и сопровождению реализованных проектов. Данный подход
основан на развитии предложенного ранее, а также современным тенденциям в области
разработки интерфейсов.
В работе представлена общая концепция разработки пользовательских интерфейсов
на
основе
онтологий.
Однако,
работы
в
области
разработки
интеллектуальных
пользовательских интерфейсов не ограничены только поиском методов и разработкой
средств
их
автоматической
генерации.
В
настоящее
время
ведутся
работы
по
автоматизированному поиску дефектов в модели интерфейса. Разработана база знаний о
дефектах интерфейса, содержащая описание более ста дефектов. База знаний о дефектах
является управляющей структурой для помощников проектирования и критиков дизайна,
основная цель которых обнаружить дефекты в интерфейсе и предложить разработчику
методы их устранения. Новым требованием к интерфейсам является возможность генерации
объяснений, что раньше являлось требованием лишь к интерфейсам экспертных систем. В
настоящее время разработана математическая модель генерации гибких объяснений,
зависящих от требований конкретного пользователя интерфейса, ведутся работы по
реализации данной модели. Сложность и функциональность программных систем с каждым
годом заметно возрастает. Для упрощения работы с ней необходима система контекстной
помощи. Ее реализация для конкретного интерфейса является сложной и трудоемкой
задачей. В настоящее время разрабатываются методы и средства автоматической генерации
системы контекстной помощи. Разработана концепция модели задач пользователя, выделены
универсальные логические связи в модели задач, разработаны алгоритмы, реализующие пять
видов контекстной помощи. Ведутся работы по реализации системы автоматической
генерации контекстной помощи.
Список литературы.
1.
Гультяев А.К., Машин В.А. Проектирование и дизайн пользовательского
интерфейса. СПб.: КОРОНА принт, 2000. 352 с.
2.
Скопин И.Н. Разработка интерфейсов программных систем // Системная
информатика. 1998. Вып. 6. C.123–173.
3.
Соммервил И. Инженерия программного обеспечения: Пер. с англ. М.: Вильямс,
2002. 624с.: с ил.
4.
Based
Da Silva P.P., Griffiths T., Paton N.W. Generating User Interface Code in a ModelUser
Interface
Development
Environment
//
http://www.cs.man.ac.uk/%7Enorm/papers/avi2000.pdf
5.
Lowgren J. Knowledge – Based Design Support and Discourse Management in User
Interface Management Systems. Linkoping Studies in Science and Technology. Dissertations No.
239, 1989. 224 p.
6.
Myers B.A. User Interface Software Tools // ACM Transactions on Computer-Human
Interaction. 1995. Vol. 2, No. 1, March. P. 64-103.
7.
Orlov, V.A. Intelligent support for the process of editing information contents of
computer banks of knowledge // In The Proceedings of the Doctoral Consortium on Enterprise
Information Systems, April 23-26, Angers, France, 2003. P.633-636.
8.
Puerta A. R. Supporting User–Centred Design of Adaptive User Interfaces via
Interface Models // http://smi-web.stanford.edu/projects/mecano/publicat.htm
9.
Puerta A.R. Issues in Automatic Generation of User Interfaces in Model-Based
Systems // Computer-Aided Design of User Interfaces / Ed. by Jean Vanderdonckt. Namur,
Belgium:
Presses
Universitaires
de
Namur,
1996.
http://smi-
web.stanford.edu/projects/mecano/publicat.htm
10.
Puerta A.R., Maulsby D. Management of Interface Design Knowledge with MOBI–D
// IUI97: International Conference on Intelligent User Interfaces, Orlando, Jan. 1997. P. 249–252.
11.
Singh G. and Green M. A High-level User Interface Management System //
Proceedings SIGCHI'89. 1989, Apr. P. 133-138.
12.
Szekely P., Sukaviriya P., Castells P., Muthukumarasamy J., Salcher E. Declarative
Interface Models for User Interface Construction Tools: the Mastermind Approach // Engineering
for Human-Computer Interaction. / Eds L. Bass, C. Unger Eds. Chapman & Hall, 1996. http://www.isi.edu/isd/Mastermind/mastermind-ia.htm
13.
Wiecha C., Bennett W., Boies S., Gould J., Green S. ITS: A Tool for rapidly
Developing Interactive Applications // ACM Transactions on Information Systems, 1990. Vol. 8.
No. 3./ http://citeseer.ist.psu.edu/context/207330/0
Справка об авторах.
Клещев
Александр
Сергеевич
–
д.ф.-м.н.,
профессор,
зав.
Отделом
интеллектуальных систем Института автоматики и процессов управления ДВО РАН, 690041,
г. Владивосток, ул. Радио, 5, kleschev@iacp.dvo.ru, (4232)310-424.
Грибова Валерия Викторовна - к.т.н., с.н.с. лаборатории медицинских экспертных
систем Института автоматики и процессов управления ДВО РАН, 690041, г. Владивосток, ул.
Радио, 5, gribova@iacp.dvo.ru, (4232)314-001.
Download