Помощь в написании студенческих работ
Антистрессовый сервис

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

ДиссертацияПомощь в написанииУзнать стоимостьмоей работы

Разработана новая модель взаимодействия приложения с пользователем в условиях неопределённости интерфейсных средств ввода/вывода. Тем самым заданы задачи и принципы функционирования библиотеки АПИ, предложен метод её реализации: a) библиотека позволяет осуществлять только базовый набор задач ИП, включающий ввод/вывод текстовой информации и выбор из предопределённых вариантов (описанных в виде… Читать ещё >

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

Содержание

  • 1. АНАЛИЗ ОСОБЕННОСТЕЙ ИНТЕРФЕЙСА ПОЛЬЗОВАТЕЛЯ В JAVA
    • 1. 1. Системы для встроенных и мобильных устройств
      • 1. 1. 1. Классификация систем интерфейса пользователя
      • 1. 1. 2. Интерфейс пользователя для мобильных устройств
      • 1. 1. 3. Интерфейс пользователя для встроенных устройств
      • 1. 1. 4. Интерфейс пользователя на базе распознавания/синтеза речи
    • 1. 2. Требования к разрабатываемой библиотеке
    • 1. 3. Постановка задачи
    • 1. 4. Выводы
  • 2. РАЗРАБОТКА БИБЛИОТЕКИ
    • 2. 1. Определение функций библиотеки
      • 2. 1. 1. Критерий выбора функций
      • 2. 1. 2. Основные функции библиотеки
    • 2. 2. Принципы функционирования библиотеки
      • 2. 2. 1. Осуществление запроса
  • приложения к системе
    • 2. 2. 2. Задание обработчика и разбор ответа пользователя
    • 2. 2. 3. Отмена запроса и информационный запрос
    • 2. 2. 4. Управление активностью пршожения
    • 2. 3. Элементы библиотеки
    • 2. 3. 1. Эчемент контекст работы
  • приложения
    • 2. 3. 2. Элемент тип запроса и его вспомогательные элементы
    • 2. 3. 3. Эчемент ответ пользователя и его обработчик
    • 2. 3. 4. Элемент АЛИ
  • приложение
    • 2. 4. Выводы
  • 3. ПРИНЦИПЫ РЕАЛИЗАЦИИ БИБЛИОТЕКИ
    • 3. 1. Интерпретатор запроса
      • 3. 1. 1. Понятие и задачи интерпретатора
      • 3. 1. 2. Универсальный и татформозависимый интерпретаторы
      • 3. 1. 3. Особенности составления и разбора запроса
      • 3. 1. 4. Оптимизация работы интерпретатора
    • 3. 2. Особенности реализации интерпретатора
  • 3. 2.1 Реализация для систем ГИП с расширенными возможностями
    • 3. 2. 2. Реализация дчя систем на базе распознавания/синтеза речи
    • 3. 3. Выводы

Пользовательский интерфейс — одна из важнейших частей практически любого программного комплекса, обеспечивающая взаимодействие человека с вычислительной машиной. За последние десятилетия был достигнут огромный прогресс как в значительном расширении возможностей ввода и вывода информации, так и в методах разработки пользовательских интерфейсов. Начав с программирования взаимодействия с интерфейсными устройствами ввода/вывода в машинных кодах для каждой новой программы, разработчики пользовательских интерфейсов стали активно переходить ко всё более высоким уровням абстракции — от использования драйверов до специальных библиотек компонент пользовательского интерфейса (Motif, MFC, Qt, GTK и т. п.).

Задача создания абстрактного пользовательского интерфейса (АПИ) неоднократно обсуждалась в академических и коммерческих проектах. При этом в понятие абстрактности интерфейса зачастую вкладывался разный смысл в зависимости от конкретной цели применения. В общем случае АПИ — это описание пользовательского интерфейса, которое не связано с конкретным контекстом его применения. Так, например, его описание средствами Java позволяет обеспечить единый графический интерфейс приложения, например, на платформах Windows ХР и Solaris.

Активное исследование этого понятия в приложении к интерфейсу пользователя (ИП) началось в связи с общим стремлением к созданию платформонезависимого программного обеспечения. Отметим несколько характерных примеров (см. также рис. 1):

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

• создание обобщенных компонент пользовательского интерфейса. Обобщённые компоненты позволяют создавать ИП из блоков, абстрагируясь от особенностей низкоуровневого общения. Примерами абстракции подобного вида являются XI1 [8] и Win32 API [9], или более высокоуровневые MFC [10] и Motif [44];

• абстракция для различных платформ. Обеспечение полной платформенной независимости приложения подразумевает возможность создания интерфейсов взаимодействия с пользователем, которые обеспечивают идентичную функциональность на разных платформах. Примерами такого направления абстракции являются GTK [43] и соответствующие пакеты Java — Abstract Window Toolkit (AWT) [11], Swing [12]. абстрактный интерфейс высокого уровня (SWING) абстрактный интерфейс низкого уровня (AWT) платформозависимый интерфейс высокого уровня (MFC) платформозависимый интерфейс низкого уровня (win32) виртуальный «драйвер» аппаратура.

Рис. 1. Уровни абстракций в системе ИП для настольных компьютеров.

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

Миграция информационных технологий в мир встроенных и мобильных вычислительных устройств (группа embedded and mobile devices) поставила новые задачи перед разработчиками ИП. Устройства данного класса представляют собой полноценную вычислительную машину со своим микропроцессором, операционной средой и программным обеспечением. Однако в отличие от настольных компьютеров данные платформы выделяются широким (и постоянно расширяющимся) спектром разнообразных средств управления, взаимодействие с которыми плохо укладывается в традиционные системы абстракций пользовательского интерфейса. Так, в одних устройствах вывод информации может осуществляться с применением графического дисплея, при этом характеристики дисплеев имеют принципиальные различия (например, размер экрана может отличаться на порядок), в других устройствах вывод осуществляется системой генерации речи. Стандартную клавиатуру заменили телефонные клавишные панели, всё большую популярность набирают также системы распознавания письма и речи и т. д. На рис. 2 приведены примеры таких устройств: а) -устройство с жидкокристаллическим дисплеем, основной и дополнительной клавиатурой, б) — устройство с цветным экраном и вводом на базе распознавания письма, в) — устройство с монохромным экраном и телефонной контрольной панелью. а) б) в.

