автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.11, диссертация на тему:Автоматизация проектирования, реализации и сопровождения пользовательского интерфейса на основе онтологического подхода

доктора технических наук
Грибова, Валерия Викторовна
город
Владивосток
год
2007
специальность ВАК РФ
05.13.11
Диссертация по информатике, вычислительной технике и управлению на тему «Автоматизация проектирования, реализации и сопровождения пользовательского интерфейса на основе онтологического подхода»

Автореферат диссертации по теме "Автоматизация проектирования, реализации и сопровождения пользовательского интерфейса на основе онтологического подхода"

На права?; рукописи

ГРИБОВА Валерия Викторов на

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

Специальность 05,13.11 - МатеДщческее и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

Автореферат диссертации на соискание ученой степени доктора технических наук

Владивосток - 2007

Работа выполнена в Отделе интеллектуальных систем Института автоматики и процессов управления Дальневосточного отделения РАН

Научный консультант:

доктор физико-математических наук, профессор Клеще в Александр Сергеевич

Официальные оппоненты:

член-корреспондент РЛ1Т, доктор физико-математических наук, Смагин Сергей Иванович

доктор технических наук,

с.н.с. Вобков Валерий Александрович

доктор технических наук, профессор Сосннн Петр Иванович

ведущая организация:

Вычислительный центр имени А.А.Дородницына РАН (г. Москва)

Защита состоится « 02 » ноября 2007 г. в 14.00 ч на заседании диссертационного совета Д 005.007.01 й Институте автоматики и процессов управления Дальневосточной! отделения РАН цо адресу: 690041, г, Владивосток, ул. Радио, 5,

С диссертацией можно ознакомиться в библиотеке Института автоматики и процессов управления ДВО РАН.

N

Автореферат разослан <:/_»

Ученый секретарь диссертационного совета, к.т.н. Л,В. Лебедев

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

Актуальность проблемы. Пользовательский интерфейс является неотъемлемой составляющей подавляющего большинства программных средств Как правило, пользователи судят о программном средстве в целом и «пригодности» его к использованию по тому, насколько удобен пользовательский интерфейс и в какой мере он отвечает их требованиям При этом требования пользователей весьма разнообразны и определяются как личными предпочтениями и особыми запросами, так и назначением интерфейсов, особенностями представления информации в различных предметных областях, условиями и средой использования Эти факторы требуют создания интерфейсов для различных платформ с поддержкой множества типов диалогов (основанных на экранных формах или WIMP1 -интерфейсах, текстах, графических образах, речи, с использованием различных цветовых схем, анимации и мн др ) При этом важным критерием является их качество В результате проектирование, разработка, модифицирование и сопровождение пользовательского интерфейса оказываются чрезвычайно сложными и связаны со значительными затратами времени, поскольку требуют учета множества факторов, тесно взаимосвязанных между собой и зачастую противоречащих друг другу По оценкам различных специалистов на пользовательский интерфейс уходит не менее половины времени, требуемого на разработку программного средства

В связи с вышесказанным актуальными являются исследования, направленные на решение проблем уменьшения трудоемкости проектирования, прототипирования, реализации и сопровождения пользовательского интерфейса, с поддержкой различных типов диалога, и обеспечения качества его разработки -юзабилити2 (usability) Большой вклад в решение указанных проблем внесли российские и зарубежные ученые Т А Гаврилова, О JI Перевозчикова, Э В Попов, П И Соснин, В Ф Хорошевский, Р Castells, J Foley, М Ivory, С Janssen, J Lowgren, В Myers, A Puerta, G Singh, P Sukaviriya, P Szekely и многие другие На основе современных достижений в данной области сформировались две основные парадигмы автоматизации разработки пользовательского интерфейса дизайнерская и моделеориентированная

В рамках дизайнерской парадигмы разработаны методы высокоуровневого проектирования визуального представления пользовательских WIMP-интерфейсов (основанных на экранных формах) и автоматической генерации кода на некоторый язык программирования (Pascal, С#, С++, Java и др) для визуального представления Проектирование интерфейса, основанного на дизайнерской парадигме, осуществляется с помощью Построителей интерфейсов (Interface

' Windows, Icons, Menus, Pointing devices

2 Концепция разработки пользовательских интерфейсов, ориентированная на максимальное психологическое и эстетическое удобство для пользователя

Builder), входящих в состав интегрированных пакетов и CASE-средств Данные средства используют специализированные редакторы, основанные на технологии WYSIWYG3, значительно снижающие трудоемкость проектирования визуального компонента пользовательского интерфейса Они легки в применении, особенно для построения простых интерфейсов

В рамках моделеориентированной парадигмы разработаны методы раздельного проектирования и реализации интерфейса и прикладной программы, предложен принцип замены проектирования и сопровождения интерфейса проектированием и сопровождением его модели, разработаны методы автоматической генерации кода пользовательского интерфейса по его модели и связывания этого кода с прикладной программой

Проектирование интерфейса, основанного на моделеориентированной парадигме, осуществляется с помощью моделеориентированных средств (ModelBased Interface Development Environment) Mastermind, Mecano, ITS, Tellach и др Основным информационным компонентом моделеориентированной системы (МОС) является модель интерфейса, которая разбивается на несколько составляющих Некоторые МОС являются интегрированными комплексами и включают в свой состав не только средства проектирования и реализации пользовательского интерфейса, но и средства создания помощи и оценки качества интерфейса

Однако каждая парадигма имеет ряд нерешенных проблем Так, дизайнерская парадигма поддерживает проектирование и автоматическую генерацию только визуального компонента пользовательского интерфейса, в результате проектирование, реализация и сопровождение других компонентов остается трудоемким, обеспечивает поддержку только одного типа диалога, не поддерживает обеспечение качества интерфейса (юзабилити) и создание помощи пользователю Для оценки качества интерфейсов, разработанных с помощью Построителей интерфейса, используют либо методы неавтоматизированного оценивания (аналитическое, экспертное, оценивание на основе опыта и исследования), либо независимые от среды разработки средства автоматизированного оценивания интерфейса (верификация характеристик юзабилити, моделирование деятельности конечных пользователей, результирующее оценивание) Этот процесс является трудоемким даже в случае автоматизированного оценивания из-за сложности формирования информации, необходимой таким системам Средства помощи конечному пользователю интерфейса (помощь является важным критерием его юзабилити) также реализуются сторонним инструментарием (например, с помощью Microsoft Winhelp, Microsoft Compressed HTML Help, HTML Help 2 0, AP Help 1 0 и др ) Она, как правило, является контекстно-независимой, а ее создание и сопровождение является очень дорогой и трудоемкой задачей (при изменении программного средства необходимо модифицировать и систему помощи)

3 What You See Is What You Get

В моделеориентированной парадигме также остались нерешенными ряд проблем и в настоящее время она не получила широкого практического применения Основная причина - сложность инструментария, основанного на данной парадигме, из-за чего он устаревает уже к моменту выхода на рынок, во многих МОС от разработчика требуется знание различных специализированных языков (что значительно увеличивает трудоемкость разработки), а также поддерживается только один тип диалога Для автоматизации оценивания юзабилити в некоторых МОС применяются средства автоматизации дизайна, «советники разработчика», «критики дизайна», средства поддержки разработки контекстно-зависимой помощи Однако, их «встроенность» в инструментальные средства, затрудняет расширение таких средств и приводит к быстрому устареванию

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

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

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

1 Разработка концепции автоматизации проектирования, реализации и сопровождения пользовательского интерфейса на основе онтологического подхода

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

3 Разработка формальной модели проекта пользовательского интерфейса на основе моделей онтологий

4 Разработка формальной модели генерации программного кода пользо-

вательского интерфейса и контекстно-зависимой помощи по модели его проекта

5 Разработка методов обеспечения качества пользовательского интерфейса, использующих базы знаний

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

7 Разработка технологии проектирования и сопровождения пользовательского интерфейса с использованием интегрированного инструментального комплекса и ее экспериментальное исследование

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

Научная новизна работы. В результате проведенных исследований разработаны

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

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

• компоненты проекта интерфейса и структура каждого компонента проекта в терминах модели онтологии, информация в которых достаточна для генерации интерфейсов на различные платформы и языки программирования, а также для реализации диалогов, основанных на экранных формах, текстах, статических и динамических сценах, при этом обеспечивается повторное использование компонентов проекта для разработки других интерфейсов,

• формальная модель генерации проекта интерфейса в программный код, являющаяся языково- и платформенно-независимой,

• методы автоматической генерации расширяемой контекстно-зависимой помощи по проекту интерфейса,

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

• механизмы расширения инструментария для проектирования и реализации пользовательского интерфейса, средств его оценивания и генерации контекстно-

зависимой помощи, основанные на использовании баз знаний и онтологий

Практическая ценность работы заключается

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

• в разработке базы метрик юзабилити, как результата систематизации и обобщения рекомендаций по проектированию пользовательского интерфейса,

• в использовании разработанного инструментального комплекса для реализации интерфейсов

- программного средства, обеспечивающего мониторинг передвижения поездов и отображение маршрутов их движения на карте железных дорог РФ (интерфейс, основанный на графических динамических сценах),

- программного средства для моделирования характеристик, внешнего вида автомобилей японского производства, оценки полученного результата (интерфейс, основанный на графических статических сценах и экранных формах),

- Системы интеллектуальной поддержки обследования больных для врача-уролога (интерфейс, основанный на экранных формах, текстах, система понятий диалога состоит из 700 терминов и около 5000 вариантов значений),

- экспертной системы для предметной области «Косметология» (интерфейс, основанный на графических статических сценах),

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

• в использовании теоретических и практических результатов диссертационной работы при чтении курса лекций по дисциплинам «человеко-машинный интерфейс» и «\уеЬ-дизайн», а также в учебно-методическом комплексе по данным дисциплинам на факультете математики и компьютерных наук Дальневосточного государственного университета

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

Апробация работы. Основные положения и результаты диссертационной работы докладывались и обсуждались на следующих конференциях и семинарах Вторая Международная научно-техническая конференция "Интерактивные системы проблемы человеко-компьютерного взаимодействия" (Ульяновск, 1997), Шестая Международная конференция "Знание-Диалог-Решение" (Ялта, 1997),

Первая Дальневосточная конференция студентов и аспирантов по математическому моделированию (Владивосток, 1997), Региональная естественнонаучная конференция студентов, аспирантов и молодых ученых (Владивосток, 1997), Дальневосточная математическая школа-семинар им акад Е В Золотова (Владивосток, 1997-2007), Международная школа-семинар "Диалог-98" (Казань, 1998), Международная научно-практическая конференция «Компьютерные технологии в науке, производстве, социальных и экономических процессах» (Новочеркасск, 2000), Pacific Asian Conference on Intelligent systems (Korea, 2001), The 10th International Manufacturing Conference (China, 2002), X-International Conference "Knowledge-Dialog-Solution" (Bulgaria, 2003), IX национальная конференция по искусственному интеллекту с международным участием (Тверь, 2004), Интеллектуальные и многопроцессорные системы (Таганрог, 2004), II Международная конференция «Параллельные вычисления и задачи управления» (Москва, 2004), V Международная конференция «Идентификация систем и задачи управления» (Москва, 2005), XI-th International conference "Knowledge-dialog-solution" (Bulgaria, 2005), Первая международная конференция "Системный анализ и информационные технологии" (Пере-славль-Залесский, 2005), Интеллектуальные и многопроцессорные системы-2005 (Таганрог, 2005), Научная сессия МИФИ-2006, X национальная конференция по искусственному интеллекту с международным участием (Обнинск, 2006), Интеллектуальные и многопроцессорные системы-2006 (Таганрог, 2005), III Международная конференция «Параллельные вычисления и задачи управления» (Москва, 2006), IX международная конференция «Интеллектуальные системы и компьютерные науки» (Москва, 2006), XIII-th International conference "Knowledge-dialog-solution" (Bulgaria, 2007), семинары отдела интеллектуальных систем ИАПУ ДВО РАН и базовой кафедры программного обеспечения ЭВМ ДВГУ (1998-2007), семинар Российской ассоциации искусственного интеллекта (2007)

Публикации. Основные результаты диссертации изложены в 41 печатная работа.

Структура и объем работы. Диссертация состоит из введения, семи глав, заключения, списка литературы и шести приложений Основное содержание работы изложено на 308 страницах машинописного текста, содержит 78 рисунков, список использованной литературы из 226 наименований

Личный вклад. Все результаты, составляющие основное содержание диссертации, получены автором самостоятельно В работах [1,6] автором выполнена реализация комплекса и прикладной программы, разработанной на ее основе, в работах [2-4,11,12] выполнено формальное описание моделей, в работах [7-9,15,21,22,28] выделены основные компоненты модели и их состав, выполнены формальные описания моделей, в работе [16] разработана система понятий, мета-онтология, в работах [19,20,23,24,30,33,35,40] выполнены постановки задач, разработаны основные теоретические положения, в работе [37] описана архитектура и основные задачи блока управления разработкой пользовательского интерфейса

СОДЕРЖАНИЕ РАБОТЫ

Во введении обосновывается актуальность проблемы, формулируются цели и задачи исследования, приводится перечень основных результатов диссертационной работы, приведены сведения об апробации работы и публикациях

В первой главе литературного обзора дано определение пользовательского интерфейса, рассмотрены его основные функции, жизненный цикл, основные парадигмы автоматизации разработки Для каждой парадигмы выделены ее основные характеристики, достоинства и недостатки Особое внимание уделено моделеориентированной парадигме и инструментарию, поддерживающему разработку интерфейса в соответствии с этой парадигмой Рассмотрены методы и средства оценивания качества интерфейса и создания помощи На основе проведенного обзора определена цель и основные задачи диссертационной работы

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

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

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

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

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

Построение алгоритма автоматического преобразования проекта интерфейса в программный код, который управляется моделями онтологий, при этом характеристики конкретного проекта являются входными данными для этого алгоритма

Подход к разработке пользовательского интерфейса на основе онтологий также, как и подход, основанный на моделеориентированной парадигме,

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

Выделенные системы понятий и разработанные на их основе модели онтологий отражают терминологию каждой из групп специалистов, осуществляющих разработку и сопровождение пользовательского интерфейса МОС и Построители интерфейса поддерживают разработку только одного типа диалога в рамках инструментального средства В данной работе предлагается система понятий для разработки Ш1МР-интерфейсов, интерфейсов основанных на графических сценах (статических и динамических) и текстах

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

Система понятий о средствах представления информации в пользовательском интерфейсе Информация о средствах представления в общем случае определяет интерактивные объекты, используемые на экране в различных состояниях диалога В диссертационной работе предложены следующие системы понятий и, соответственно, типы диалогов система понятий графического пользовательского интерфейса, для разработки интерфейсов, основанных на экранных формах или ^МР-интерфейсов, система понятий для формирования текстов, система понятий графических (статических и динамических) сцен на плоскости

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

Система понятий для описания связи интерфейса с прикладной программой В ее терминах осуществляется связь между прикладной программой и пользовательским интерфейсом Она определяет множество программных интерфейсов, предоставляемых прикладной программой Каждый программный интерфейс описывает модель взаимодействия с программой, которая может быть

локальной и распределенной, а также список функций, предоставляемых данным интерфейсом

Для каждой системы понятий построена модель онтологии При описании моделей онтологий используется теоретико-множественная нотация В диссертационной работе описаны модели онтологий для каждой системы понятий, в автореферате приведен пример описания моделей онтологий системы понятий диалога и фрагмента модели онтологии графических (статических и динамических) сцен на плоскости

Модель онтологии системы понятий диалога (ОСПД) описывает структуру терминов системы понятий диалога и виды связей между ними, ОСПД=<ИмяСистемыПонятий, ГруппыТерминов>, где ИмяСистемыПонятий -имя системы понятий диалога, ГруппыТерминов - множество групп терминов, ГруппыТерминов={ГруппаТерминов1};®7®г°"ре°™'

Каждая группа терминов ГруппаТерминов, характеризуется тройкой, ГруппаТерминов,=<ИмяГруппы„ ГруппыТерминов,, Термины,>, где ИмяГруппы, -имя группы терминов (все имена групп терминов в модели онтологии должны быть различны), ГруппыТерминов, - множество групп терминов внутри данной группы, ГруппыТерминов,:=ГруппыТерминов, Термины, - множество терминов внутри данной группы, Термины,={Терминч} Группы терминов предназначены для

объединения терминов в концептуально связанные группы

Каждый термин Термин,1 характеризуется парой, Термин,^сИмяТерминащ, ТипЗначения,где ИмяТерминац - имя термина (все имена терминов в модели онтологии должны быть различны), ТипЗначенияц - тип значения, который может быть составным (т е состоящим из множества вложенных терминов), количественным, качественным или строковым, ТипЗначенияц е ТипыЗначений, ТипыЗначений = {Составное, Количественное, Качественное, Строковое}, где Составное — составное значение, Количественное — количественное значение, Качественное - качественное значение, Строковое - строковое значение

