Русская Википедия:Контекстно-зависимые вычисления
Контекстно-зависимые вычисления (Шаблон:Lang-en) изучают контекстно-зависимые системы (комбинация аппаратного и программного обеспечения), которые анализируют состояние пользователя и окружающую среду, и адаптируют свою работу под изменяющиеся условия.
Контекстно-зависимые системы относят к разряду «повсеместных вычислений» (Шаблон:Lang-en). Основными источниками информации для контекстно-зависимых систем являются местоположение, социальное и физическое окружение. Несмотря на то, что определение местоположения широко используется в настоящее время, оно не всегда учитывает изменяющиеся интересы пользователя. Контекстная зависимость в широком понимании включает в себя находящихся рядом людей, устройства, доступ к интернету, уровень освещенности, уровень шума, а также взаимодействие людей в бытовых ситуациях. Например, находитесь ли вы сейчас с семьей или со своим школьным другом.
История
Концепция контекстно-зависимых вычислений впервые была сформирована в исследовательском центре Xerox PARC в 1990-х годах. В 1994 году Билл Склилит и Марвин Теймор, ученые из Xerox PARC, впервые использовали термин «контекстно-зависимый» в своем докладе «Disseminating Active Map Information to Mobile Hosts». Скилит и Теймор определили контекст как местоположение, социальное окружение, объекты и изменения этих объектов.
Определение контекста
В настоящее время исследователями используются различные определения контекста.
Профессор университета Каргеги Меллон, Анинд К. Дей[1] дает такое определение: «Контекст — это любая информация, использующаяся для описания ситуации или объекта». В данном случае под объектом подразумевается место или человек, которые могут взаимодействовать между пользователем или приложением.
Контекст может рассматриваться как любое окружение объекта, включая сам объект и его взаимодействия со средой. Если какая-либо информация может быть использована для определения и описания события или взаимодействия объекта, тогда можно назвать её контекстными характеристиками. Однако во многих случаях исследователи используют то определение контекста, которое, по их собственному мнению, подходит для отражения основного смысла. Иногда такие определения представляют контекст в общих чертах.
Билл Склилит и Марвин Теймор[2], ученые из Xerox PARC, определили контекст как местоположение, социальное окружение, объекты и изменения этих объектов
Альбрехт Скимидт[3][4] рассматривает контекст как знания о состоянии пользователя и устройства, включая окружающую среду и социальное окружение.
Стандарт ISO 9421-11 говорит, что контекст — это пользователи, их цели и задачи, инфраструктура приложения (совокупность программного и аппаратного обеспечения), физическое и социальное окружение, в котором используется система.
Существуют также другие определения контекста, некоторые из которых достаточно специфичны и сложны для применения в реальных системах.
Архитектура контекстно-зависимых систем
Архитектура контекстно-зависимого приложения
Контекстно-зависимые системы имеют три основные функциональные характеристики. Они могут «чувствовать», «думать» и «действовать». Эти три шага могут быть различными по сложности в различных системах. Некоторые устройства могут иметь сложные датчики, но производить небольшой анализ перед действием. Другие же, наоборот, собирают небольшое количество информации, но проводят тщательный анализ. Такие системы могут быть реализованы с помощью централизованной или распределенной архитектуры на несколько физических устройств.
Первым этапом работы контекстно-зависимых систем является сбор данных с различных сенсоров (датчиков) или поиск информации из альтернативных источников. Сенсоры помогают определить элементы контекста в окружающем мире, которые компьютерному устройству сложно определить традиционными методами. Эта информация может затем быть использована устройством для того, чтобы определить возможные подходящие варианты работы и адаптироваться под условия. Собранная информация создает связь между реальным физическим миром и виртуальным миром для компьютерной программы.
Вторым этапом является анализ собранных данных с последующим хранением результата. Существуют различные технологии анализа данных от простого ранжирования до техник связанных с искусственным интеллектом. После анализа результат может быть сохранен для дальнейшего использования, а также для обучения системы. Последним этапом служит выбор подходящего варианта поведения контекстно-зависимой системы.
Каждая подсистема может быть сложной и быть отделенной от других, или же подсистемы могут быть тесно связаны в одном устройстве. Каждая подсистема может также быть разделена на несколько компонентов. Между подсистемами могут быть созданы интерфейсы, которые позволяют подсистемам взаимодействовать между собой без детальных знаний об их архитектурах. Таким образом, обновление алгоритмов анализа данных и принятия решений не повлияет на общую работу системы, так как эти они не требуют соответствующих изменений на вызывающей стороне.
Примеры контекстно-зависимых приложений/систем
- В линейке Apple iPhone реализованы контекстно-зависимые пользовательские интерфейсы, например при изменении положения телефона относительно земли, интерфейс меняет свою ориентацию. Изменяется яркость изображения дисплея в зависимости от яркости окружающей среды. Экран использует сенсор для определения близости пользователя к телефону (при прижимании телефона к уху экран выключается). Iphone автоматически переключается между задачами (при звонке — аудио прекращает проигрываться, а как звонок завершается — аудио опять проигрывается)
- Microsoft Office 2007 предоставляет пользователям контекстные меню, которые предлагают подходящие инструменты для редактирования специальных объектов (графики, изображения, таблицы и т. д.) при выделении соответствующих специальных объектов
- GPS-навигаторы получают данные о местонахождении пользователя и на основании полученной информации прокладывают маршрут к пункту назначения, а также при съезде с намеченного пути, прокладывают новый. Также навигаторы могут использовать информацию о дорожной ситуации и учитывать пробки, произошедшие аварии и опасные участки дороги.
Исследовательские организации
- IEEE (Institute of Electrical and Electronics Engineers)
- ACM (Association for Computing Machinery)
- Microsoft Research
- Xerox PARC
- DARPA (Defense Advanced Research Projects Agency)
- NCAR (The National Center for Atmospheric Research)
См. также
Ссылки