Рис. 2. Примеры современных пользовательских устройств.

Каждый новый тип подобных устройств требует разработки собственного программного обеспечения. При этом, как правило, существуют жесткие временные рамки разработки до выхода на рынок. Соответственно, необходимо выбирать среду разработки и исполнения приложений, которую отличали бы хорошая переносимость, удобные изобразительные возможности исходного и платформенная независимость исполняемого кода. Для этого хорошо подходит Java в качестве защищенной операционной среды для встроенных и мобильных вычислительных устройств. В последние годы Java нашла широкое применение для данного класса устройств, происходит постоянное развитие интерфейсов взаимодействия Java-приложений с различными системами операционной среды, контролируемое стандартизирующей организацией Java Community Process (www.jcp.org). Поэтому, говоря о разработке абстракций пользовательского интерфейса для данного класса устройств, целесообразно рассматривать именно технологии на базе Java [7, 13].

Наибольший практический успех в создании платформонезависимых АПИ в контексте встроенных и мобильных вычислительных устройств достигнут технологией Java 2 Platform, Micro Edition (J2ME) [14]. Однако предлагаемые данной технологией модели взаимодействия ориентированны на пользовательские устройства с вполне определёнными типами интерфейсных средств ввода/вывода. Как следствие, приложение, даже будучи разработанным для указанной технологии, не является переносимым из-за различий в применяемых средствах ввода/вывода. интерактивное приложение основная часть приложения.

•ч ^.

Рис. 3. Структура приложения, адаптированного для различных устройств.

Существует два типа задач, для которых данный факт создаёт определённую проблему. Первый — это разработка пользовательских приложений общего назначения, таких как адресная книга, органайзер, календарь и так далее. Приложения такого типа востребованы в большинстве пользовательских устройств, при этом разработанная на Java основная часть приложения остаётся платформонезависимой, однако необходимо адаптировать его в части работы с ИП для каждого типа интерфейсных средств ввода/вывода (см. рис. 3). Второй тип задач обусловлен тем фактом, что в мире компьютеризированных пользовательских устройств уже не редкость сложные системы, функциональность которых определяется набором системных приложений. Например, это системы управления домом (интеллектуальный дом) [15] или системы, применяемые в автомобилях [16]. Соответствующее математическое обеспечение разрабатывается в рамках создания базовой технологии для её последующей адаптации к конфигурации системы от определённого производителя. Указанные системные приложения могут требовать взаимодействия с пользователем, что в свою очередь делает необходимым разрабатывать соответствующий программный код для каждого конкретного типа интерфейсных устройств ввода/вывода.

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

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