Составное значение описывает множество атрибутов, Составное = {Атрибут,}^"6"'"™"' Каждый атрибут Атрибут, описывается парой, Атрибут, = <ИмяАтрибута,, ТипЗначения,>, где ИмяАтрибута, - имя атрибута (в модели онтологии имена всех атрибутов принадлежащих одному и тому же термину/атрибуту должны быть различны, при этом имена атрибутов принадлежащих различным терминам/атрибутам могут совпадать), ТипЗначения, -тип значения атрибута, ТипЗначения, е ТипыЗначений Атрибуты предназначены для описания существенных, неотъемлемых свойств терминов

Количественное значение может быть целым или вещественным, Количественное={ЦелоеЗначение, ВещественноеЗначение} При описании целого значения ЦелоеЗначение указывается диапазон его возможных значений, а также единица измерения, т е ЦелоеЗначение = <ЦелоеМин, ЦелоеМакс, ЦелоеМера>,

ЦелоеМин - целое число, описывающее минимум для данного значения, ЦелоеМакс - целое число, описывающее максимум для данного значения, ЦелоеМера - строка, описывающая единицу измерения Аналогично описывается вещественное значение

Качественное значение Качественное=<СпособВыбора,

КачественныеЗначения>, где СпособВыбора - способ выбора качественного значения из множества вариантов и КачественныеЗначения - множество вариантов качественного значения, КачественныеЗначения={КачественноеЗначение,} Способ выбора качественного значения СпособВыбора е {Совместный, Несовместный}, где Совместный - способ выбора, при котором из множества вариантов КачественныеЗначения может быть выбрано любое подмножество значений, Несовместный - способ выбора, при котором из множества вариантов КачественныеЗначения может быть выбрано только одно значение Каждый вариант качественного значения КачественноеЗначение, является строкой

Для строкового значения указывается его максимально допустимая длина, Строковое = <СтроковоеЗначение, МаксимальнаяДлина>, где СтроковоеЗначение -это строка, длина которой не больше параметра МаксимальнаяДлина, МаксимальнаяДлина — целое число, описывающее максимально допустимую длину значения параметра СтроковоеЗначение

Модель онтологии графических статических и динамических сцен на плоскости. Для данной модели онтологии в диссертационной работе описаны классы задач, для которых может быть использована данная онтология, даны основные характеристики каждого класса В диссертационной работе приведено полное описание модели онтологии, здесь же приведено описание ее фрагмента Модель онтологии графических сцен состоит из базового графического изображения - базы {base), наполнений (fills), предопределенных (predPrimits), строящихся (buildPrimits) и сложных примитивов, а также взаимосвязей между ними База (base ) состоит из следующих элементов

(baseName, baselmage, refPointCoord, refPoint Value, rangeScale,s

base =

JimeScale,timeFormat,simpleFragments,unionFragments y где baseName e Strings - имя базы, baselmage e Images - образ базового изображения, refPointCoord e Coords - координаты точки отсчета, re/Point Value e Coords - значение координат в точке отсчета, rangeScale -масштаб расстояния, timeScale - масштаб времени, timeFormat - формат времени, simpleFragments — множество простых фрагментов базы, unionFragments - множество составных фрагментов базы

Масштаб расстояния определяет отношение объектов графической сцены к реальной величине объектов и имеет следующие составляющие

rangeScale = (scale Value, screenRangeType, naturalRangeType) , где scaleValueeN - масштабный коэффициент, screenRangeType - тип визуального расстояния сцены, naturalRangeType--та реального расстояния

Масштаб времени — это соотношение временных рамок процесса к реальному времени Масштаб времени имеет вид

timeScale = (timeScaleValue,realTimeType,screenTimeType) где timeScale Value е N - масштабный коэффициент, realTimeType - тип реального времени сцены, screenTimeType - тип виртуального времени сцены

Множество простых фрагментов имеет вид

simpleFragments =

fragName:, fragNumbert

i = 1 ,fragCount, I fragCount e N J

где fragName1 e Strings - имя простого фрагмента, fragNumber s {г Vz e N,3imagel с baselmage} - номер части образа базы

Множество составных фрагментов имеет вид

uumonNamet, i = \,unionCount, yUnionSimples,) unionCount е N

umonFragments

где umonNamel е Strings - имя составного фрагмента, unionSimples: с. simpleFragments - множество простых фрагментов входящих в составной фрагмент

Множество наполнений имеет вид fillNamel

fills =

fillColort, fiUTexturel j

i = \,JillCount, fillCount e N

где fillNamel s Strings - имя наполнения, fillColor, s Colors - цвет заливки, fillTexture1 e Images - текстура

Количественные характеристики задаются множеством

(numName ^

nums =

numMin,, упитМах1

i = l,numCount, numCount e N

i -1, predCount > predCount e N

где numNamel e Strings - имя количественной характеристики, numMin, e N -левая граница интервала, numMaxl е N - правая граница интервала

Множество предопределенных примитивов имеет вид

predNamet, predRoutet, predRouteColorl, predRouteTypel, predRouteWidth,, predAutoTurnt, predPrimits - predPropt, predlmage,,

predPosl, predCoordt, predDefSpritel, predSprites,, predTransformst, predColors,, predAreas,,

где predNamel e Strings - имя предопределенного примитива, predRoute, -маршрут движения, predRouteColort e Colors - цвет линии маршрута, predRouteTypel e LineTypes - тип линии маршрута,

predRouteWidth, e Line Widths - толщина линии маршрута, predAutoTurn, s i?oo/ - авто-поворот при движении, predPropI - множество дополнительных свойств примитива, predlmage, е Images ~ образ, predPos, -позиция, predCoordt е Coords - координаты предопределенного примитива на базе, predDefSpritet е predSprites, - начальный спрайт, predSpritest - множество спрайтов, predTransformst - множество трансформаций, predColors, — множество цветов, predAreas, - множество областей

Маршрут движения задается упорядоченным множеством точек

predRoute, = [pointл, ,point,ромСош)

pointy = (pointCoordy, routeSelection^ ,speedInPointtf, pointDate^) V/ = \,pointCount,pomtCount e N

Vz = 1,predCount

где pointCoordy e Coords - координаты точки, routeSelectionj e Bool -отображение маршрута после прохождения примитива через данную точку маршрута, speedlnPointtJ — скорость примитива после прохождения через данную

точку маршрута, pointDatev - дата в масштабе времени сцены, указывающая момент прохождения примитива через данную точку маршрута Скорость примитива определяется следующим образом

зреесИпРспЫу = [яреейУаЫе^, га^еТуреу^гтеТурву ),

где эреейУаЫе^ е N - коэффициент скорости

Множество спрайтов предопределенного примитива имеет вид

predSpritest —

spriteName:j, spritelmagetj, spriteVector.j

j = 1 ,spriteCount, spriteCount 6 N

Vi = 1 ,predCount

где spriteNametJ e Strings - имя спрайта, spritelmages Images - образ спрайта, spriteVectortj e{(C„C2) C,,C2 e Coords) - вектор движения

Множество трансформаций предопределенного примитива имеет вид

predTransformsl =

transName, transRotatioriy transOffsety, transScale,,

j = \,transCount, transCount e N

Уг = 1, predCount

где transNamey & Strings - имя трансформации, transRotation^ e [-180,180] -угол вращения изображения, transOffsety e Coords - смещение координат изображения, transScale■ s N — масштаб изображения

Множество областей предопределенного примитива имеет вид

predAreast -

areaNamev, areaFiguretJ, areaConds,,

j = \,areaCount, areaCount e N

Vi = 1,predCount

где areaNametj e Strings - имя области, areaFigure - фигура области, areaConds- множество условий наложенных на область

Разработанные модели онтологий пользовательского интерфейса соответствуют системам понятий специалистов, участвующих в его разработке, и задачам, которые они решают (для экспертов предметной области предназначены модели онтологий задач пользователя и системы понятий диалога, для дизайнеров интерфейса - модель онтологии WIMP-интерфейсов, статических и динамических сцен на плоскости и т д ), модели онтологий пользовательского интерфейса не зависят от платформы и языка реализации, язык описания онтологии (русский либо английский) определяется традиционно используемым в каждой группе специалистов (эксперты предметной области традиционно используют русский

язык, дизайнеры, программисты - английский), модели онтологий, для которых возможно их развитие в процессе жизненного цикла инструментария, имеют двухуровневую структуру Верхний уровень онтологии (метаонтология) описывает структуру онтологии, в терминах которой может осуществляться ее расширение (развитие) Так, в модели онтологии WIMP-интерфейсов возможно расширение множества интерфейсных элементов, в модели онтологии статических и динамических сцен на плоскости - множества геометрических фигур, цветов, типов линий и их толщины, форматов времени и др, в модели онтологии для формирования текстов - расширение конструкций форматирования текста, в модели онтологии сценария диалога - расширение множества стандартных функций диалога, в модели онтологии связи интерфейса с прикладной программой - множество моделей взаимодействия

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

В диссертационной работе дано содержательное и формальное описание каждого компонента проекта интерфейса В автореферате приведено описание проекта системы понятий диалога и проекта отображения

Проект системы понятий диалога (ПСПД) представляет собой пару ПСДП=(й, а), где G - ориентированный граф ПСПД, ст - разметка графа Ориентированный граф ПСПД G=<Vertexes, Arcs, RootVertex>, где Vertexes -множество вершин графа, Arcs - множество дуг графа, RootVertex - корневая вершина. Множество вершин графа Vertexes={Vertex,} состоит из двух

подмножеств - множества терминальных и нетерминальных вершин, Vertex, eNeterminal_Vertexes u Termmal_Vertexes, где NetermmalJVertexes - множество нетерминальных вершин, Terminal_Vertexes - множество терминальных вершин

Множество дуг графа Arcs = {Arc,} , Arc,=<VertexFrom„ VertexTo, >, где VertexFrom,, VertexTo, - вершины из которых исходит и входит дуга Arc,, соответственно, VertexFrom,e Vertexes, VertexTo,e Vertexes Корневой вершиной графа RootVertex является нетерминальная вершина, RootVertexe Neterminal_Vertexes Разметка графа а - отображение множества вершин и дуг графа во множество имен П, где П = ИмяСистемыПонятий и

{ИмяГруппы,} и {ИмяТермина,}и {ИмяАтрибута,} и

{Качественное значение,}^"""""" и {((ВещественноеМин, ВещественноеМакс), ВещественноеМера),}^'0™"' ^ {((ЦелоеМин, ЦелоеМакс), ЦелоеМера)}™'^™"' и {N,} и {Группа Терминов, Термин, Атрибут, Совместный, Несовместный,

ВещественноеЗначение, ЦелоеЗначение, СтроковоеЗначение} Множество имен Q состоит из имени системы понятий диалога, множеств имен групп терминов, терминов, атрибутов, качественных значений, множества пар - интервала возможных значений и единицы измерения для вещественных и целых значений, множества натуральных чисел, обозначающих возможную длину строки, имена, обозначающие группу терминов, термин, атрибут, способ выбора качественных значений - совместный либо несовместный, а также тип значения - строка, целое или вещественное Разметка а задается следующим образом су RootVertex—> ИмяСистемыПонятий, корневая вершина RootVertex отображается в имя системы понятий диалога ИмяСистемыПонятий, NetermmalVertexes—> ИмяСистемыПонятий и {ИмяГруппы,} и {ИмяТермина,}™""'

{ИмяАтрибута,}^4""""""', - множество нетерминальных вершин отображается во множество имен групп терминов, терминов, атрибутов, Termmal_Vertexes-> {Качественное значение,} и {((ВещественноеМин,

ВещественноеМакс), ВещественноеМера),} и {((ЦелоеМин, ЦелоеМакс),

ЦелоеМера),} и {N,};™»'""""', множество терминальных вершин

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

- если дуга Arc, такая что VertexFrom,e NetermmalVertexes, VertexTo, e NetermmalVertexes, т e дуга соединяет нетерминальные вершины, метка дуги Arc,—» Mark, где Mark указывает тип метки вершины VertexTo,, т е Marke {Группа Терминов, Термин, Атрибут},

- если дуга Arc, такая что VertexFrom,eNeterminal_Vertexes, VertexTo,= Terminal_Vertexes, и метка вершины VertexTo,-> Mark, где Marke {Качественное значение,}^i1""""", те вершина, в которую входит дуга, помечена качественным значением, то в зависимости от способа его выбора из множества вариантов, метка дуги Arc,-> Mark, где Marke {Совместный, Несовместный},

- если дуга Arc, тч VertexFrom,e Neterminal__Vertexes. VertexTo, е Terminal_Vertexes, и метка вершины VertexTo, —> Mark, где Marke {((ВещественноеМин, ВещественноеМакс), ВещественноеМера),} u

{((ЦелоеМин, ЦелоеМакс), ЦелоеМера),} , т е вершина, в которую входит дуга, помечена описанием типа возможного значения, то в зависимости от метки дуги VertexTo, метка дуги метка дуги Arc,-» Mark, где Marke {СтроковоеЗначение, ЦелоеЗначение, ВещественноеЗначение}

Контекстные условия

1 имена всех групп терминов ИмяГруппы должны быть различны,

2 имена всех терминов ИмяТермина должны быть различны,

3 имена всех атрибутов ИмяАтрибута, принадлежащих одному и тому же термину, должны быть различны,

4 для всех качественных значений Качественное, у которых параметр СпособВыбора = Несовместный, множество КачественныеЗначения должно содержать не менее 2-х элементов

Проект отображения в общем случае определяет множество отображений элементов одного из компонентов Проекта интерфейса в другой параметров элементов интерфейса Проекта представления во множество их значений -элементов Проектов системы понятий диалога и задач пользователя, параметров элемента интерфейса на выходные данные (результаты) прикладной программы Проекта сценария диалога и др

Правила отображения задаются способом отображения В работе выделены следующие способы отображения прямое, регулярное, фрагментарное отображение, а также вычислимые ссылки Множество отображений определяется основным требованием к проекту интерфейса - обеспечению его легкой модифицируемости и сопровождения Выбор способа отображения при построении проекта интерфейса определяется его разработчиком и зависит от особенностей компонентов проекта (например, размера проекта системы понятий диалога, особенностей предметной области к представлению информации и др)

Прямое отображение В случае прямого отображения значением параметра элемента интерфейса является прямая ссылка либо на элемент Проекта системы понятий диалога, либо на элемент Проекта задач пользователя Для элемента интерфейса проекта представления WIMP-интерфейсов Control, е Windows, у которого Pararn_Typeparam = String, Рагаш_Уа1иера1ат=Значение, где Значение б {ИмяЗадачи} и ИмяСистемыПонятий и{ИмяГруппы,};е™г""рс°""' и {ИмяТермина,} и {ИмяАтрибута,} "Г4""""™' и {Качественное

значение,} Строковым значением параметра элемента интерфейса является

либо имя задачи из проекта задач пользователя, либо имена групп терминов, терминов, атрибутов, качественных значений из проекта системы понятий диалога Данный способ отображения удобен, если Проект системы понятий диалога имеет небольшой размер, а также требуется точное указание о представлении системы понятий диалога в интерфейсе (например, в случае особых запросов пользователей)

Регулярные ссылки В этом случае значением параметра элемента интерфейса являются ссылки не на компоненты Проекта системы понятий диалога, а на компоненты соответствующей онтологии (группы терминов, термины, значения, атрибуты) В результате такого отображения каждая группа терминов (терминов, значений, атрибутов), входящая в Проект системы понятий диалога, представляется выбранным дизайнером элементом интерфейса, при этом значением строкового параметра(ов) этого элемента интерфейса являются элементы Проекта системы понятий диалога {Control, —> Elementl Control, е Windows, Element e {ГруппыТерминов, Термины, Атрибут, Качественные значения}}^""'"""" Данный способ отображения удобен при большом размере проекта системы понятий диалога, когда создание интерфейсов и особенно их сопровождение другими средствами крайне трудоемко