• даже в рамках работы с одной библиотекой необходимо учитывать определённые характеристики целевого устройства. Например, ИП на базе библиотеки из Mobile Information Device Profile (MIDP) [17], разработанный для сотового телефона с небольшим экраном и клавишной панелью, в большинстве случаев будет малопригоден для применения в электронной записной книжке (personal digit assistant) с большим экраном и средствами ввода на базе системы распознавания письма;

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

Решению указанного круга проблем посвящена данная диссертационная работа.

Актуальность темы

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

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

Целью диссертационной работы является разработка и исследование новой модели взаимодействия приложения с пользователем, разработка на её основе библиотеки АПИ, а также анализ проблем, связанных с реализацией этой библиотеки в различных системах и их практическое решение. Исходя из поставленной цели, в работе решаются следующие задачи:

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

• определение требований к библиотеке АПИ для встроенных и мобильных вычислительных устройств в условиях независимости от средств ввода/вывода;

• разработка новой модели взаимодействия приложения с пользователем и её проецирование на язык программирования — создание интерфейсов библиотеки;

• разработка общих принципов реализации библиотеки АПИ;

• разработка принципов реализации библиотеки АПИ для различных систем;

• оценка выполнения требований, предъявленных к разрабатываемой библиотеке.

Предмет исследования составляют различные аспекты разработки библиотеки АПИ и её реализации для среды Java 2 Platform, Micro Edition:

• модели взаимодействия, предоставленные в существующих библиотеках ИП;

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

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

• особенности реализации библиотеки АПИ в различных системах ИП;

• степень выполнения требований, предъявленных к библиотеке АП.

Методы исследования относятся к области системного программирования и технологии разработки программного обеспечения. Применимость разработанного интерфейса для создания приложений оценивалась посредством анализа выполнения требований к библиотеке АПИ. Эффективность принятых решений оценивалась посредством сравнительного анализа организации и процесса функционирования интерпретатора запроса (как средства реализации библиотеки АПИ) и приложения на базе низкоуровневой библиотеки ИП.

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

• разработаны общие требования к библиотеке АПИ, а также предложен обобщённый критерий отбора её функций;

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

• разработан метод оптимизации процесса функционирования библиотеки АПИ для случая вывода приложением текстовой информации;

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

Практическая ценность результатов работы состоит в том, что на основе результатов анализа и обобщения задач ИП и создания соответствующей модели взаимодействия была разработана библиотека АПИ для встроенных и мобильных вычислительных устройств с различными интерфейсными средствами ввода/вывода. Библиотека была реализована для различных систем на базе графического интерфейса пользователя (ГИП) и системы на базе голосового управления для технологии J2ME. Успешное выполнение всех предъявленных к библиотеке требований подтвердило её пригодность для решения проблемы адаптации большого класса приложений для различных систем ИП. Результаты проведённого исследования носят общий характер, поэтому их применение не ограничено системами на базе технологии Java.

Основные практические результаты, выносимые на защиту.

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

1) Задачи и принципы работы библиотеки АПИ:

• обобщённый критерий отбора задач библиотеки АПИ;

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

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

• понятие информационного запроса для повышения применимости библиотеки;

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

• понятие запроса на взаимоисключающий или множественный выбор.

2) Принципы реализации библиотеки АПИ:

• применение интерпретатора для динамического построения конечного ИП по переданному абстрактному описанию;

• преимущества применения низкоуровневого интерпретатора;

• принципы составления и разбор правильности запроса;

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

• принципы обработки контейнера запросов различных типов;

• особенности реализации в системе на базе голосового управления.

На основе разработанной модели была создана библиотека абстрактного пользовательского интерфейса и осуществлена её реализация для систем на базе ГИП и на базе распознавания/синтеза речи, а именно:

• в системе на базе Personal Java 1.0 (для последующего переноса на конфигурацию CDC 1.0, профиль РВР 1.0) для ГИП с черно-белым экраном с разрешением 192×96;

• в системе на базе Personal Java 1.0 для ГИП с цветным экраном (256 цветов) с разрешением 320×420;

• в системе на базе Personal Java 1.0 для ИП, основанного на механизме распознавания/синтеза речи фирмы Fonix.

Разработанные библиотека АПИ и её реализация для указанных систем вошли в состав опытного продукта, созданного в рамках проекта Java Telematics Technology (JTT) фирмой Sun Microsystems в 2000;2002 годах. Реализованная библиотека АПИ была адаптирована и использована для работы в составе:

• эмулятора пользовательского интерфейса клиентской части JTT;

• эталонной реализации (reference implementation) клиентской части JTT для платформы x86/windows 2000;

• опытной реализации клиентской части JTT для платформы Super HitachiUVxWorks! Personal Java 1.0.

Разработанное программное обеспечение прошло этап опытной эксплуатации в фирмах Sun Microsystems, ЗАО «МЦСТ» и показало хорошие результаты.

В дальнейшем возможно использование результатов работы в составе программного обеспечения для серии устройств одного типа, базирующихся на определённой конфигурации J2ME и имеющих различия в доступном интерфейсе пользователя. Кроме того, предложенные решения носят достаточно универсальный характер, что позволяет применять их при разработке библиотеки АПИ для встроенных и мобильных вычислительных устройств на базе технологий, отличных от технологии Java 2 Platform, Micro Edition.

Публикации.

По теме диссертации опубликованы 7 работ:

1. Беляев В. К., Афремов П. Н. Принципы организации абстрактного пользовательского интерфейса в Java 2 Platform, Micro Edition // Тезисы докладов XLV научной конференции МФТИ, ч.1 — М.: МФТИ, 2002. С. 45−47 [1].

2. Беляев В. К., Мухин И. А. Поддержка абстрактного пользовательского интерфейса в Java 2 Platform, Micro Edition // Труды XLVI научной конференции МФТИ, ч.1 — M.: МФТИ, 2003. С. 55−56 [2].

3. Беляев В. К. Особенности реализации абстрактного пользовательского интерфейса в J2ME // Компьютеры в учебном процессе, № 1, 2004. С. 79−98 [3].

4. Забелин C.B., Беляев В. К. Абстрактный пользовательский интерфейс в Java 2 Platform, Micro Edition: определение, задачи, принципы работы // Информационные технологии, № 3, 2004. С. 30−38 [4].

5. Беляев В. К. Оптимизация работы интерпретатора запроса при реализации абстрактного пользовательского интерфейса // Тезисы докладов XXX Международной молодежной научной конференции «Гагаринские чтения», т. 5 — М.: «МАТИ» -РГТУ им. К. Э. Циолковского, 2004. С. 8 [5].

6. Беляев В. К., Афремов П. Н, Мухин И. А. Абстрактный пользовательский интерфейс в Java 2 Platform, Micro Edition: библиотека и её поддержка // Информационные технологии, № 7,2004. С. 35−42 [6].

7. Беляев В. К., Некрестьянов И. С. Методы описания абстрактного пользовательского интерфейса // Высокопроизводительные вычислительные системы и микропроцессоры. Сб. научн. трудов, вып. 6 — М.: ИМВС РАН, 2004. С. 86−96 [7].

Апробация.

Результаты работы докладывались и обсуждались на XLV, XLVI научных конференциях Московского Физико-Технического Института, на XXX Международной молодёжной конференции «Гагаринские чтения», а также семинарах ЗАО «МЦСТ» и ИМВС РАН.

Краткое содержание работы.

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

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

Разделы 1.1.2 и 1.1.3 посвящены анализу существующих разработок для систем на базе ГИП, представленных в технологии J2ME — MIDP [17] и AWT [11]. Проводится анализ задач и принципов функционирования соответствующих библиотек. В разделе 1.1.4. анализируется абстракция для работы с механизмом распознавания/синтеза речи, представленная библиотекой Java Speech [48]. Делается вывод об ограниченной области применения данных библиотек, а также сложности создания простых приложений на основе Java Speech. В результате ещё больше подчеркивается актуальность работ по созданию библиотеки АПИ.

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

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