Фрагментарные отображения При использовании данного способа отображения Проект системы понятий диалога «разбивается» на множество фрагментов Каждому фрагменту ставится в соответствие представление в интерфейсе, основанное на правилах юзабилити {FragmentJPresentastion —> Fragment_Terms I Fragment_Presentastion e {Control,} ™"'rafc°""', Control, e Windows, Fragment_Terms с G} Автоматизированный метод установления

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

Вычислимые ссылки В этом случае значением параметра элемента интерфейса является ссылка на выходные данные (результаты) прикладной программы, которые определяются в Проекте сценария диалога

Прямые отображения применяются во многих МОС, однако, вместо ссылок в них используются явные присваивания значениям параметров элементов интерфейса понятий диалога, в результате чего значительно возрастает трудоемкость сопровождения Фрагментарные отображения также используются в некоторых МОС, однако, имеют фиксированный инструментарием набор отображений, в результате чего он быстро устаревают Регулярные ссылки впервые предложены в диссертационной работе Вычислимые ссылки являются общепринятым способом отображения

Все компоненты проекта интерфейса могут повторно использоваться при проектировании других интерфейсов прикладных программ для решения задач в той же предметной области, но с другой функциональностью (проект системы понятий диалога, задач пользователя), либо в различных предметных областях, имеющих схожую функциональность (проект представления, сценария диалога, связи интерфейса с прикладной программой) В большинстве МОС повторное использование компонентов затруднено, поскольку при формировании модели интерфейса явно определяются значения между компонентами модели Принципиальным отличием компонентов проекта интерфейса, предложенных в диссертацион-

ной работе, от других средств, является отсутствие в них специфики платформ и языков реализации, что позволяет использовать один проект интерфейса для генерации интерфейсов на различные языки реализации и платформы

В четвертой главе решается задача разработки формальной модели генерации программного кода пользовательского интерфейса и контекстно-зависимой помощи по его проекту Программный код (далее код) - это код на языке реализации, который затем обрабатывается компилятором этого языка

Разработка пользовательского интерфейса и прикладной программы, в соответствии с онтологическим подходом (так же, как и в моделеориенти-рованном), осуществляется раздельно, поэтому код программного средства состоит из кода прикладной программы, кода пользовательского интерфейса, кода связи пользовательского интерфейса с прикладной программой

Код прикладной программы описывает реализацию программных интерфейсов, с которыми взаимодействует пользовательский интерфейс (в случае локальной модели взаимодействия) Данный код предоставляется разработчиком прикладной программы В случае распределенной модели взаимодействия, вместо кода разработчик прикладной программы предоставляет данные, необходимые для получения сетевого доступа к реализации прикладной программы

Код пользовательского интерфейса в общем случае состоит из кода, реализующего диалог, основанный на экранных формах (ЖМР-интерфейс), текстах, графических статических динамических сценах

Код связи интерфейса с прикладной программой описывает способ взаимодействия интерфейса с прикладной программой (локальный либо распределенный) и указывает конкретные характеристики такого взаимодействия Данный код генерируется на основе проекта связи интерфейса с прикладной программой

Формальная модель генерации кода описывает отображения компонентов проекта интерфейса в код на абстрактном языке Он предназначен для описания структуры кода пользовательского интерфейса (который в зависимости от языков и платформ реализуются с помощью различных операторов и функций) и связей между элементами такой структуры Для генерации кода на конкретный язык и платформу осуществляется преобразование с абстрактного языка в код на один из языков программирования Проект пользовательского интерфейса поддерживает три типа диалога, каждый из которых имеет свою структуру

Код для реализации 1¥1МР-интерфейсов состоит из кода инициализации интерфейса (описывает инициализацию и вызов начального окна интерфейса, а также связывание программных интерфейсов, предоставляемых прикладной программой с их реализацией), кода структуры окон (описывает начальные значения параметров каждого окна пользовательского интерфейса и элементов управления), кода поведения окон (описывает, каким образом окна и элементы

управления реагируют на события, возникающие в ходе взаимодействия с пользователем, и какие действия при этом производятся)

Код для реализации диалога, основанного на графических сценах, состоит из трех основных блоков блока инициализации сцены, блока управления сценой, блока воспроизведения сцены Основными задачами блока инициализации являются определение размера пространства сцены, инициализация образа базы в пространстве сцены, задание локальной системы координат, определение формата времени и начальной даты, размещение областей на образе базы с учетом локальной системы координат, инициализация условий, определение примитивов, наполнений и других составляющих сцены Блок управления сценой решает задачи анализа и синхронизации текущего состояния, обработки событий команд управления, контроля воспроизведения графической сцены, а также ввода данных, используя данную сцену Основной задачей блока воспроизведения является контроль параметров сцены и прорисовка ее текущего состояния (визуализация сцены) Для динамической сцены данный блок также осуществляет контроль за выполнением условий областей сцены и, при срабатывании условия, производит соответствующие действия над объектами, а также обрабатывает маршруты движения примитивов и отвечает за своевременное перемещение этих примитивов по сцене

Для генерации диалога, основанного на текстах, в код интерфейса добавляется вызов функции формирования текста по его шаблону и результатам прикладной программы

В диссертационной работе подробно описаны отображения компонентов проекта интерфейса в код на абстрактный язык для реализации WIMP-интерфейсов и интерфейсов, основанных на графических сценах, вычислительная модель генерации текста по его шаблону и результатам прикладной программы, а также полные спецификации абстрактных языков В автореферате приведен фрагмент отображения графа проекта графических сцен в код на абстрактный язык MSimpleFragment —. | >

class SimpleFragment { name String, number Integer,

}

class SimpleFragmentState { fill Fill,

}

MSimpleFragment —. i >

simpleFragments array of SimpleFragment,

simpleFragmentStates array of SimpleFragmentState, MSimpleFragment < Дбсолютннй номер >->"индекс 1", < имя >—»"значение"

вершина ~ не пройдена 1 1

simpIeFragments[«HHaeKC b>].name = «значение», MSimpleFragment < абсолютный номер >->" индекс 1", < номер фрагмента >-»"значение"

вершина = не пройдена 1 1

sirapleFragments [«индекс 1»] number = «значение», MUnionFragment —. t >

class UmonFragment { name. String,

sirapleFragments: array ofSimpleFragment;

>

MUnionFragment —. | >

umonFragments. array of UnionFragments; MUnionFragment < а^С0ЛЮТНЬ1й номер >->" индекс 1", < имя >->" значение"

вершина = не пройдена 1 1

umonFragments[«HHfleKc l»].name = «значение».

Основным преимуществом формальной модели генерации кода, предложенной в диссертационной работе, является отображение проекта интерфейса в код на абстрактный язык, независимый от платформы и языка реализации Далее с абстрактного языка осуществляются преобразования в код на конкретные языки и платформы МОС и Построители интерфейса автоматически генерируют код только для конкретного языка и платформы

В работе предложен метод автоматической генерации контекстно-зависимой помощи по проекту задач пользователя, который отражает логическую структуру программного средства (содержит иерархию задач и связи между ними) Основная задача, которую решает контекстно-зависимая помощь, - объяснить пользователю функциональность программного средства, в зависимости от контекста ответить на основные вопросы, связанные с функциональностью (задачами, которые решает пользователь), а также помочь выполнить те или иные действия С каждым вопросом пользователя связан алгоритм, который генерирует ответ на поставленный вопрос Таким образом, пользователь обращается к алгоритмам генерации помощи через вопросы

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

Текущее состояние и признак завершенности задачи алгоритмы получают от «агентов», которые автоматически встраиваются в код интерфейса при его генерации «агент» встраивается в описание каждого состояния State,,

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

Язык описания алгоритмов

Проект задач Алгоритмы а

1 Контекстно-зависимая помощь

пользователя Текуцдо задача Инициализация ежодны жданным ,_1_. 1 Соммианмобшдадервм 1 /т

Другие данные ^информация о решенных задачах)

1 Полумнив !ыюдных данных 1

Рис 1 Схема генерации контекстно-зависимой помощи

Пользователь взаимодействует с системой помощи через «интерфейс помощи», содержащий вопросы, на которые пользователь может получить ответы Ответ дается пользователю в виде списка задач и текстовой информации, объясняющей пользователю, что необходимо сделать с этими задачами Если в полученном списке задач присутствуют элементарные задачи (терминальные вершины дерева), представляющие собой конкретные действия пользователя над элементами графического интерфейса, то пользователь может попросить систему подсветить эти элементы для их быстрого нахождения Если пользователь перед выполнением задачи желает посмотреть пример выполнения этой задачи, он может воспользоваться функцией воспроизведения интерактивных роликов, которую также предоставляет данный интерфейс

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

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

Для поддержки процесса проектирования в работе предложен метод отображения проекта системы понятий диалога в проект представления (для фрагментарных отображений) с учетом правил юзабилити, а также модель

консультаций для разработчика интерфейса о правилах его проектирования в терминах модели онтологии WIMP-интерфейсов

Метод отображения проекта системы понятий диалога в проект представления использует базу знаний отображений, которая формируется по онтологии отображения представлений Суть метода заключается в обходе графа проекта системы понятий диалога в соответствии с его разбиением на фрагменты и сопоставлении каждому его фрагменту множества возможных представлений из базы знаний отображений, которая разработана на основе требований юзабилити Разработчик может просмотреть все возможные представления для каждого элемента системы понятий диалога и выбрать единственное При этом разработчику предоставляется объяснение, содержащее протокол работы описание набора критериев, по которым произведен выбор с указанием, какие из выбранных отображений были опровергнуты (не соответствуют требованиям юзабилити и почему), какие критерии соответствуют требованиям юзабилити и почему

Любое отображение в базе знаний описывается парой - условием отображения и множеством возможных представлений Условие отображения может состоять из множества условий, каждое из которых задает значения параметров, истинность которых проверяется в проекте системы понятий диалога Параметры условий задаются в терминах онтологии системы понятий диалога

В диссертационной работе полностью представлена база знаний отображений, которая формируется по разработанной автором модели онтологии отображений ООПР = {<MapCondition„ Presentations^} , где MapCondition, -условие отображения, Presentations, - множество представлений, Presentations, = {Presentation,^

Каждое условие отображения MapCondition, есть пара, MapCondition, = <ValueType„ TermValueConditions,>, где ValueType, - тип значения термина или атрибута из онтологии системы понятий диалога, Valuetype, е ТипыЗначений, ТипыЗначений = {Составное, Количественное, Качественное, Строковое}, TermValueConditions, - множество условий на значения термина либо атрибута

CondmonCount

указанного типа, TermValueConditions, = (J TermValueCondition]k

4=1

Каждое условие на значение термина характеризуется тройкой, TermValueConditions = <LeftOperandlk, Operation, ь RightOperand,ic>, где LeftOperand,!; -левый операнд, Operation,^ -операция, RightOperand.t -правый операнд Левый операнд задает параметр, в соответствии с которым формируется условие на возможное представление понятия диалога Параметрами являются элементы онтологии системы понятий диалога число значений терминов, атрибутов, либо качественных значений - termcount, attributecount, valuecount, минимальное и максимальное значение целочисленного и вещественного интервалов - ЦелоеМин, ЦелоеМакс, ЦелоеМера, ВещественноеМин,

ВещественноеМакс, способ выбора качественного значения - СпособВыбора, тип значения термина - Количественное, максимальная длина строки -МаксимальнаяДлина, единица измерения целочисленных и вещественных значений - ЦелоеМера, ВещественноеМера, выражение, обозначающее разность операндов LValue и RValue, Statement = <LValue, RValue>, где LValue = {ЦелоеМакс, ВещественноеМакс}, RValue - правая часть, RValue = {ЦелоеМин, ВещественноеМин} Таким образом, левый операнд LeftOperandlk е SetLeftOperand, где SetLeftOperand = {termcount, attributecount, Количественное, ЦелоеМин, ЦелоеМакс, ЦелоеМера, Вещественное Мин, Вещественное Макс, Вещественное Мера, СпособВыбора, valuecount, МаксимальнаяДлина, Statement} Операция Operation^ s SetOperation Правый операнд определяет значение параметра левого операнда Правый операнд RightOperand^ е SetRightOperand, где SetRightOperand = ЦелоеЗначение и ВещественноеЗначение и Строковое и {Совместный, Несовместный} В зависимости от ValueType, на условия TermValueConditions, накладываются следующие ограничения

1 Если ТипыЗначений = Составное, то

a SetLefitOperande {termcount, attributecount} b SetRightOperand = ЦелоеЗначение,

2 Если ТипыЗначений = Количественное, то

a LeftOperand е {Количественное, ЦелоеМин, ЦелоеМакс, ЦелоеМера, ВещественноеМин, ВещественноеМакс, ВещественноеМера, Statement} b RightOperand = ЦелоеЗначение и ВещественноеЗначение

3 Если ТипыЗначений = Качественное, то

a LeftOperand е {СпособВыбора, valuecount} b RightOperand s ЦелоеЗначениеи{ Совместный, Несовместный}

4 Если TermValueType = Строковое, то

a LeftOperand = МаксимальнаяДлина, b RightOperand = ЦелоеЗначение Каждое представление есть множество элементов интерфейса, т е Presentation, е Controls

Основным преимуществом данного метода перед аналогичными, имеющимися в некоторых МОС, является расширяемость множества отображений, а также объяснение выбранных и опровергнутых отображений

Для поддержки дизайнера интерфейса в процессе разработки проекта представления в работе предложена модель консультаций

Для этого правила проектирования интерфейса представляются в форме метрик юзабилити Описание и добавление новой метрики производится в терминах онтологии WIMP-интерфейсов в соответствии с онтологией метрик юзабилити Для описания метрик юзабилити на основе анализа литературы

разработана соответствующая онтология, которая имеет следующую структуру

Название метрики тип строка, уникальное имя, описывающее название метрики

Класс программного обеспечения {системное программное обеспечение, инструментарий для разработки программного обеспечения, пакеты прикладных программ } Многие требования юзабилити связаны с определенным классом программного обеспечения В этом случае при описании метрики необходимо указать ее класс

[Описание метрики тип тексту, необязательное поле - описание метрики юзабилити

[Графическое представление', тип графический образу, необязательное поле - графическое представление метрики юзабилити

Тип метрики типе {Простая метрика, Составная метрика}, где Простая метрика - метрика юзабилити, описывающая правила проектирования одного интерфейсного элемента Control,, из множества определенных интерфейсных элементов Controls в модели онтологии WIMP-интерфейсов Составная метрика -метрика юзабилити, вычисляемая по совокупности параметров некоторого подмножества интерфейсных элементов {Control); Control]}еControls Например, метрика Баланс (мера, распределения оптического веса между элементами изображения) вычисляется на основе значений параметров интерфейсных элементов из подмножеств Menus, Toolbars и Window controls множества интерфейсных элементов Controls

Описание связи: {<Control„ Param_Elementi>l Control, е Controls Param_Element, ^Parameters,} •£Mcoml, где elementcount- количество интерфейсных элементов, участвующих в вычислении метрики Описание связи метрики юзабилити с онтологией WIMP-интерфейсов описывается множеством пар {<Control„ Param_Element, >, в которой Control, - некоторый интерфейсный элемент из множества интерфейсных элементов Controls модели онтологии WIMP-интерфейсов, ParamJElement, - подмножество параметров интерфейсного элемента из множества Parameters,, которые участвуют в определении метрики, т е Param_Element,={Param1J}£;;"'™™"', Param_EIement,cParameters, Для простой метрики множество, содержащее описание связи, состоит из одной пары, т е 1=1 (простая метрика определяет правила юзабилити одного из интерфейсных элементов) Для составной метрики 1>1, тк метрика определяется по совокупности условий различных интерфейсных элементов

Метод алгоритм, Метод вычисления метрики описывается на специализированном языке Данный язык содержит описание констант, переменных, инструкций языка и позволяет в терминах модели онтологии WIMP-интерфейсов описать алгоритм ее вычисления Полное описание языка приведено в диссертационной работе

Совет тип текст, Совет, критика - подсказка, сообщение, совет разработчику, что необходимо сделать, в случае, если метрика нарушена Данное сообщение выдается разработчику при оценивании проекта интерфейса на соответствие метрикам юзабилити при обнаружении дефекта (нарушении метрики)

На основе данной схемы разработана база метрик юзабилити, содержащая более 50 метрик, и представленная в приложении к диссертационной работе

Для нахождения дефектов в проекте интерфейса разработан метод оценивания на соответствие метрикам юзабилити (рис 2) Его цель - выявить, локализовать дефекты юзабилити, а также дать рекомендации дизайнеру интерфейса по их устранению База метрик юзабилити является управляющей структурой для средства оценивания Одним из компонентов онтологии метрик юзабилити является метод ее вычисления, представленный в виде алгоритма (см онтологию метрик юзабилити)

Основным преимуществом метода оценивания перед методами оценивания, представленными в некоторых МОС, является расширяемость - возможность добавления новых метрик

Рис 2 Схема оценивания проекта представления

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

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

В шестой главе решается задача разработки методов реализации интегрированного инструментального комплекса Для этого сформулированы требования к нему, представлена архитектура инструментального комплекса, произведено сопоставление реализации сформулированным требованиям, а также приведена сравнительная характеристика предложенного инструментария с другими типами инструментариев

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

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

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

Подсистема оценивания интерфейса предназначена для оценивания проекта интерфейса в соответствии с метриками юзабилити и формирования советов разработчику интерфейса в случае их нарушения (дефектов)

Подсистема реализации интерфейса предназначена для преобразования проекта интерфейса в программный код на одном из языков, поддерживаемых инструментарием, компиляции кода интерфейса с кодом прикладной программы, запуска сгенерированного программного средства, а также генерации контекстно-зависимой помощи

Основные архитектурные компоненты Подсистемы сопровождения инструментария представлены на рисунке 3

Редакторы обеспечивают интеллектуальную поддержку группы сопровождения интегрированного инструментального комплекса и позволяют в диалоговом режиме модифицировать (расширять) информационные компоненты, которые используются другими компонентами интегрированного комплекса

Информационные компоненты являются либо результатами работы редакторов, либо используются ими

Ар*ит*птрнь*

компоч биты

Рвдлктори моделей очто*1<м"ий пользователи

ИИТОрфвЙЫ

X

Редактор алгоритмов

КОНТВЧСТНО-ааБИРИМОЙ ПОМй4ЦМ

е <0млс«*нты

Модели мвтаонгологий лоямомтельиого интерфейса

«одел* о*тгопогий попюоеэтвльского интврфейга

База алгоритмов хонтекстий-завмсимсй гтемощ*

3

■*--------

- СБМьТИПй . ийиа1Ь2.г Г»

- СБИЛ, типа ♦ЯИПМС-СЧ

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

Модели метаонтологий пользовательского интерфейса (ем. П1.2) - «пкеи,па-ют общую структуру моделей антологий пользовательского интерфейса; используются редакторами моделей онтологии пользовательского интерфейса для управления редактированием моделей антологий пользовательского интерфейса.

Язык описания алгоритмов — предназначен для описания алгоритмов ко нтекстно-записи мой помощи, используется редактором алгоритмов контекстно-зависимой помощи для формирования базы соответствующих алгоритмов.

Онтология метрик юзабилити (см. гл. 5) - описывает общую структуру метрик юзабилити, используется редактором базы метрик юзабилити для управления (расширения, модифицирования) базы метрик юзабилити.

Модель онтологии отображения представлений (см, гл. 5) - описывает общую структуру отображений элементов проекта системы понятий диалога и элементы проекта представлений используется редактором отображения представлений и предназначена для управления формированием (модифицированием) в терминах данной онтологии базы знаний отображений в соответствии с метриками юзабилити.

Основные архитектурные компоненты Подсистемы разработки пользовательского интерфейса представлены на рисунке 4

Редакторы проекта пользовательского интерфейса используются для формирования Компонентов проекта интерфейса и его модифицирования. Каждый редактор является структурным нли графическим (в зависимости от типа системы понятий) и управляется соответствующей моделью онтологии пользовательского

интерфейса для упрощения их формирования и модифицирования, а также обеспечения разработчика интеллектуальной поддержкой. Подсистема состоит из следующих редакторов: проекта системы понятий диалога, проекта задач пользователя, проекта связи интерфейса с прикладной программой, редактора окон (предназначен для формирования проекта представления М Р-т пе рф ей сов. сценария диалога, а также библиотеки шаблонов и библиотеки представлений), отображений, графячеода сцен, текстов.

Ар*нгнктурные комлонеhti

»

I

^ Редакторы проекта

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

Средство автоматизированного | J построения проекта

представления ¡1

Консультант

V-

Инфо

донные компоненты

Многоуровневые библиотеки повторно-используемых компонентой

Модели онтологий пользовательского интерфейса __

Проект интерфейса

Проект системы nottflTHCt диалога

г задач пользователи

Проел 'отображения

Проект" представления

Проект связи интерфейсам прикладной"!

лрограм£й____

Проект сценария днапогз

Базе знаний отображений

База метрик юэебилиги

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

Средство автоматизированного построения проекта представления предназначено лля упрощения формирования проекта представления. Проект представления формируется по проекту системы понятий диалога и базе знаний отображений, разработанной с учетом метрик гозабилити. Его архитектурными компонентами являются: Решатель (осуществляет выбор представлений из базы знаний в соответствии с элементами проекта системы понятий диалога, а также инициализирует работу подсистемы объяснения); Подсистема объяснения (обосновывает выбор представлений для элементов проекта системы понятий диалога); Генератор (формирует проект представления на основе выбранных представлений в XML-формате).

Консультант управляется базой знаний метрик юзабнлиги и предназначен для номоши разработчикам интерфейса (дизайнерам) при построении проекта представления интерфейса; связан моделью онтологии WIMP - интерфейсов.

Многоуровневые библиотеки повторно-используемых компонентов предназначены для повторного использования компонентов проекта интерфейса. Выделяют несколько уровней библиотеки. Уровень 1: предназначен для повтор-

кого использование интерактивных объектов, с заданным набором их свойств, ис связанным с представлением информации в некоторой предметной области (проблемно-независимые представления), а также повторного использования проектов системы понятий диалога и задач пользователя. Уровень 2: предназначен для повторного использования фрагментов представления информации в соответствии с принятым в данной предметной области стандартом, либо в соответствии со стандартом интерфейса для данного типа программного средства. Уровень 3; предназначен для повторного использования фрагментов сценария диалога.

Подсистема оценивания интерфейса, используя информационные компоненты: базу метрик юзабшити и проект интерфейса проверяет, от тасуется ли этот проект1 с метриками юзабилити (см. рис. 5), Если метрики нарушены (имеет место дефект); то разработчику выдается информация - какая метрика нарушена и, если типом метрики является «простая метрика», т.е. метрика юзабилити, описывающая правила проектировании одного интерфейсного элемента, то выдается название окна и имя интерфейсного элемента, при проектировании которого допущен дефект; если метрика имеет тип «составная метрика?), то выдается имя окна, при проектировании которого допущен дефект. В каждом случае разработчик интерфейса получает совет по устранению дефекта.

Архитектурные компоненты

- г .. . :

[ Средстдо оценивания интерфейса |

Информационные компоненты

Бааа метрик интерфейса

Проект интерфейса

1- -I

1 - 1

i ¿J pj

\ реломендациир^работчинам интерфейса по устранению дефектов юзабилити _

Рис. 5 Архитектурные и информационные компоненты подсистемы оценивания интерфейса

Основные архитектурные компоненты Подсистемы реализации интерфейса представлены на рисунке 6,

Генератор кода предназначен для автоматической генерации программного кода пользовательского интерфейса по его проекту на некоторый нелепой язык программирования; код также включает набор дополнительных файлов, необходимых для интерфейса — специализированных библиотек, файлов в специальных форматах (например, XML), к которым происходит обращение из кода интерфейса. Данная реализация поддерживает платформы .NET 2 и Java SE 2 . а также языки программирования СИ и Java. Помимо выбора платформы и языков реализации, генератор кода создает как локальные, так и распределенные

приложения, ß случае генерации локального вызова, реализация программного интерфейса встраивается в генерируемую программу в качестве класса, реализующего данный интерфейс. Распределенные приложения генерируются двумя способами: посредством организации удалённого вызова через .NET Remoting по протоколу SOAP (формат XML); посредством организации удалённого вызова через .NET Remoting по протоколу TCP (двоичный формат).

Архитектурные компоненты

Генератор кода

Генератор контекстно-зависимой помощи

Редактор интерактивных о&учающи* роликов >

Информационные компоненты

База алгоритмов коктокстно-завксимой помощи

Проект интерфейс;

Код nojl blOBärojibfflcro интерфейса ( с системой KOHI вксшо-зчвисимей nc.w m ми)

■ При к лад пан программа

Рис.6 Состав архитектурных и информационных компонентов подсистемы реализации интерфейса

Г'енереипор щвНтекстно-зависимой помощи предназначен для формирования в коде пользовательского интерфейса дополнительных инструкций, которые необходимы для формирования помощи. Взаимодействие пользователя с системой помощи осуществляется через Ассистента. Каждый Лесиа-енг имеет доступ к рас предел к иным объектам, существующим в адресном пространства системы помощи. Доступ к этим объектам производится через объектную шину ССЖВА. Система контекстно-зависимой помощи взаимодействует с прикладной программой через графические элементы управления. Привязка задач пользователя к Графическим элементам управления осуществляется с помощью класса делегата. Делегаты обрабатывают все события, возникающие в элементах управления, и обновляют признаки завершенности соответствующих задач (задач, находящихся в ассоциативной связи с элементом управления, в котором произошло событие). Взаимодействие ассистентов с системой помоши происходит через Ядро системы помощи. Одним из назначений ядра системы помощи является предоставление ассистентам функций для взаимодействия с системой помощи. Также ядро интегрирует систему помощи в прикладную программу после его запуска.

Редактор интерактивных обучающих роликов представляет собой инструмент для формирования интерактивных роликов - систем обучения, которые

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

В работе приведен сравнительный анализ основной функциональности инструментальных средств для разработки пользовательского интерфейса (см, таблицу).

Таблица

Сравнительная характеристика инструментальных срсдстн для разработки

интерфейсов

лежащая « штярумъитая ъного средапвй

Основные функциональные возможности Онтологическая Дизайнерская ' ИШИ ' ■ С Моделеориен- г тированная

Поддержка различных' ТИПОВ диалога ■И уь / . • Й1

Наличие специализированных средств расширения инструментария в ш ФЩ : ■и® Щщ Ш -:■:•■ -и..,., ••:•:':

Возможность повторного исподьгоъ&ния компонентов •• ......V 1 ; •

Раздельное проектирование н модифицирование шггерфейеа и прикладной программы .... Щ т **

Автоматическая генерация программного кода интерфейса

Оценивание интерфейса ■ Л

Консультирующего средства дня разработчиков интерфейса 3 ...:......Щ

Автомэтическая генерация контекстно-зависимой помощи • • ■■' Г,; 1 - I ■

Поддержка разработки интерактивных Мучающих роликов 1 £31 ИИ 1 Щ ■

Поддержка генерации интерфейса на несколько платформ и языков программирования в рамках одного инструментального средства §1 ж щ р » .

Поддержка разработки и сопровождения интерфейса в соответствии с группами специалистов, участвующих в проекте, и предоставление каждой группе соответствующей системы понятий ** ■ л , ■

Наличие средств проектирования 1й £1 ни Р шшшшш

*• - воздерживается функдоонздьнвд ЮЗМОЖПОСТЬ; • - частично поддерживается функциональная возможность

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

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

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

Описано применение данного инструментального комплекса при разработке интерфейса Системы интеллектуальной поддержки обследования больных для врача-уролога, реализующего диалог, основанный на экранных формах и текстах, интерфейса программного средства, обеспечивающего мониторинг передвижения поездов и отображение маршрутов их движения на карте железных дорог РФ, реализующего диалог, основанный на графических динамических сценах, интерфейса экспертной системы «Косметология», реализующего диалог, основанный на графических статических сценах, интерфейса программного средства для моделирования характеристик, внешнего вида автомобилей японского производства, оценки полученного результата (интерфейс, основанный на графических статических сценах и экранных формах) В работе приведена сравнительная оценка трудоемкости разработки описанных интерфейсов с помощью традиционных средств и с помощью предложенного в работе инструментального комплекса Разработан учебно-методический комплекс по дисциплинам "Человеко-машинный интерфейс" и "\УеЬ-дизайн", состоящий из набора теоретических материалов, составляющих теоретическую часть диссертационной работы и инструментального комплекса (Свидетельство об отраслевой регистрации разработки № 5860)

ОСНОВНЫЕ РЕЗУЛЬТАТЫ И ВЫВОДЫ

В диссертационной работе на основе проведенных автором исследований сделано теоретическое обобщение и получено решение важной научно-технической проблемы снижения трудоемкости разработки, прототипирования,

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

1 Предложена концепция автоматизации проектирования, реализации и сопровождения пользовательского интерфейса на основе онтологического подхода Основными положениями концепции являются выделение систем понятий, в терминах которых производится разработка, модифицирование, сопровождение интерфейса и построение модели онтологии для каждой системы понятий, определение структуры проекта интерфейса в терминах моделей онтологий, построение алгоритма автоматического преобразования проекта интерфейса в программный код

2 Выделены системы понятий пользовательского интерфейса система понятий диалога, система понятий задач пользователя, система понятий представления информации (состоит из системы понятий \У1МР-интерфейсов, системы понятий для формирования текстов, системы понятий статических и динамических сцен на плоскости), системы понятий для описания сценария диалога, системы понятий для описания связи между интерфейсом и прикладной программой Для каждой системы понятий разработана модель онтологии, определяющая терминологию каждой из групп специалистов, осуществляющих разработку и сопровождение пользовательского интерфейса. Модели онтологий поддерживают разработку интерфейсов, основанных на экранных формах, текстах, а также графических (статических и динамических) сценах, не зависят от платформы и языка реализации Модели онтологий, для которых возможно их развитие в процессе жизненного цикла инструментария, имеют двухуровневую структуру Верхний уровень онтологии (метаонтология) описывает структуру онтологии, в терминах которой может осуществляться ее расширение (развитие)

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

4 Разработана языково- и платформенно-независимая модель генерации программного кода пользовательского интерфейса по его проекту Модель поддерживает генерацию трех типов диалога диалога, основанного на экранных формах (WIMP-интерфейсов), текстах и графических сценах Для генерации диалога, основанного на текстах, описана вычислительная модель его формирования по шаблону и результатам работы прикладной программы Разработан метод автоматической генерации контекстно-зависимой помощи по проекту задач пользователя, который обеспечивает генерацию ответов, связанных с функциональностью программного средства (задачами пользователя) в зависимости от контекста, в котором находится пользователь, помощь в выполнении задач (через подсветку в интерфейсе действий, которые должен совершить пользователь), генерацию интерактивных роликов и их привязку к задачам пользователя без программирования База алгоритмов помощи является расширяемой за счет возможности их описания на специализированном языке, отражающем специфику алгоритмов помощи

5 Разработаны методы обеспечения качества пользовательского интерфейса, относящиеся к поддержке процесса его проектирования и оценивания Для обеспечения качества процесса проектирования разработаны метод отображения проекта системы понятий диалога в проект представления в соответствии с метриками юзабилити и модель консультаций для разработчика интерфейса Метод отображения основан на использовании базы знаний отображений, которая формируется по онтологии отображения представлений и может расширяться, также поддерживается генерация объяснений разработчику интерфейса о выбранных и опровергнутых отображениях Модель консультаций для разработчиков интерфейса описана в терминах модели онтологии WIMP-интерфейсов и использует базу метрик юзабилити Для расширения базы метрик предложена онтология их описания и специализированный язык для задания методов вычисления метрик Разработан метод оценивания проекта представления для обнаружения в нем дефектов и генерации советов разработчику по их устранению Метод оценивания также основан на использовании расширяемой базы метрик юзабилити

6 Разработаны методы реализации расширяемого интегрированного инструментального комплекса для проектирования, автоматической генерации и оценивания пользовательского интерфейса со средствами автоматической генерации контекстно-зависимой помощи Программный код пользовательского интерфейса генерируется на различные языки и платформы (С#, Java для платформ NET 2 и Java SE 2), поддерживает как локальные, так и удаленные средства взаимодействия интерфейса и прикладной программы по протоколам SOAP и TCP/IP, а также реализует диалог, основанный на экранных формах, текстах, графических статических и динамических сценах Инструментальный комплекс содержит библиотеки повторно-используемых компонентов, которые

предоставляют разработчику возможность использования компонентов проекта интерфейса в дальнейших разработках

7 Разработана технология проектирования и сопровождения интерфейса с использованием интегрированного инструментального комплекса, проведено ее экспериментальное исследование Основные преимущества предложенной технологии и инструментария отмечены в таблице (стр 33), при этом экспериментальные исследования показали дополнительные преимущества возможность вовлечения экспертов предметной области в процесс проектирования интерфейса, начиная с самой ранней стадии его разработки, существенное сокращение трудоемкости разработки интерфейсов с большими системами понятий диалога за счет использования методов отображения и автоматической генерации кода

ОСНОВНЫЕ ПУБЛИКАЦИИ

1 Грибова В В , Клещев А С Инструментальный комплекс для разработки пользовательского интерфейса в экспертных системах // Программные продукты и системы, 1999 №1 С 30-34

2 Грибова В В , Клещев А С Модель вербального объяснения результатов работы экспертной системы для индивидуального пользователя // Известия Академии Наук Теория и системы управления, 2000 №3 С 155-160

3 Грибова В В, Клещев А С Модель интерфейса для управления исходными данными, представленными вербально, в экспертных системах // Известия РАН Теория и системы управления, 2001 № 1 С 130-136

4 Грибова В В , Клещев А С Модель пользовательского интерфейса для управления исходными данными // Компьютерные технологии в науке, производстве, социальных и экономических процессах Материалы международной научно-практической конференции Новочеркасск, 2000 Ч 5 С 44 -50

5 Грибова В В, Клещев А С Методы и средства разработки пользовательского интерфейса современное состояние // Программные продукты и системы, 2001 №1 С 2-6

6 Chernyakhovskaya M, Gnbova V , Kleschev A Medical data base controlled by medical knowledge base // In proceeding of the Pacific Asian Conference on Intelligent systems 2001 Korea Intelligent Information Systems Society P 343-351

7 Chernyakhovskaya M , Gribova V, Kleshchev A User mterface development based on ontologies// The 10th International Manufacturing Conference (IMMC 2002) [Electronic res ] -Xiamen, China, 2002 -2-139 -(CD-ROM)

8 Gnbova V, Kleshchev A From the model-oriented approach to user mterface development to an ontology-oriented one // In proceedmg of the X-International Conference "Knowledge-Dialog-Solution" (KDS-2003) 2003 Varna, Bulgaria P 226-231

9 Gnbova V, Kleshchev A Ontology-oriented conception to user interface

development // International Journal Information theories & applications, 2003 V 10, №1 P 87-94

10 Грибова В В Обеспечение качества пользовательского интерфейса при его разработке на основе онтологий // IX национальная конференция по искусственному интеллекту с международным участием Труды конференции Т 2 М Физматлит, 2004 С 600-608

11 Gnbova V, Kleschev A Model of the Interface for Managing Verbally Represented Source Data in Expert Systems // Journal of Computer and Systems Sciences International, 2001 V 40, № 1 P 125-130

12 Gribova V , Kleschev A A Model for the Verbal Explanation of Results of Expert System Operation for an Individual User Journal of Computer and Systems Sciences International, 2000 V 39, №3 P 483-488

13 Грибова В В Метод генерации результатов работы прикладной программы в виде текстов // Материалы Междунар науч конф Интеллектуальные и многопроцессорные системы - 2004 Т1 Таганрог Изд-во ТРТУ, 2004 С 177-181

14 Грибова В В Генерация текстов по выходным данным прикладной программы//Искусственный интеллект, 2004 №3 С 626-635 - ISSN 1561-5359

15 Грибова В В , Клещев А С , Черняховская М Ю Исследование сложной проблемы разработки пользовательского интерфейса и ее моделирование // II Междунар конф «Параллельные вычисления и задачи управления» [Электронный ресурс] -Труды конференции -2004 - (CD-ROM) -ISBN 5-201-14974-Х

16 Грибова ВВ, Тарасов А В Модель онтологии предметной области «Графический пользовательский интерфейс» И Информатика и системы управления, 2005 №1(9) С 80-91

17 Gribova V Implementation of various dialog types using an ontology-based approach to user interface development // Proceedmgs of Xl-th International conference "Knowledge-dialog-solution" - Varna, 2005 VI P 153-158

18 Gribova V Generation of Various Dialog Types on Basis of Ontologies // Pacific Science Review, 2004 V 6(1) P 10-14

19 Грибова В В, Тарасов А В Модель управления компонентом представления информации в пользовательском интерфейсе на основе онтологии // Первая междунар конф "Системный анализ и информационные технологии" САЙТ 2005 Труды конференции В2-хт Т1 -М КомКнига, 2005 С 184-187

20 Грибова В В, Тарасов А В Генератор пользовательского интерфейса, управляемый онтологиями // Материалы Международной научной конференции «Интеллектуальные и многопроцессорные системы-2005» Т 1 Таганрог Изд-во ТРТУ, 2005 С 316-321

21 Грибова ВВ, Клещев АС Использование методов искусственного интеллекта для проектирования пользовательского интерфейса // Информационные технологии 2005 №8 С 58-62

22 Грибова В В , Клещев А С Концепция разработки пользовательского

интерфейса на основе онтологий // Вестник ДВО РАН, 2005 №6 С 123-128

23 Грибова В В , Тарасов А В Концепция расширяемого инструментария для разработки пользовательского интерфейса // Научная сессия МИФИ-2006 Сб научи тр в 16 томах, т 3 M МИФИ 2006 С 132-133

24 Грибова В В, Тарасов А В Генератор кода пользовательского интерфейса, управляемый онтологией // Искусственный интеллект, 2005 Т 4 С 457-464

25 Грибова В В Управление графическим диалогом на основе модели онтологии//Известия Ран Теория и системы управления, 2006 №4 С 108-117

26 Грибова В В Автоматическое обнаружение дефектов в пользовательском интерфейсе // Информационные технологии, 2006 №2 С 39-43

27 Грибова В В Проблемно-независимый генератор текстов, управляемый онтологией // Проблемы управления, 2006 №4 С 36-42

28 Грибова В В , Клещев А С Управление проектированием и реализацией пользовательского интерфейса на основе онтологий // Проблемы управления, 2006 №2 С 58-62

29 Грибова В В, Тарасов А В Гибкие инструментальные средства для разработки пользовательского интерфейса // Известия вузов Приборостроение 2007 Т 50, №3 С 35—38

30 Грибова В В , Тарасов А В Инструментальное средство ONTODEV для проектирования и автоматической генерации пользовательского интерфейса // Информатика и системы управления, 2006 №1(11) С 152-158

31 Грибова В В Автоматизация разработки дизайна пользовательского интерфейса // Материалы седьмой Международной конференции "Искусственный интеллект Интеллектуальные и многопроцессорные системы - 2006", Кацивелли, 25-30 сентября 2006 Таганрог изд-во ТРГУ, 2006 Т1 С 81-84

32 Gribova V An approach to automated detection of usability defects in user interfaces // Proceedings of XII-th International conference "Knowledge-dialog-solution" -Varna, 2006 P 145-149

33 Грибова В В, Тарасов А В Управление процессом автоматической генерации программного кода пользовательского интерфейса по его модели // III Международная конференция «Параллельные вычисления и задачи управления» [Электронный ресурс] - Труды конференции -2006 - (CD-ROM)

34 Грибова В В Расширяемый инструментарий для разработки пользовательского интерфейса, основанный на методах искусственного интеллекта // X национальная конференция по искусственному интеллекту с международным участием Труды конференции В 3-т Т 1 M Физматлит, 2006 С 125-132

35 Грибова В В , Кисленок Р С Автоматизация разработки визуального представления пользовательского интерфейса по модели предметной области // Искусственный интеллект, 2006 №4 С 148-152

36 Грибова В В Система автоматического оценивания пользовательского интерфейса, управляемая базой знаний // Труды IX международной конференции

«Интеллектуальные системы и компьютерные науки», 2006 Т 2 Ч 1 С 97-99

37 Артемьева И Л, Гаврилова Т JI, Грибова В В и др Мультидисцип-линарная система управления информационными ресурсами различных уровней общности // Проблемы управления, 2006 №4 С 64-68

38 Gribova V Dialog Based on Graphical Static Scenes Managed by an Ontology // Journal Information theories & applications, 2006 V 13 №4 P 325-330

39 Gribova V A method of estimating usability of a user interface based on its model // International Journal Information theories & applications V 14 2007 P 43-48

40 Грибова В В, Тарасов А В, Черняховская М Ю Система интеллектуальной поддержки обследования больных, управляемая онтологией // Программные продукты и системы, 2007 №2 С 49-51

41 Gribova V Automatic generation of context-sensitive help using a user interface project // Proceedings of ХШ-th International conference "Knowledge-dialog-solution"-Varna, 2007 V2P 417-422

ГРИБОВА Валерия Викторовна

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

Автореферат диссертации на соискание ученой степени доктора технических наук

Подписано к печати 25 07 2007 г Формат 60x84/16_

Уч -изд л 1,6 Заказ 55

Уел п л 2,0 Тираж 100

Издано ИАПУ ДВО РАН Владивосток, Радио, 5

Отпечатано участком оперативной печати ИАПУ ДВО РАН, Владивосток, Радио, 5

Оглавление автор диссертации — доктора технических наук Грибова, Валерия Викторовна

ВВЕДЕНИЕ

ГЛАВА 1. ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС И ИНСТРУМЕНТАЛЬНЫЕ СРЕДСТВА ДЛЯ ЕГО РАЗРАБОТКИ. ОБЗОР

ЛИТЕРАТУРЫ

1.1. Пользовательский интерфейс. Основные понятия

1.2. Жизненный цикл разработки пользовательского интерфейса

1.3. Современные парадигмы автоматизации разработки пользовательского интерфейса

1.3.1. Дизайнерская парадигма автоматизации разработки пользовательского интерфейса

1.3.2. Моделеориентированная парадигма автоматизации разработки пользовательского интерфейса

1.4. Критика современных инструментальных средств и парадигм разработки пользовательского интерфейса

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

1.6. Выводы из обзора

ГЛАВА 2. ОНТОЛОГИИ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА

2.1. Онтологический подход к автоматизации профессиональной деятельности

2.2. Системы понятий пользовательского интерфейса

2.3. Модели онтологий пользовательского интерфейса

2.3.1. Модель онтологии пользователя

2.3.2. Модели онтологий для представления информации

2.3.3. Модель онтологии сценария диалога

2.3.4. Модель онтологии связи интерфейса с прикладной программой

2.4. Обсуждение

ГЛАВА 3. ПРОЕКТ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА

3.1. Проект пользовательского интерфейса. Определение и компоненты

3.2. Формальное описание проекта интерфейса

3.3. Обсуждение

ГЛАВА 4. МОДЕЛЬ ГЕНЕРАЦИИ ПРОГРАММНОГО КОДА

ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА И КОНТЕКСТНО-ЗАВИСИМОЙ ПОМОЩИ ПО ЕГО ПРОЕКТУ

4.1. Общий подход к автоматической генерации программного кода пользовательского интерфейса по его проекту

4.2. Структура программного кода пользовательского интерфейса

4.3. Модель генерации кода

4.4. Генерация контекстно-зависимой помощи

4.5. Обсуждение

ГЛАВА 5. ОБЕСПЕЧЕНИЕ КАЧЕСТВА ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА

5.1. Поддержка качества процесса проектирования пользовательского интерфейса

5.2. Оценивание интерфейса 5.4. Обсуждение

ГЛАВА 6. МЕТОДЫ РЕАЛИЗАЦИИ ИНТЕГРИРОВАННОГО ИНСТРУ

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

6.1. Требования к интегрированному инструментальному комплексу

6.2. Архитектура инструментального комплекса для разработки пользовательского интерфейса

6.3 Методы реализации инструментального комплекса для разработки и автоматической генерации пользовательского интерфейса

6.4. Соответствие инструментального комплекса требованиям

6.5. Обсуждение

ГЛАВА 7. ТЕХНОЛОГИЯ РАЗРАБОТКИ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА С ПОМОЩЬЮ ИНТЕГРИРОВАННОГО ИНСТРУМЕНТАЛЬНОГО КОМПЛЕКСА И ЕЕ

ЭКСПЕРИМЕНТАЛЬНОЕ ИССЛЕДОВАНИЕ

7Л. Технология разработки пользовательского интерфейса

7.2. Технология сопровождения инструментария разработчика

7.3. Экспериментальное исследование интегрированного инструментального комплекса

7.4. Обсуждение

Введение 2007 год, диссертация по информатике, вычислительной технике и управлению, Грибова, Валерия Викторовна

Актуальность проблемы. Пользовательский интерфейс является неотъемлемой составляющей подавляющего большинства программных средств. Как правило, пользователи судят о программном средстве в целом и «пригодности» его к использованию по тому, насколько удобен пользовательский интерфейс и в какой мере он отвечает их требованиям. При этом требования пользователей весьма разнообразны и определяются как личными предпочтениями и особыми запросами, так и назначением интерфейсов, особенностями представления информации в различных предметных областях, условиями и средой использования [17,23,64,95]. Эти факторы требуют создания интерфейсов для различных платформ с поддержкой множества типов диалогов (основанных на экранных формах или WIMP1-интерфейсах, текстах, графических образах, речи, с использованием различных цветовых схем, анимации и мн. др.) [90,118,188]. При этом важным критерием является их качество [94,128]. В результате проектирование, разработка, модифицирование и сопровождение пользовательского интерфейса оказываются чрезвычайно сложными и связаны со значительными затратами времени, поскольку требуют учета множества факторов, тесно взаимосвязанных между собой и зачастую противоречащих друг другу. По оценкам различных специалистов на пользовательский интерфейс уходит не менее половины времени, требуемого на разработку программного средства [58,127,180].

В связи с вышесказанным актуальными являются исследования, направленные на решение проблем уменьшения трудоемкости проектирования, прототипирования, реализации и сопровождения пользовательского интерфейса, с поддержкой различных типов диалога, и Windows, Icons, Menus, Pointing devices. обеспечения качества его разработки - юзабилити2 (usability) [5]. Большой вклад в решение указанных проблем внесли российские и зарубежные ученые: Т.А. Гаврилова, O.JI. Перевозчикова, Э.В. Попов, П.И. Соснин, В.Ф. Хорошевский, P. Castells, J. Foley, М. Ivory, С. Janssen, J. Lowgren, В. Myers, A. Puerta, G. Singh, P. Sukaviriya, P. Szekely [16-20,95,104,115,138,158,161164,173,191-197,212-215,228 ] и многие другие. На основе современных достижений в данной области сформировались две основные парадигмы автоматизации разработки пользовательского интерфейса: дизайнерская и моделеориентированная.

В рамках дизайнерской парадигмы разработаны методы высокоуровневого проектирования визуального представления пользовательских WIMP-интерфейсов (основанных на экранных формах) и автоматической генерации кода на некоторый язык программирования (Pascal, С#, С++, Java и др.) для визуального представления [179,62]. Проектирование интерфейса, основанного на дизайнерской парадигме, осуществляется с помощью Построителей интерфейсов (Interface Builder), входящих в состав интегрированных пакетов и CASE-средств. Данные средства используют специализированные редакторы, основанные на технологии WYSIWYG , значительно снижающие трудоемкость проектирования визуального компонента пользовательского интерфейса. Они легки в применении, особенно для построения простых интерфейсов.

В рамках моделеориентированной парадигмы разработаны методы раздельного проектирования и реализации WIMP-интерфейсов и прикладной программы; предложен принцип замены проектирования и сопровождения интерфейса проектированием и сопровождением его модели; разработаны методы автоматической генерации кода пользовательского WIMP-интерфейса по его модели и связывания этого кода с прикладной программой [129,137,218].

2 Концепция разработки пользовательских интерфейсов, ориентированная на максимальное психологическое и эстетическое удобство для пользователя.

3 What You See Is What You Get

Проектирование интерфейса, основанного на моделеориентированной парадигме, осуществляется с помощью моделеориентированных средств (Model-Based Interface Development Environment): Mastermind, Mecano, ITS, Tellach [129,194,201,215] и др. Основным информационным компонентом любой моделеориентированной системы (МОС) является модель интерфейса, которая разбивается на несколько составляющих. Некоторые МОС являются интегрированными комплексами и включают в свой состав не только средства проектирования и реализации пользовательского интерфейса, но и средства создания помощи и оценки качества интерфейса [212].

Однако каждая парадигма имеет ряд нерешенных проблем. Так, дизайнерская парадигма поддерживает проектирование и автоматическую генерацию только визуального компонента пользовательского интерфейса, в результате проектирование, реализация и сопровождение других компонентов остается трудоемким; обеспечивает поддержку только одного типа диалога; не поддерживает обеспечение качества интерфейса (юзабилити) и создание помощи пользователю. Для оценки качества интерфейсов, разработанных с помощью Построителей интерфейса, используют либо методы неавтоматизированного оценивания (аналитическое, экспертное, оценивание на основе опыта и исследования), либо независимые от среды разработки средства автоматизированного оценивания интерфейса (верификация характеристик юзабилити, моделирование деятельности конечных пользователей, результирующее оценивание). Этот процесс является трудоемким даже в случае автоматизированного оценивания из-за сложности формирования информации, необходимой таким системам. Средства помощи конечному пользователю интерфейса (помощь является важным критерием его юзабилити) также реализуются сторонним инструментарием (например, с помощью Microsoft Winhelp, Microsoft Compressed HTML Help, HTML Help 2.0, AP Help 1.0 и др.). Она, как правило, является контекстно-независимой, а ее создание и сопровождение является очень дорогой и трудоемкой задачей при изменении программного средства необходимо модифицировать и систему помощи) [62,93].

В моделеориентированной парадигме также остались нерешенными ряд проблем и в настоящее время она не получила широкого практического применения. Основная причина - сложность инструментария, основанного на данной парадигме, из-за чего он устаревает уже к моменту выхода на рынок, во многих МОС от разработчика требуется знание различных специализированных языков (что значительно увеличивает трудоемкость разработки), а также поддерживается только один тип диалога. Для автоматизации оценивания юзабилити в некоторых МОС применяются средства автоматизации дизайна, «советники разработчика», «критики дизайна», средства поддержки разработки контекстно-зависимой помощи. Однако, их «встроенность» в инструментальные средства, затрудняет расширение таких средств и приводит к быстрому устареванию [195,212].

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

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

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

1. Разработка концепции автоматизации проектирования, реализации и сопровождения пользовательского интерфейса на основе онтологического подхода.

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

3. Разработка формальной модели проекта пользовательского интерфейса на основе моделей онтологий.

4. Разработка формальной модели генерации программного кода пользовательского интерфейса и контекстно-зависимой помощи по модели его проекта.

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

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

7. Разработка технологии проектирования и сопровождения пользовательского интерфейса с использованием интегрированного инструментального комплекса и ее экспериментальное исследование.

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

Научная новизна работы. В результате проведенных исследований разработаны:

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

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

• компоненты проекта интерфейса и структура каждого компонента проекта в терминах модели онтологии, информация в которых достаточна для генерации интерфейсов на различные платформы и языки программирования, а также для реализации диалогов, основанных на экранных формах, текстах, статических и динамических сценах; при этом обеспечивается повторное использование компонентов проекта для разработки других интерфейсов;

• формальная модель генерации проекта интерфейса в программный код, являющаяся языково- и платформенно-независимой;

• методы автоматической генерации расширяемой контекстно-зависимой помощи по проекту интерфейса;

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

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

Практическая ценность работы заключается:

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

• в разработке базы метрик юзабилити, как результата систематизации и обобщения рекомендаций по проектированию пользовательского интерфейса;

• в использовании разработанного инструментального комплекса для реализации интерфейсов:

- программного средства, обеспечивающего мониторинг передвижения поездов и отображение маршрутов их движения на карте железных дорог РФ (интерфейс, основанный на графических динамических сценах);

- программного средства для моделирования характеристик и внешнего вида автомобилей японского производства (интерфейс, основанный на графических статических ценах и экранных формах).

- Системы интеллектуальной поддержки обследования больных для врача-уролога (интерфейс, основанный на экранных формах, текстах; система понятий диалога состоит из 700 терминов и около 5000 вариантов значений.);

- экспертной системы для предметной области «Косметология» (интерфейс, основанный на графических статических сценах);

• в использовании разработанного инструментального комплекса в учебном процессе для реализации дипломных и курсовых работ;

• в использовании теоретических и практических результатов диссертационной работы при чтении курса лекций по дисциплинам человеко-машинный интерфейс» и «web-дизайн», а также в учебно-методическом комплексе по данным дисциплинам на факультете математики и компьютерных наук Дальневосточного государственного университета.

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

Апробация работы. Основные положения и результаты диссертационной работы докладывались и обсуждались на следующих конференциях и семинарах: Вторая Международная научно-техническая конференция "Интерактивные системы: проблемы человеко-компьютерного взаимодействия" (Ульяновск, 1997), Шестая Международная конференция "Знание-Диалог-Решение" (Ялта, 1997), Первая Дальневосточная конференция студентов и аспирантов по математическому моделированию (Владивосток, 1997), Региональная естественнонаучная конференция студентов, аспирантов и молодых ученых (Владивосток, 1997), Дальневосточная математическая школа-семинар им. академика Е.В.Золотова (Владивосток, 1997-2007), Международная школа-семинар "Диалог-98" (Казань, 1998), Международная научно-практическая конференция «Компьютерные технологии в науке, производстве, социальных и экономических процессах» (Новочеркасск, 2000), Pacific Asian Conference on Intelligent systems (Korea, 2001), The 10th International Manufacturing Conference (China, 2002), X-International Conference "Knowledge - Dialog-Solution" (Bulgaria, 2003), IX национальная конференция по искусственному интеллекту с международным участием (Тверь, 2004), Интеллектуальные и многопроцессорные системы (Таганрог, 2004), II Международная конференция «Параллельные вычисления и задачи управления» (Москва, 2004), V Международная конференция «Идентификация систем и задачи управления» (Москва, 2005), XI-th International conference "Knowledge-dialogsolution" (Bulgaria, 2005), Первая международная конференция "Системный анализ и информационные технологии" (Переславль-Залесский, 2005), Интеллектуальные и многопроцессорные системы-2005 (Таганрог, 2005), Научная сессия МИФИ-2006, X национальная конференция по искусственному интеллекту с международным участием (Обнинск, 2006), Интеллектуальные и многопроцессорные системы-2006 (Таганрог, 2005), III Международная конференция «Параллельные вычисления и задачи управления» (Москва, 2006), IX международная конференция «Интеллектуальные системы и компьютерные науки» (Москва, 2006), XIII-th International conference "Knowledge-dialog-solution" (Bulgaria, 2007), семинары отдела интеллектуальных систем ИАПУ ДВО РАН и базовой кафедры программного обеспечения ЭВМ ДВГУ (1998-2007), семинар Российской ассоциации искусственного интеллекта (2007).

Публикации. По теме диссертации опубликована 41 печатная работа.

Структура и объём работы. Диссертация состоит из введения, семи глав, заключения, списка литературы и шести приложений. Основное содержание работы изложено на 308 страницах машинописного текста, содержит 78 рисунков, список использованной литературы из 226 наименований.

Заключение диссертация на тему "Автоматизация проектирования, реализации и сопровождения пользовательского интерфейса на основе онтологического подхода"

ОСНОВНЫЕ РЕЗУЛЬТАТЫ И ВЫВОДЫ

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

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

2. Выделены системы понятий пользовательского интерфейса: система понятий диалога, система понятий задач пользователя, система понятий представления информации (состоит из системы понятий WIMP-интерфейсов, системы понятий для формирования текстов, системы понятий статических и динамических сцен на плоскости), системы понятий для описания сценария диалога, системы понятий для описания связи между интерфейсом и прикладной программой. Для каждой системы понятий разработана модель онтологии, определяющая терминологию каждой из групп специалистов, осуществляющих разработку и сопровождение пользовательского интерфейса. Модели онтологий поддерживают разработку интерфейсов, основанных на экранных формах, текстах, а также графических (статических и динамических) сценах; не зависят от платформы и языка реализации. Модели онтологий, для которых возможно их развитие в процессе жизненного цикла инструментария, имеют двухуровневую структуру. Верхний уровень онтологии (метаонтология) описывает структуру онтологии, в терминах которой может осуществляться ее расширение (развитие).

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

4. Разработана языково- и платформенно-независимая модель генерации программного кода пользовательского интерфейса по его проекту. Модель поддерживает генерацию трех типов диалога: диалога, основанного на экранных формах (WIMP-интерфейсов), текстах и графических сценах. Для генерации диалога, основанного на текстах, описана вычислительная модель его формирования по шаблону. Разработан метод автоматической генерации контекстно-зависимой помощи по проекту задач пользователя, который обеспечивает: генерацию ответов, связанных с функциональностью программного средства (задачами пользователя) в зависимости от контекста, в котором находится пользователь; помощь в выполнении задач (через подсветку в интерфейсе действий, которые должен совершить пользователь); генерацию интерактивных роликов и их привязку к задачам пользователя без программирования. База алгоритмов помощи является расширяемой за счет возможности их описания на специализированном языке.

5. Разработаны методы обеспечения качества пользовательского интерфейса, относящиеся к поддержке процесса его проектирования и оценивания. Для обеспечения качества процесса проектирования разработаны: метод отображения проекта системы понятий диалога в проект представления в соответствии с метриками юзабилити и модель консультаций для разработчика интерфейса. Метод отображения основан на использовании базы знаний отображений, которая формируется по онтологии отображения представлений и может расширяться; также поддерживается генерация объяснений разработчику интерфейса о выбранных и опровергнутых отображениях. Модель консультаций для разработчиков интерфейса описана в терминах модели онтологии WIMP-интерфейсов и использует базу метрик юзабилити. Для расширения базы метрик предложена онтология их описания и специализированный язык для задания методов вычисления метрик. Разработан метод оценивания проекта представления для обнаружения в нем дефектов и генерации советов разработчику по их устранению. Метод оценивания также основан на использовании расширяемой базы метрик юзабилити.

6. Разработаны методы реализации расширяемого интегрированного инструментального комплекса для проектирования, автоматической генерации и оценивания пользовательского интерфейса со средствами автоматической генерации контекстно-зависимой помощи. Программный код пользовательского интерфейса генерируется на различные языки и платформы (С#, Java для платформ .NET 2 и Java SE 2), поддерживает как локальные, так и удаленные средства взаимодействия интерфейса и прикладной программы по протоколам SOAP и TCP/IP, а также реализует диалог, основанный на экранных формах, текстах, графических статических и динамических сценах. Инструментальный комплекс также содержит

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

7. Разработана технология проектирования и сопровождения интерфейса с использованием интегрированного инструментального комплекса, проведено ее экспериментальное исследование. Основные преимущества предложенной технологии и инструментария отмечены в таблице главы 6, при этом экспериментальные исследования показали дополнительные преимущества: возможность вовлечения экспертов предметной области в процесс проектирования интерфейса, начиная с самой ранней стадии его разработки; существенное сокращение трудоемкости разработки интерфейсов с большими системами понятий диалога за счет использования методов отображения и автоматической генерации кода.

285

ГЛОССАРИЙ

Концептуализация - множество всех имеющих смысл вербальных представлений с одним и тем же множеством терминов.

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

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

Онтология - явное описание концептуализации. Она может иметь различные формы, но обязательно включает словарь терминов, спецификацию их смысла, а также описание связей между терминами [155,217]

Многоуровневая онтология - онтология, имеющая несколько уровней общности. Уровень общности онтологии определяется следующим образом:

- вербальное представление информации имеет уровень 0;

- онтология вместе с базой знаний, которые специфицируют конкретное множество вербальных представлений информации, имеет уровень 1;

- онтология без базы знаний (добавлением к которой различных баз знаний получаются спецификации различных множеств вербальных представлений информации) имеет уровень 2;

- онтология, в терминах которой может быть специфицирована онтология уровня i, имеет уровень i + 1.

Все онтологии уровня выше 2 называются метаонтологиями. В каждой конкретной иерархии язык спецификации онтологий имеет уровень на 1 больше, чем самый высокий уровень в иерархии (и в этой иерархии нет онтологий более высокого уровня).

287

Библиография Грибова, Валерия Викторовна, диссертация по теме Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

1. Артемьева И.Л. Многоуровневые математические модели предметных областей // Искусственный интеллект, 2006. Т.4. С. 85-94. - 1.SN 15615359.

2. Артемьева И.Л., Гаврилова Т.Л., Грибова В.В. и др. Мультидисципли-нарная система управления информационными ресурсами различных уровней общности // Проблемы управления, 2006. №4. С.64-68.

3. Батлер Д.П. Обзор генераторов отчетов: Анализ от TPrinter до Crystal Reports. Электрон, дан. - http://www.interface.m/fset.asp?Url=/ crystal/cr8dr.htm

4. Бауэр Ф.Л., Гооз Г. Информатика. Вводный курс: в 2-х ч. 4.1. Пер. с нем. М.: Мир, 1990. - 336 е.: ил.

5. Бобровский С. Технология Пентагона на службе российских программистов. Программная инженерия.- СПб.: Питер, 2003. 222 с.

6. Большой энциклопедический словарь. Электрон. дан. http ://dic, academ ic .ru/library ,nsf/enc3p/.

7. Боумен У. Графическое представление информации. М.: Мир, 1971. -228 с.

8. Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на С++. 2-е изд. / Пер. с англ. - М.: Изд-во БИНОМ, СПб.: Невский диалект, 2000. - 560 е.: ил.

9. Буч Г., Рамбо Дж., Джекобсон А. Язык UML. Руководство пользователя.: Пер. с англ. М.: ДМК, 2000. - 432 е.: ил.

10. Валькман Ю.Р. Графическая метафора — основа когнитивной графики // Тр. национ. конф. с междунар. участием «Искусственный интеллект-94» (КИИ-94). Рыбинск, 1994. С. 94-100.

11. Валькман Ю.Р. Когнитивные графические метафоры: когда, зачем, почему и как мы их используем // Тр. междунар. конф. «Знания-Диалог-Решение» (KDS-95). Ялта, 1995. С. 261-272

12. Валькман Ю.Р., Книга Ю.Н. Анализ понятия «графический образ» // Тр. Междунар. семинара Диалог'2002 «Компьютерная лингвистика и интеллектуальные технологии». Протвино, 2002. С. 41-52.

13. Васильев В.Р., Волобой А.Г., Вьюкова Н.И., Галактионов В.А. Контекстная визуализация пространственных данных: Препр. ИПМ им. М.В. Келдыша РАН, 2004. № 56. http.7/www.keldvsh.ru/pages/cgraph/articles/ dep20/vis pp.pdf

14. Верма P.Д. Справочник по функциям Win32 API. М.: Горячая линия -Телеком, 2002. - 488 е.: ил.

15. Волченков Е. Стандартизация пользовательского интерфейса // Открытые системы, 2002. №4. Электрон, дан. - http://www.osp.ru/os/ 2002/04/181312/.

16. Гаврилова Т.А. Использование онтологий в системах управления знаниями // Тр. междунар. конгр. «Искусственный интеллект в XXI веке», Дивноморское, Россия, М.: Физматлит, 2001. С. 21-33.

17. Гаврилова Т.А. Человеческий фактор и модель пользователя в интеллектуальных и обучающих системах // Сб. тр. национ. конф. "Искусственный интеллект-94". Рыбинск. 1994. С. 83-89.

18. Гаврилова Т.А., Зудилова Е. В. Адаптивный диалог и Модель пользователя // Тр. Междунар. семинара "Диалог 95". Казань. 1995. С. 88-98.

19. Гаврилова Т.А., Зудилова Е.В. Концептуальное проектирование интерфейсов интеллектуальных систем // Известия РАН. Техническая кибернетика. 1994. N 2. С. 3-11.

20. Гаврилова Т.А., Хорошевский В.Ф. Базы знаний интеллектуальных систем: Учебник для вузов. — СПб.: Питер, 2000. 382 с.

21. Гладун А.Я., Рогушина Ю.В. Онтологии в корпоративных системах. Часть I // Корпоративные системы. 2006. №1. Электрон, дан. -http://www.management.com.ua/ims/imsl 15.html

22. Головач В. Проектирование пользовательского интерфейса. Электрон, дан. - http://podgoretsky.com/ftp/Docs/Misc/pdf/uidesign.pdf

23. Гордиенко А.П. Анализ подходов к проектированию пользовательского интерфейса // Пользовательский интерфейс: Исследование, Проектирование, Реализация. Орел, 1991. Вып.1. С. 28-39.

24. Грибова В.В. Автоматическая генерация пользовательского интерфейса по модели предметной области // ИАПУ ДВО РАН: Юбилейный сборник: к 30-летию ИАПУ ДВО РАН / под общ. ред. В.П. Мясникова. Владивосток: ИАПУ ДВО РАН, 2001. С. 293-302.

25. Грибова В.В. Автоматическое обнаружение дефектов в пользовательском интерфейсе // Информационные технологии, 2006. №2. С.39-43.

26. Грибова В.В. Генерация текстов по выходным данным прикладной программы // Искусственный интеллект, 2004. №3. С.626-635.- ISSN 1561-5359.

27. Грибова В.В. Метод генерации результатов работы прикладной программы в виде текстов // Материалы Междунар. науч. конф. «Интеллектуальные и многопроцессорные системы 2004». Таганрог: Изд-во ТРТУ, 2004. Т.1. С. 177-181.

28. Грибова В.В. Обеспечение качества пользовательского интерфейса при его разработке на основе онтологий // IX национ. конф. по искусственному интеллекту с междунар. участием: тр. конф. М.: Физматлит, 2004. Т. 2. С.600-608.

29. Грибова В.В. Подход к вербально-графическому описанию знаний // Дальневосточ. матем. шк.-семинар им. акад. Е.В.Золотова: Тез. докл. Владивосток: Дальнаука, 1999. С. 24.

30. Грибова В.В. Проблемно-независимый генератор текстов, управляемый онтологией // Проблемы управления, 2006. №4. С.36-42.

31. Грибова В.В. Система автоматического оценивания пользовательского интерфейса, управляемая базой знаний // Тр. IX междунар. конф. «Интеллектуальные системы и компьютерные науки», 2006. Т.2. 4.1. С.97-99.

32. Грибова В.В. Управление графическим диалогом на основе модели онтологии И Известия Ран. Теория и системы управления, 2006. №4. С. 108-117.

33. Грибова В.В. Язык порождающей модели диалога для генерации исходных данных, имеющих графическое представление // Дальне-восточ. матем. шк.-семинар им. акад. Е.В.Золотова: сб. науч. тр. Владивосток: Дальнаука, 1999. 4.1. С.28-33.

34. Грибова В.В., Кисленок Р.С. Автоматизация разработки визуального представления пользовательского интерфейса по модели предметной области // Искусственный интеллект, 2006. №4. С. 148-152.

35. Грибова В.В., Клещев А.С. Инструментальный комплекс для разработки пользовательского интерфейса в экспертных системах // Программные продукты и системы, 1999. №1. С.30-34.

36. Грибова В.В., Клещев А.С. Использование методов искусственного интеллекта для проектирования пользовательского интерфейса // Информационные технологии. 2005. №8. С.58-62.

37. Грибова В.В., Клещев А.С. Концепция разработки пользовательского интерфейса на основе онтологий // Вестник ДВО РАН, 2005. №6. С. 123128.

38. Грибова В.В., Клещев А.С. Концепция разработки пользовательского интерфейса на основе онтологий. Часть 1. Инструментарий для разработки пользовательского интерфейса (обзор литературы). Основная идея подхода. Владивосток: ИАПУ ДВО РАН, 2003. - 24 с.

39. Грибова В.В., Клещев А.С. Концепция разработки пользовательского интерфейса на основе онтологий. Часть 2. Модель пользовательского интерфейсаю Владивосток: ИАПУ ДВО РАН, 2003. - 51 с.

40. Грибова В.В., Клещев А.С. Методы и средства разработки пользовательского интерфейса: современное состояние // Программные продукты и системы, 2001. №1. С. 2-6.

41. Грибова В.В., Клещев А.С. Модель вербального объяснения результатов работы экспертной системы для индивидуального пользователя // Известия Академии Наук. Теория и системы управления, 2000. № 3. С.155-160.

42. Грибова В.В., Клещев А.С. Модель интерфейса для управления исходными данными, представленными вербально, в экспертных системах // Известия РАН. Теория и системы управления, 2001. № 1. С.130-136.

43. Грибова В.В., Клещев А.С. Управление проектированием и реализацией пользовательского интерфейса на основе онтологий // Проблемы управления, 2006. №2. С.58-62.

44. Грибова В.В., Лифшиц А.Я. Система организации диалогового интерфейса ОДИ // Теория и практика систем с базами знаний: сб. научн. тр. Владивосток: ДВО РАН, 1994. С. 135-143.

45. Грибова В.В., Сова С.Ю. Редактор графических сцен, управляемый метаонтологией // XXX Дальневосточ. матем. шк.-семинар им. акад. Е.В. Золотова: тез. докл. Хабаровск: Изд-во ДВГУПС, 2005. С. 179.

46. Грибова В.В., Тарасов А.В. Генератор кода пользовательского интерфейса, управляемый онтологией // Искусственный интеллект, 2005. Т.4. С.457-464.

47. Грибова В.В., Тарасов А.В. Генератор пользовательского интерфейса, управляемый онтологиями // Материалы междунар. науч. конф. «Интеллектуальные и многопроцессорные системы-2005», 2005. Т.1. Таганрог: Изд-во ТРТУ. С. 316-321.

48. Грибова В.В., Тарасов А.В. Гибкие инструментальные средства для разработки пользовательского интерфейса // Известия вузов. Приборостроение. 2007. Т. 50. № 3. С. 35-38.

49. Грибова В.В., Тарасов А.В. Инструментальное средство ONTODEV для проектирования и автоматической генерации пользовательского интерфейса// Информатика и системы управления, 2006. №1(11). С.152-158.

50. Грибова В.В., Тарасов А.В. Концепция расширяемого инструментария для разработки пользовательского интерфейса // Научная сессия МИФИ-2006. Сб. научн. тр. в 16 томах. М.: МИФИ. 2006. Т. 3. С. 132-133.

51. Грибова В.В., Тарасов А.В. Модель онтологии предметной области «Графический пользовательский интерфейс» // Информатика и системы управления, 2005. №1(9). С.80-91.

52. Грибова В.В., Тарасов А.В. Управление процессом автоматической генерации программного кода пользовательского интерфейса по его модели // III Междунар. конф. «Параллельные вычисления и задачи управления» Электронный ресурс. Тр. конф. 2006 - (CD-ROM).

53. Грибова В.В., Тарасов А.В., Черняховская М.Ю. Система интеллектуальной поддержки обследования больных, управляемая онтологией // Программные продукты и системы, 2007. №2. С. 49-51.

54. Грибова В.В., Тарасов А.С. Генератор кода пользовательского интерфейса, управляемый онтологией //Искусственный интеллект, 2005. Т.4. С. 457-464.

55. Грибова В.В., Шалфеева Е.А. Внутренние свойства онтологий // Тр. V междунар. конф. «Идентификация систем и задачи управления» SICPRO'05. Москва, 25-28 января 2005г. М.: ИПУ им. В.А. Трапезникова РАН, 2005. С. 1109-1128.

56. Гультяев А.К., Машин В.А. Проектирование и дизайн пользовательского интерфейса. СПб.: КОРОНА принт. - 2000. - 352 с.

57. Дракин В.И., Попов Э.В., Преображенский А.Б. Общение конечных пользователей с системами обработки данных. М.: Радио и связь, 1988. - 288 с.

58. Елманова Н. Полезные компоненты для пользователей Delphi и C-H-Builder: деловая и научная графика // Компьютер Пресс Электрон, дан. - http://compress.ru/Archive/CP/1999/12/2/.

59. Изучение Macromedia Flash. Электрон, дан. - http://wvm.helpexe.ru/.

60. Клещев А.С., Артемьева И.Л. Математические модели онтологий предметных областей. Ч. 1. Существующие подходы к определению понятия «онтология» // НТИ. Сер. 2. 2001. №2. С.20-26.

61. Клещев А.С., Артемьева И.Л. Математические модели онтологий предметных областей. 4.2. Компоненты модели // НТИ. Сер. 2. 2001. №3. С. 19-29.

62. Клещев А.С., Артемьева И.Л. Математические модели онтологий предметных областей. Ч.З. Сравнение разных классов моделей онтологий // НТИ. Сер. 2. 2001. №4. С. 10-15.

63. Клименко С., Уразметов В. Графические интерфейсы и средства их разработки // Материалы конф. "Индустрия программирования-96". -Электрон, дан. www.uniyar.ac.m/network/atmyforum/koi/if/prg/prg96/ 73/htm

64. Кобозева И.М. Как мы описываем пространство, которое видим: композиционные стратегии // Тр. междунар. семинара Диалог'97 по компьютерной лингвистике и ее приложениям. М., 1997. С. 132-136.

65. Кобозева И.М. Как мы описываем пространство, которое видим: проблема выбора ориентира // Тр. междунар. семинара Диалог'95 по компьютерной лингвистике и ее приложениям. Казань, 1995. С. 146-153.

66. Кобозева И.М. Как мы описываем пространство, которое видим: форма объектов // Тр. междунар. семинара Диалог'2000 по компьютерной лингвистике и ее приложениям. Т. 1. Протвино, 2000. http://www.dialog-21 .ru/materials/archive.asp?id=6297&y=2000&vol=6077

67. Кокорева Л.В., Перевозчикова О.Л., Ющенко Е.Л. Диалоговые системы и представление знаний. Киев: Наук, думка, 1992. - 448 с.

68. Коктышева Г.А., Петряева М.В. Использование системы интеллектуальной поддержки обследования больных в учебном процессе. -Владивосток: ИАПУ ДВО АН СССР, 2004. 14 с.

69. Коутс Р., Влейминк И. Интерфейс "человек-компьютер": Пер. с англ. -М. Мир, 1990,- 501 с.

70. Ларистов А.А. Системы автоматизации распределённого проектирования программного обеспечения. Электрон, дан. - http://www.inftech. webservis.ru/it/conference/scmy2000/sessionl0/laristov.htm

71. Маклаков С.В. Анализ данных. Генератор отчетов Crystal Reports / Маклаков С.В., Матвеев Д. СПб.: БХВ-Петербург, 2003. - 489 с.

72. Мандел Т. Дизайн интерфейсов: Пер. с англ.- М.: ДМК Пресс, 2005. 416 с.

73. Мандел Т. Разработка пользовательского интерфейса: Пер. с англ. М.: ДМК Пресс, 2001. -416 с.

74. Медведев С. Какой из генераторов отчетов самый быстрый?. Электрон, дан. - http://www.olap.ru/home.asp?artld=3 3 0

75. Миндиярова H.H. Использование программы Advanced Grapher при решении уравнений и неравенств. Электрон. дан. -http://festival. 1 september.ru/2004 2005/index.php?numbartic=211495

76. Молокова О.С. Формирование индивидуального объяснения в экспертных системах // Изв. АН СССР. Техническая кибернетика. 1985. №5.

77. Нагорный Д.В., Черняховская М.Ю. База знаний системы интеллектуальной поддержки обследования больных для врача уролога. Ч. 1.: Препр. Владивосток: ИАПУ ДВО РАН, 2002. 64 с.

78. Нагорный Д.В., Черняховская М.Ю. База знаний системы интеллектуальной поддержки обследования больных для врача уролога. Ч. 2.: Препр. Владивосток: ИАПУ ДВО РАН, 2002. 46 с.

79. Об использовании программы Advanced Grapher в качестве виртуальной моделирующей среды / ВИО Электрон, дан. - http://www.alentum.com/ agrapher/index.htm - Яз. рус.

80. Ожегов С.И., Шведова Н.Ю. Толковый словарь русского языка: 80 000 слов и фразеологических выражений / РАН. Ин-т русского языка им. В.В. Виноградова. М., 1999. 944 с.

81. Открытые системы. Существует ли графика для Linux? Электрон, дан. -http://www.osp.ru/pcworld/2001/04/161436/.

82. Пек Д. Полный справочник по Crystal Reports XI. М.: Изд-во Вильяме. 2006. 1088 с.

83. Пореев В.Н. Компьютерная графика. СПб.: БХВ-Петербург, 2002. -432 е.: ил.

84. Раскин Дж. Интерфейс: новые направления в проектировании компьютерных систем. Пер. с англ. - СПб: Символ Плюс, 2003. - 272 с.

85. Розенсон И.А. Основы теории дизайна: Учебник для вузов. СПб.: Питер, 2006. - 219 с.

86. Самоучитель по пакету STATISTIC А. Электрон, дан. -http://www.biometrica.tomsk.ru/Statistica 6.htm.

87. Скопин И.Н. Разработка интерфейсов программных систем // Системная информатика. 1998. Вып. 6. С.123-173.

88. Соммервил И. Инженерия программного обеспечения: Пер. с англ. М.: Издательский дом «Вильяме», 2002. - 624 е.: с ил.

89. Соснин П.И. Человеко-компьютерная диалогика. Ульяновск: Ульяновский государственный технич. ун-т, 2001.- 285 с.

90. Толковый словарь русского языка. Электрон. дан. -http://mega.km.ru/ojigov/

91. Торрес Дж. Практическое руководство по проектированию и разработке пользовательского интерфейса.: Пер. с англ. М.: Издательский дом «Вильяме», 2002. - 400с.

92. Черняховская М.Ю. Представление знаний в экспертных системах медицинской диагностики. Владивосток: ДВНЦ АН СССР, 1983. - 212 с.

93. Черняховская М.Ю., Кулаков Ю.В., Ицкович А.И., Быкова Г.И., Осин А.Я. История болезни для студентов педиатрического факультета: Препр. Владивосток: ИАПУ ДВО РАН, 2000. 28 с.

94. Черняховская М.Ю., Мельников В.Я., Негода В.И. Основы компьютерной офтальмологии. Монография. Владивосток: ИАПУ ДВО РАН, 2001. 184 с.

95. Что такое DirectX? Электрон, дан. - http:// www.citforum.ru/ programming/di gest/directxwhati s .shtml

96. Школы консорциума W3C. Введение в SYG. Электрон, дан. -http://xml.nsu.ru/extra/svgintro l.xml

97. ЮЗ.Штайкман Н., Богданов Е. Унифицированный интерфейс пользователя. Интерактивный учебник. Электрон. дан. -http://www.asu.pstu.ac.ru/bookyinterface/ authors.htm

98. Ярушкина Н., Соснин П. Интеллектуальный инструментарий проектирования и реализации диалоговых систем // Управляющие системы и машины, 1991. N4. С. 67-72.

99. Abrams М., Phanouriou С., Batongbacal A., Williams S., Shuster J. UIML: An Appliance-Independent XML User Interface Language // http ://www8 .org/w8-papers/5b-hypertext-media/uiml/uiml .html

100. Advanced Grapher / Alentum Software Electronic resource -http:// www, alentum. com/agraph er/index.htm.

101. Ahad R., Basu A. Explanation in an expert system // "Expert Syst. Gov. Symp., McLean, Oct.22-24, 1986". Washington, D.C., 1986. P. 318-324.

102. Balzert, H., Hofmann, F., Kruschinski, V. etc. The Janus Application Development Environment-Generating More than the User Interface. In: Vanderdonckt J. (ed.) // Proceedings of CADUI'96. Namur: Presses Universitaires de Namur, 1996. P. 183-207.

103. Billsus D., Pazzani M. A hybrid user model for news story classification // User Modeling (Proceedings of the Seventh International Conference). Banff, Canada, 1999. P. 99-108.

104. Bodart F., Hennebert A.-M., Leheureux J.-M., Vanderdonckt J. Computer-Aided Window Identification in Trident // In Nordbyn K., Helmersen P.H., Gilmore D.J., Arnesen S.A. (eds.): Proc. of INTERACT'95, London: Chapman & Hall, 1995. P. 331-336.

105. Bonnie E. John, David E. Kieras Using GOMS for user interface design and evaluation: which technique? // ACM Transactions on Computer-Human Interaction (TOCHI) / N.Y., NY, USA: ACM Press, 1996. V. 3. Issue 4. -P.287-319. ISSN: 1073-0516

106. Brigitta Weber Human-Centric Computing // 2005. Lect. 18 - P. 9-12.

107. Brusilovsky P. Adaptive Hypermedia // User Modeling and User-Adapted Interaction Journal, 2001. 11. P. 87-110.

108. Carberry S. Modeling the User's Plans and Goals // Computational Linguistics, 1988. 14(3). P. 23-37.

109. Castells P., Szekely P., Salcher E. Declarative Models of Presentation // Intern.Conf. on Intel.User Interfaces (IUT97). Orlando (Florida), 1997. P. 137-144.

110. Chernyakhovskaya M., Gribova V., Kleschev A. Medical data base controlled by medical knowledge base // In proceeding of the Pacific Asian Conference on Intelligent systems 2001. Korea Intelligent Information Systems Society. P. 343-351.

111. Chernyakhovskaya M., Gribova V., Kleshchev A. User interface development based on ontologies // The 10th Intern. Manufacturing Conf. (IMMC 2002): Electronic res..-Xiamen, China, 2002.-2-139.-(CD-ROM).

112. Chin D. Modeling What the User Knows // In: A. Kobsa and W. Wahlster (eds.): User Models in Dialog Systems, 1989. P. 74-107.

113. Chin D.N Empirical Evaluation of User Models and User-Adapted Systems // User Modeling and User-Adapted Interaction. 2001. V.l 1. № 1-2. P. 181-194.

114. Chuang Ta-Tao, Yadav Surya B. The development of an adaptive decision support system //Decision Support Systems, 1998. V.24. №2. P.73-87.

115. Cohen R., Spencer В., Sanmugasunderam A. Providing responses specific to a user's goals and background // Int. J. Expert Systems. 1989. N2. P. 135-162.

116. Corel WordPerfect Presentations X3 // Corel Electronic resource -www.corel.com.

117. CRE:8 Multimedia 2.1 // PresentWare Electronic resource -www.presentware.com.

118. David Chek Ling Ngo, Lian Seng Teo, John G. Byrne Evaluating Interface Esthetics // Knowledge and Inform. Systems: Springer-Verlag London Ltd., 2002. V. 4. P. 46-79.

119. Deborah J. Mayhew. The usability engineering lifecycle: a practitioner's handbook for user interface design // San Francisco, С A, USA: Morgan Kaufmann Publishers Inc., 1999. P. 542. - ISBN:l-55860-561-4

120. Donna Maurer, What is Usability? // 2004. KM Column. -http://www.steptwo.com.au/papers/kmcwhatisusability/index.html

121. Dray S. The importance of designing usable systems // Interactions, 2(1). 1995. P. 17-20.

122. Eelke Folmer, Jilles van Gurp, Jan Bosch. Software Architecture Analysis of Usability // University of Croningen, the Netherlands, 2000

123. Elwert Т., Schlungbaum E. Automatic User Interface Generation from Declarative Models. Electronic resource - http://www.isys.ucl.ac.be/bchi/ cadui/96/files96/Schlung baum-CADUI96.pdf

124. Eriksson H. Models for knowledge-acquisition tool design // Knowledge acquisition. 1994. N 6. P. 47-74.

125. Exploiting Model-based Techniques for User Interfaces to Databases Presented by Tony Griffiths 1998. http://img.cs.man.ac.uk/teallach/ Presentations/Conferences/AVI98/tsldOO 1 .htm

126. Ezzeddine H., Trabelsi A. From Design To Evaluation Of An Agent-based Human-Machine Interface // Application To Supervision Of Urban Transport System. 2004

127. Ezzedine H., Trabelsi A., Kolski C. Modelling of an interactive system with an agent-based architecture using Petri nets, application of the method to the supervision of a transport system // Mathematics and Computers in Simulation: V. 70. P. 358-376.

128. Fischer G. User Modeling in Human-Computer Interaction // User Modeling and User-Adapted Interaction Journal, 2001. 11. C. 65-86.

129. Fischer G., Girgensohn A., Nakakoji K., Redmiles D.F. Supporting Software Designers with Integrated, Domain-Oriented Design Environments // IEEE Transaction on Software Engineering. Special Issue: "Knowledge

130. Representation and Reasoning in Software Engineering", 1992. V. 18. № 6. P. 511-522.

131. Fischer G., Nakakoji K., Ostwald J., Stahl G., Sumner T. Embedding Computer-Based Critics in the Context of Design // In Ashlund S., Mullet K., Henderson A., Hollnagel E., White T. (eds.): Proceedings of INTERCHI'93. N.Y.: ACM Press, 1993. P. 157-164

132. Foley J.D. History, Results and Bibliography of the User Interface Design Environment (UIDE), an Early Model-based System for User Interface Design and Implementation // DSV-IS94. 1994. P. 3-14.

133. Foley J.D., Kim W.C., Kovacevic S. UIDE An Intelligent User Interface Design Environment / In Sullivan J.W., Tyler S.W. (eds.) // Intelligent User Interfaces. N.Y.: ACM Press, 1991. P. 339-384.

134. Folmer E.; Gurp J.V. & Bosch J. Software Architecture Analysis of Usability // 9th IFIP Working Conf. on Engineering for Human-Computer Interaction / Hamburg: 2004. P. 321-339. Electronic resource http://publications.iillesvangiirp.com/ ehci2004.pdf

135. Fowler Martin. Separating User Interface Code // IEEE Software March/April 2001. P.96-97.

136. Gray W.D., Salzman M.C. Damaged merchandise? A review of experiments that compare usability evaluation methods // Human-Computer Interaction: 1998. V. 13(3). P. 203-261.

137. Gribova V. A method of estimating usability of a user interface based on its model // Intern. J. Information theories & applications. V.14. 2007. P. 43-48.

138. Gribova V. An approach to automated detection of usability defects in user interfaces // Proc. of XIIth Intern. Conf. "Knowledge-dialog-solution" Varna, 2006. P.145-149.

139. Gribova V. An ontology based control of a graphic dialog // J. of Computer and Systems Sciences Intern., 2006. ISSN 1064-2307.

140. Gribova V. Automatic generation of context-sensitive help using a user interface project // Proc. of XIIIth Intern. Conf. "Knowledge-dialog-solution" Varna, 2007. V.2. P. 417-422.

141. Gribova V. Dialog Based on Graphical Static Scenes Managed by an Ontology // J. Inform, theories & applications, 2006. V.13. №.4. P. 325-330.

142. Gribova V. Generation of Various Dialog Types on Basis of Ontologies // Pacific Science Review, 2004. V. 6(1). P. 10-14.

143. Gribova V. Implementation of various dialog types using an ontology-basedthapproach to user interface development // Proc. of XI Intern, conf. "Knowledge-dialog-solution" Varna, 2005. V.l. P. 153-158.

144. Gribova V., Kleschev A. A Model for the Verbal Explanation of Results of Expert System Operation for an Individual User // J. of Сотр. and Systems Sciences Intern., 2000. V. 39, №3. P. 483-488.

145. Gribova V., Kleschev A. A Model of the Interface for Managing Verbally Represented Source Data in Expert Systems // J. of Сотр. and Systems Sciences Intern., 2001. V. 40, №. 1. P. 125-130.

146. Gribova V., Kleshchev A. From an ontology-oriented approach conception to user interface development // Intern. J. Inform, theories & applications, 2003. V.10, №1. P. 87-94.

147. Gribova V., Kleshchev A. From the model-oriented approach to user interface development to an ontology-oriented one // Proc. of the X Intern. Conf. "Knowledge-Dialog-Solution" (KDS-2003). 2003. Varna, Bulgaria. P. 226231.

148. Gribova V.V., Kleshchev A.S. Model of the interface for managing verbally represented source data in expert systems // J. of Сотр. and Syst. Sciences Intern. 2001. V. 40. N 1. P. 130-135.

149. Guarino N. Formal Ontology in Information Systems // Proc. of FOIS'98, Trento, Italy, 6-8 June 1998. Amsterdam, IOS Press.

150. Henry S., Lenert L. Linking Process and Outcome with an Integrated Clinical Information System // Annual HIM SS Conf. San Diego, CA, 1993. P.58-79.

151. Hinrichs Т., Bareiss R., Birnbaum L., Collins, G. An Interface Design Tool based on Explicit Task Models // CHI96. 1996. P. 269-270.

152. Ivory M.Y., Hearst M.A. The state of the art in automating usability evaluation of user interfaces // ACM Сотр. Surveys. 2001. №33 (4). P. 470-516.

153. Janssen C., Weisbecker A., Ziegler J. Generating user interface from data models and dialogue net specifications // Proc. conf. Human Factors in Computing systems: Inter СНГ93, ACM Press, N.Y., 1993. P.418-423.

154. Josephson J., Chandrasekaran В., Tanner M. Explaining Control Strategies in Problem Solving //IEEE Expert, Spring. 1989. 4 (1). P. 9-24.

155. Khoroshevsky V.F. ATN-based explanation subsystems: design and implementation // Сотр. and Artificial Intelligence, vol. 4 (1985), N 4.

156. Khoroshevsky V.F. Computer Aided Design of Expert Systems An Instrumental Approach // Proc. Intern. Conf. AIMSA-86, North-Holland, 1987.

157. Khoroshevsky V.F. Knowledge Based Design of Intelligent Interfaces in PiES WorkBench // Proc. of the Sixth Intern. Conf. on Artificial Intelligence and Inform.-Control Systof Robots, Smolenice, Slovakia, Sept. 21-25, 1994, World Scientific, 1994.

158. Khoroshevsky V.F. Natural communication with expert systems ATN-oriented approach // Proc. of Joint Finish-Soviet Symp. on Advances in Man-Machine Interactions, Espoo, Finland, 21-23 October 1986.

159. Kieras D. GOMS Models: An Approach to Rapid Usability Evaluation//http://www.eecs.umich.edu/~kieras/goms.html

160. Kieras D.E. A Guide to GOMS Model Usability Evaluation Using NGOMSL / In Helander M., Landauer T. (eds.) // The handbook of human-computer interaction. Amsterdam: North-Holland, 1996. http://www.eecs.umich.edu/~kieras/goms.html

161. Kleshchev A.S., Artemjeva I.L. Domain ontologies and knowledge processing. Techn. Report, Vladivostok: IACP, FEBRAS. 1999. 25 p.

162. Kleshchev A.S., Artemjeva I.L. Domain ontologies and knowledge processing. Techn. Report, Vladivostok: IACP, FEBRAS, 1999. 25 p.

163. Kobsa A. Generic User Modeling Systems // User Modeling and User-Adapted Interaction Journal, 2001. 11. C. 49-63.

164. Kovaacevic S. Model-based user interfaces why and how? 1998. http ://buffy. eecs .berkeley. edu/Seminars/01d.98/May/980504

165. Langley P. User modeling in adaptive interfaces // Proc. of the Seventh Intern. Conf. on User Modeling. 1997. P. 357-370.

166. Lonczewski F., Schreiber. The FUSE-system: an Integrated User Interface Design Environment // Proc. CADUI 96, J Vanderdonckt, ed., 1996. http:// www.info.fundp.ac.be/~jvd/dsvis/cadui96.html

167. Lowgren J. Knowledge -Based Design Support and Discourse Management in User Interface Management Systems. Linkoping Studies in Science and Technology. Dissertations No. 239, 1989.

168. Lowgren J., Nordqvist T. Knowledge-Based Evaluation as Design Support for Graphical User Interfaces / In Bauersfeld P., Bennett J., Lynch G. (eds.) // Proceedings of CHI'92. New York: ACM Press, 1992. P. 181-188.

169. Major N., Reichgelt H. ALTO: an automated laddering tool. In Wielinga, B.J., Boose, J.H., Gaines, B.R., Schreiber, A., T.,& van Someren, M., editors, Current trends in knowledge acquisition, IOS Press. 1990. P. 222-236.

170. McCoy K.F. Highlighting a User Model to Respond to Misconceptions // A. Kobsa and W. Wahlster (eds.): User Models in Dialog Systems. 1989. P. 233254.

171. Moller Ralf. User Interface Management Systems: The CLIM Perspective. http://kogs-www.informatik.uni-hamburg.de/~moeller/uims-clim/clim-intro.html

172. Moriyon R., Szekely P., Neches R. Automatic Generation of Help from Interface Design Models // In C. Plaisant (ed.): Proc. of СНГ94. N.Y.: ACM Press 1994. P. 225-231.

173. Myers В.А. User Interface Software Tools. ACM. Transactions on Computer-Human Interaction, March 1995. V.2. N. 1. P. 64-103.

174. Myers Brad, Rosson Mary. Survey on user interface programming // Tech. Rpt. CMU-CS-92-113, Carnegie-Mellon, School of Сотр. Sci., February 1992. http://citeseer.ist.psu.edu/myers92survey.html

175. Norman D.A. The psychology of everyday things. N.Y.: Basic Books, 1988. -257 p.

176. Ontology Language Standardisation Efforts. 1ST Project IST-2000-29243 Onto Web: Ontology-based Information Exchange for Knowledge Management and Electronic Commerce, www.ontoweb.org

177. Palanque P., Bastide R. Contextual Help for Free with Formal Dialogue Design / In Alty J.L., Diaper D., Guest S. (eds.) // Proc.of HCI'93. Cambridge: Cambridge University Press, 1993. P.615-620.

178. Pangoli S., Paterno F. Automatic Generation of Task-oriented Help. In van der Veer G.C., Bagnara S., Kempen G.A.M. (eds.), Proc. of UIST'95. N.Y.: ACM Press, 1995. P. 181-187.

179. Paris C.L. The Use of Explicit User Models in a Generation System for Tailoring Answers to the User's Level of Expertise // A.Kobsa and W.Wahlster (eds.): User Models in Dialog Systems. 1989. P. 200-232.

180. Paterno F., Faconti G. On the Use of LOTOS to Describe Graphical Interaction / In Monk A., Diaper D., Harrison M.D. (eds.) // Proc. of HCI'92. Cambridge: Cambridge University Press, 1992. P. 155-174.

181. Paterno F., Mezzanotte M. Formal Verification of Undesired Behavious in the CERD Case Study / In Bass L., Unger C. (eds.) // Engineering for Human-Computer Interaction, Proc. of EHCI'95. London: Chapman & Hall, 1995. -P. 213-226.

182. Petrelli D., De Angeli A., Convertino G. A User Centered Approach to User Modelling", User Modeling: Proceedings of the Seventh International Conference, UM99. Springer Wien New York, 1989. 255-264.

183. Pressman R. S. Software Engineering: Practitioners Approach European 3d Rev. ed. McGraw-Hills Inc., 1994. 802 p.

184. Puerta A. A model-based interface development environment IEEE Software, 14(1), July/August 1997. P. 41-47.

185. Puerta A. R. Supporting User-Centred Design of Adaptive User Interfaces Via Interface Models. First Annual Workshop On Real-Time Intelligent User Interfaces For Decision Support And Information Visualization, San-Francisco, January 1998. 10 p.

186. Puerta A. The Mecano project: comprehensive and integrated support for model-based interface development. Computer-aided design of user interfaces, ed. by Jean Vandrdonckt. Pressed Universitaires de Namur, Belgium, 1996. P. 19-25.

187. Puerta A., Maulsby D. MOBI-D: a model-based development environment for user-centered design // Proc. of the Conf. on Human Factors in Сотр. System. 1997. P. 4-5.

188. Puerta A.R. Issues in Automatic Generation of User Interfaces in Model-Based Systems. Computer-Aided Design of User Interfaces, ed. by Jean Vanderdonckt. Presses Universitaires de Namur, Namur, Belgium, 1996. P. 323-325.

189. Puerta A.R., Maulsby D. Management of Interface Design Knowledge with MOBI-D. IUI97: Intern. Conf. on Intelligent User Interfaces, Orlando, January 1997. P.249-252

190. Puerta A.R., Szekely P. Model-Based Interface Development, Tutorial Notes, СШ'94, Boston, MA. (available as http://smi.stanford.edu/proiects/mecano/ model-based.html).

191. Rocklin T.R., et al. Effects and underlying Mechanisms of self-adapted testing // J. of educational Psychology, 1995. V. 87. N 1. P. 103-116.

192. Romitti S., Santoni C., Francois P. A design methodology and a prototyping tool dedicate to adaptive Interface Generation. 2000. http://www.geocities.com/iqmestrado/Design/romitti.pdf

193. Schlungbaum E. Model-based User Interface Software Tools Current state of declarative models // Proc. of the 2nd Intern. Conf. on Intelligent user interfaces Orlando, Florida, United States. 1997. P. 229 232.

194. Schlungbaum E., Elwert T. TADEUS a model based approach to the development of Interactive Software Systems. In Rostocker Informatik Berichte 17, 1995. P. 93-104. (http://www.icg.informatik.unirostock.de/— schlung/TADEUS).

195. Schwab I., Kobsa A. Adaptivity through Unobtrusive Learning // KI 2002/3 Special Issue on Adaptivity and User Modeling, 2002. P. 5-9.

196. Sears A. AIDE: A Step Toward Metric-Based Interface Development Tools / In van der Veer G.C., Bagnara S., Kempen G.A.M. (eds.) // Proc. of UIST'95. N.Y.: ACM Press, 1995. P. 101-110.

197. Separating User Interface Code // Electronic resource -http://martinfowler.com/ieeeSoftware/separation.pdf

198. Shortliffe E.H. Clinical information systems in the era of manage care. Transactions of the American Clinical and Climatological Association. 1993. P. 203-215.

199. Silva P.P., Griffiths Т., Paton N.W. Generating User Interface Code in a Model-Based User Interface Development Environment // Proc. Advanced Visual Interfaces, V. di Gesu, et al. (eds), ACM Press, 2000. P. 155-160.

200. Singh G., Green M. A High-level User Interface Management System // Proc. SIGCHI'89. Apr. 1989, P. 133-138.

201. Staab S., Maedche A. Knowledge portals ontologies at work // Al Magazine. Summer 2001. V. 21(2). P. 63-75.

202. Stephanidis С. Adaptive Techniques for Universal Access // User Modeling and User-Adapted Interaction J., 2001. 11. P. 159-179.

203. Sukaviriya P., Foley J., Griffith T. A Second Generation User Interface Design Environment: The Model and the Runtime Architecture // Proc. Of InterCHI'93, 1993. P. 375-382.

204. Sukaviriya P., Foley J.D. Coupling a UI Framework with Automatic Generation of Context-Sensitive Animated Help // Proc. of UIST'90. N.Y.: ACM Press, 1990. P. 152-166.

205. Szekely P. Retrospective and Challenges for Model-Based Interface. 1996. http://citeseer.nj.nec.com/szekely96retrospective.html

206. Szekely P. User Interface Prototyping: Tools and Techniques. 1994. http://www.isi.edu/isd/humanoid-papers.html

207. Szekely P., Luo P., Neches R. Facilitating the Exploration of Interface Design Alternatives: The Humanoid Model of Interface Design // Proc. SIGCHT92. May 1992. P. 507-515.

208. Tattersall C. Generating Help for Users of Application Software // User Modeling and User-Adapted Interaction. 1992. №2(3). P. 211-248.

209. Uschold M. Knowledge Level Modeling: Concepts and Terminology // The Knowledge Engineering Review. 1998. Y. 13:1. P. 5-29.

210. Vanderdonckt J., Berquin P. Towards a Very Large Model-based Approach for User Interface Development // Proc. of 1st Int. Workshop on User Interfaces to Data Intensive Systems. IEEE Computer Society Press, Los Alamitos, 1999. P. 76-85.

211. Webb G., Pazzani M., Billsus D. Machine Learning for User Modeling // User Modeling and User-Adapted Interaction J., 2001. 11. P. 19-29.308

212. Wick Michaiel R, Slagle James R. An explanation facility for today's expert systems // IEEE Expert, 1989. 4. N1. P. 26-36.

213. Widmer G., Kubat M. Learning in the presence of concept drift and hidden contexts // Machine Learning, 1996. 23. P. 69-101.

214. Wiecha C., Bennett W., Boies S., Gould J., Green S. ITS: A tool for rapidly Developing Interactive Applications // ACM Transactions on Information Systems, 1990. V.8. N.3. P. 204-236.

215. Wooley B.A. Explanation Component Of Software Systems, 1998. http://www. acm. org/crossroads/xrds5 -1 /explain .html

216. Zukerman I., Albrecht D. Predictive Statistical Models User Modeling: Synergies and Limitations // User Modeling and User-Adapted Interaction J., 2001. 11. P. 5-18.

217. Zukerman I., Litman D. Natural Language Processing and User Modeling: Synergies and Limitations // User Modeling and User-Adapted Interaction J., 2001. 11. P. 129-158.

218. Zukerman I., McConachy R., Korb K.B. Consulting a User Model while Generating Arguments // UM96 Proc. of the Fifth Intern. Conf. on User Modeling. Kona, Hawaii, 1996. P. 153-160.