Проводится анализ задач существующих библиотек ИП с применением критерия их отбора для разрабатываемой библиотеки. В результате определяется набор основных функций библиотеки АПИ, а именно: ввод/вывод текстовой информации пользователю и выбор из списка, заданного в виде текста. Делается предположение, что указанный набор может дополняться для определённой системы исходя из контекста её работы, чем достигается определённая степень выразительности конечного интерфейса. Например, в большинстве случаев можно будет рассматривать отдельно задачу ввода произвольного числа, которая является частным случаем ввода текстовой информации.

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

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

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

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

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

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

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

В Заключении приводятся основные результаты диссертационной работы. Делается вывод, что разработанные принципы функционирования библиотеки АПИ и её реализации позволяют создать соответствующую библиотеку, отвечающие всем предъявленным к ней требованиям. Отмечается, что при разработке библиотеки АПИ были реализованы две низкоуровневые библиотеки ГИП и библиотека на базе механизма распознавания/синтеза речи. Общий объём реализованной системы составил приблизительно 55 000 строк на языке программирования Java.

3.3 Выводы.

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

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

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

4.

Введение

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

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

Заключение

.

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

2. Проведена классификация целевых систем ИП встроенных и мобильных вычислительных устройств, определившая их основные типы — системы на базе распознавания/синтеза речи и системы на базе ГИП. Принято решение при разработке модели взаимодействия ориентироваться на эти типы систем.

3. В результате анализа существующих библиотек ИП, представляемых технологией Java для этих систем, установлено, что их применение ограничено системами с конкретным типом интерфейсных средств ввода/вывода, для которых они создавались. Вследствие этого необходима разработка новой модели взаимодействия приложения с пользователем и создание библиотеки АПИ на её основе.

4. Разработана новая модель взаимодействия приложения с пользователем в условиях неопределённости интерфейсных средств ввода/вывода. Тем самым заданы задачи и принципы функционирования библиотеки АПИ, предложен метод её реализации: a) библиотека позволяет осуществлять только базовый набор задач ИП, включающий ввод/вывод текстовой информации и выбор из предопределённых вариантов (описанных в виде текста), а также их различные производныеb) взаимодействие приложения с пользователем ограничено осуществлением запроса к системе, описанного в абстрагированных от интерфейсных средств ввода/вывода терминах, и получением от системы ответа пользователяc) разрешено объединение группы запросов в один сложный, что позволяет упростить структуру приложения и значительно повысить выразительность конечного интерфейса пользователя для систем на базе ГИП с расширенными возможностямиd) метод реализации библиотеки состоит в создании низкоуровневого интерпретатора запроса, основной задачей которого является динамическое построение конечного ИП по переданному в запросе абстрактному описанию.

5. На основе разработанной модели реализована библиотека для различных систем ИП в технологии Java 2 Platform, Micro Edition. Подтверждена универсальность и простота предложенного решения проблемы адаптации ИП приложений для этих систем.

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

Опытная эксплуатация библиотеки АПИ в составе программного обеспечения Java Telematics Technology для системы на базе Personal Java 1.0IFonix и системы на базе Personal Java 1.0/AWT на практике подтвердила, что библиотека может успешно применяться для создания широкого класса приложений в условиях неопределённости интерфейсных средств ввода/вывода. Библиотека может быть реализована достаточно простым способом для любой системы ИП в J2ME, что позволяет применять предложенный подход при выполнении трудоёмкой работы по адаптации ИП приложений для этой системы.

Работа над созданием библиотеки АПИ, результаты которой представлены во второй и третьей главах диссертационной работы, осуществлялась в рамках проекта Java Telematics Technology, проводившегося совместно фирмами ЗАО «МЦСТ» и Sun Microsystems в 2000/2002 годах. Автором было разработано большинство принципов функционирования библиотеки и способов оптимизации работы интерпретатора, использованных в проекте, и выполнено около 60% работ, связанных с реализацией этой библиотеки для указанных систем. Кроме указанной библиотеки были также реализованы низкоуровневые библиотеки на базе ГИП и на базе механизма распознавания/синтеза речи. Общий объём программного кода реализованных систем составил приблизительно 55 000 строк на языке Java.

В заключение мне бы хотелось поблагодарить всех людей, принимавших участие в проекте JTT. Я признателен сотруднику фирмы Sun Microsystems, руководителю проекта JTT Бехфару Разави за предоставленную возможность работать над диссертацией. Отдельно хочу поблагодарить проф. В. В. Шилова, к.т.н. А. Д. Доброва и остальных людей, помогавших мне в написании этой работы, и без которых она была бы невозможна.

Показать весь текст

Список литературы

  1. В.К., Лфремов П. Н. Принципы организации абстрактного пользовательского интерфейса в Java 2 Platform, Micro Edition // Тезисы докладов XLV научной конференции МФТИ, 4.1 — М.: МФТИ, 2002. С. 45−47.
  2. В.К., Мухин И. А. Поддержка абстрактного пользовательского интерфейса в Java 2 Platform, Micro Edition // Труды XLVI научной конференции МФТИ, ч.1 М.: МФТИ, 2003. С. 55−56.
  3. В.К. Особенности реализации абстрактного пользовательского интерфейса в J2ME // Компьютеры в учебном процессе, № 1, 2004. С. 79−98.
  4. С.В., Беляев В. К. Абстрактный пользовательский интерфейс в Java 2 Platform, Micro Edition: определение, задачи, принципы работы // Информационные технологии, № 3, 2004. С. 30−38.
  5. В.К., Афремов П.Н, Мухин И. А. Абстрактный пользовательский интерфейс в Java 2 Platform, Micro Edition: библиотека и её поддержка // Информационные технологии, № 7, 2004. С. 35−42.
  6. В.К., Некрестьянов И. С. Методы описания абстрактного пользовательского интерфейса // Высокопроизводительные вычислительные системы и микропроцессоры. Сб. научн. трудов, вып. 6 М.: ИМВС РАН, 2004. С. 86−96.
  7. Davison A. Distributed Window Systems: A Practical Guide to XI1 and News // L: Addison-Wesley, 1992.
  8. Villani P. Programming Win32 Under the API // L: CMP Books, 2001.
  9. Shepherd G., Wingo S. MFC Internals: Inside the Microsoft© Foundation Class Architecture// L: Addison-Wesley, 1996.
  10. Geary D., McClellan A. Graphic Java 1.1: Mastering the AWT // Prentice Hall PTR, 1997.
  11. Walrath K., Campione M. The JFC Swing Tutorial: A Guide to Constructing GUIs // L: Addison-Wesley, 1999.
  12. Gosling J., Joy В., Steele G., Bracha G. The Java language specification, Second Edition // L: Addison-Wesley, 2000.
  13. Muchow J. Core J2ME Technology // Prentice Hall PTR, 2001.
  14. Dobrev P., Famolari D., Kurzke C., Miller B. Device and Service Discovery in Home Networks with OSGi // IEEE Comm. Mag., Aug. 2002. pp.86−92.
  15. Nir E., Razavi B. Driving the Convergence of Telematics and Mobile Communication Devices // MIT/Stanford Venture Lab, May, 2002.
  16. Riggs R., Taivalsaari A., VandenBrink M. Programming Wireless Devices with the Java 2 Platform, Micro Edition// L: Addison-Wesley, 2001.
  17. Dix A., Finlay J., Abowd G., Beale R. Human-Computer Interaction (2nd Edition) //Prentice Hall, January, 1998.
  18. Hartson H., Hix D. Human-Computer Interface Development: Concepts and Systems // ACM Computing Surveys, 1989. pp. 5−92.
  19. Young M., Taylor R., Troup D. Software Environment Architectures and User Interface Facilities // IEEE Transactions on Software Engineering 14(6), June, 1988. pp. 697−708.
  20. Bloch C., Wagner A. M1DP 2.0 Style Guide for the Java 2 Platform, Micro Edition // L: Addison-Wesley, 2003.
  21. Weinschenk S., Barker D. Designing Effective Speech Interfaces // Jon Wiley & Sons, 2000.
  22. Trevvin S., Zimmermann G., Vanderheiden G. Abstract User Interface Representations: How Well do they Support Universal Access? // ACM Conference on Universal Usability, 2003. pp. 77−84.
  23. Javatm. Technology Telematics Technology// SunFlash, vol.49, n.3, March 18,2002.
  24. Thevenin D., Coutaz J. Plasticity of User Interfaces: Framework and Research Agenda // In Proceedings of INTERACT'99, (IFIP TC.13 Conference on Human-Computer Interaction), September, 1999. pp. 110−117.
  25. Shneiderman B., Plaisant C. Designing the User Interface: Fourth Edition Preview, 4/E // L: Addison-Wesley, 1998.
  26. Hackos J., Redish J. User and Task Analysis for Interface Design // John Wiley & Sons, Inc., 1998.
  27. Paciello M. Web Accessibility for People With Disabilities (R&D Developer Series) // L: CMP Books, 2000.
  28. Gong L. Inside Java 2 Platform Security: Architecture, API Design, and Implementation // L: Addison-Wesley, 1999.
  29. Schneider K., Cordy J. Abstract User Interfaces: A Model and Notation to support plasticity in Interactive Systems // In Proceedings of the Eight Workshop of Design, Specification and Verification of Interactive Systems, June, 2001. pp. 40−58.
  30. Sato N. Using Input Methods on the Java Platform // Sun Microsystems, Inc, 2002.
  31. Mayhew D. The Usability Engineering Lifecycle: A Practitioner’s Handbook for User Interface Design // SF: Morgan Kaufmann, 1999.
  32. Bollella G., Gosling J., Brosgol B., Dibble P., Furr S., Hardin D., Turnbull M. Real-Time Specification for Java // L: Addison-Wesley, 2000.
  33. Linton M., Vlissides J., Calder P. Composing User Interfaces with Interviews // IEEE Computer, vol. 22, February 1989. pp. 8−22.
  34. Bloch J. Effective Java: Programming Language Guide // L: Addison-Wesley, 2001.
  35. Chen K., Gong L. Programming Open Service Gateways With Java Embedded Server Technology// L: Addison-Wesley, 2001.
  36. Gamma E., Helm R., Johnson R., Vlissides J. Design Patterns: Elements of Reusable Object-Oriented Software// Reading, MA: Addison-Wesley, 1994.
  37. Fetcke T. A Generalized Structure for Function Point Analysis // International Workshop on Software Measurement (IWSM'99), September, 1999.
  38. The AWT Native Interface // Sun Microsystems, Inc, August, 1999.
  39. Booch G. Object-Oriented Analysis and Design with Applications (2nd Edition) // L: Addison-Wesley, 1993.
  40. Wilson S., Kesselman J. Java Platform Performance: Strategies and Tactics // L: Addison-Wesley, 2000.
  41. Doug L. Concurrent Programming in Java: Design Principles and Patterns, Second edition // L: Addison-Wesley, 1999.
  42. Рис. 1. Уровни абстракций в системе ИП для настольных компьютеров. Стр. 3.
  43. Рис. 2. Примеры современных пользовательских устройств. Стр. 4.
  44. Рис. 3. Структура приложения, адаптированного для различных устройств. Стр. 5.
  45. Рис. 4. Компоненты системы человек-машина. Стр. 15.
  46. Рис. 5. Схема применения библиотеки АПИ в системе человек-машина. Стр. 16.
  47. Рис. 6. Элементы пользовательского интерфейса в МГОР1.0. Стр. 23.
  48. Рис. 7. Элементы пользовательского интерфейса в АУТ. Стр. 30.
  49. Рис. 8. Состояния машины распознавания/синтеза речи. Стр. 32.
  50. Рис. 9. Структуры приложения в различных системах ИП. Стр. 34.
  51. Рис. 10. Различные графические представления элемента в АУТ. Стр. 41.
  52. Рис. 11. Схема жизненного цикла приложения при работе с АПИ. Стр. 53.
  53. Рис. 12. Схема логики разбора ответа пользователя. Стр. 60.
  54. Рис. 13. Схема этапов работы интерпретатора запросов. Стр. 66.
  55. Рис. 14. Обработка запроса в универсальном интерпретаторе. Стр. 68.
  56. Рис. 15. Архитектурный стек при реализации библиотеки АПИ. Стр. 69.
  57. Рис. 16. Схема оптимизации работы с помощью обновляемого запроса. Стр. 74.
  58. Рис. 17. Пример неоптимального использования возможностей устройства. Стр. 76.
  59. Рис. 18. Пример дерева запросов для взаимоисключающего выбора. Стр. 78.
  60. Рис. 19. Пример типов элементов дерева запросов. Стр. 79.
  61. Рис. 20. Пример дерева запросов для множественного выбора. Стр. 81.
  62. Рис. 21. Схема использования арбитра при осуществлении аудио-вывода. Стр. 83.
  63. Рис. 22. Схема взаимодействия с потоком при блокирующем вызове. Стр. 85.
Заполнить форму текущей работой