Реферат: Достаточные условия для корректных адаптивных гипермедиа систем
Адаптивные Гипермедиа Системы (или AHS) предоставляют автоматически персонализированный доступ к информационным гипермедиа ресурсам, чаще всего в форме Web сайтов. Большинство AHS обеспечивают поддержку адаптивной навигации и адаптивное содержание. Структура ссылок или представление указателей ссылок различна для каждого пользователя. Реальное содержание информационных страниц также отличается для различных пользователей. Обзор систем, методов и техник адаптивной гипермедиа можно найти в [B96]. Мы разработали эталонную модель архитектуры адаптивных гипермедиа приложений: Модель Адаптивного Гипермедиа Приложения (AHAM) [DHW99]. AHAM описывает AHS на абстрактном уровне, используя архитектуру, состоящую из трех частей:
Модель предметной области (DM), которая описывает, каким образом структурировано содержание приложения (используя концепты и отношения концептов).
Детализированная модель пользователя (UM), которая представляет предпочтения, знания, цели, историю навигации и другие релевантные аспекты пользователя.
Модель адаптации (AM), состоящую из правил адаптации. Правила определяют процесс генерации адаптивного представления и обновления модели пользователя.
Такая архитектура обеспечивает четкое разделение интересов при создании адаптивного гипермедиа приложения.
Исполнительная часть AHS, называемая механизмом (движком) адаптации (AE), является программным обеспечением, которое выполняет адаптацию (описанную правилами AM). Проблемы создания механизма адаптации общего назначения (AE) обсуждались в более ранней статье [WDD01]. Мы определили язык правил для AHS, AHAM-CA и предложили метод статического анализа для принятия решения о том, что для данных DM, UM и AM, механизм адаптации всегда конечен, и будет ли он конфлюэнтным[1] (это означает, что система будет генерировать предсказуемые результаты). В этой статье мы обсудим, как (достаточные, но не необходимые) условия, которые гарантируют конечность и конфлюэнтность, могут быть ослаблены (оставаясь достаточными).
Язык правил адаптации
Из-за отсутствия достаточного места мы не даем полное определение синтаксиса нашего (абстрактного) языка правил, а иллюстрируем его на примере. Подробности смотрите в [WDD01]. Правило C→A в AHAM состоит из условия (C) и действия (A). Поскольку свойства языка не зависят от используемого синтаксиса, для простоты мы применяем SQL-подобный синтаксис. Пример AHAM-CA правила:
C: select C1.knowledge
where C1.knowledge _ “known”
A: update C2.ready_to_read := true
where prerequisite(C1,C2) and
not exists ( select C3
where prerequisite(C3,C2) and
C3.knowledge < “known” )
Это общее правило, содержащее переменные концепты C1 , C2 и С3 . Язык также разрешает (более или менее) специальные правила, которые используют концепты вместо переменных концептов. Правило в примере объявляет, что когда знание концепта C1 изменяется на такое, что оно становится, по меньшей мере “known (знакомо)”, тогда все концепты C2 , для которых C1 было последним предварительным условием, которое еще не было “known (знакомо)”, теперь становится “ready_to_read (готовы_к_чтению)”. В данном языке правил слишком легко написать правило, которое может привести к бесконечным циклам или непредсказуемым результатам. Пример такого правила:
C: select C1.attr
where C1.attr > 0
A: update C2.attr := C2.attr + 1
where rel(C1,C2)
Этот пример также демонстрирует, что это правило может генерировать бесконечный цикл, в зависимости от того имеет ли циклы отношение “rel”.
Достаточные условия для завершения и слияния в AHS
Язык правил AHAM-CA является очень мощным, но его выразительная мощность всегда отражается на поведении системы. Не существует полной гарантии того, что система будет вести себя корректно. Мы предложили метод статического анализа для проверки конечности и конфлюэнтности [WDD01] для основных случаев в AHS. Анализ или говорит нам, что набор правил конечен и конфлюэнтен, или что это не может быть определено. Этот раздел определяет некоторые ограничения, накладываемые на правила AHAM-CA, которые гарантируют конечность и конфлюэнтность, сохраняя в тоже время бóльшую свободу автору при описании процесса распространения, чем достаточные условия из [WDD01]. Сначала мы определяем некоторые термины и функции, которые будут использованы позднее.
Определение 1: Ri может активировать Rj , если выполнение действия Ai может перевести базу данных (вместе DM и UM) из состояния, в котором условие Cj ложно, в состояние, в котором Cj истинно. Ri может деактивировать Rj , если выполнение действия Ai может перевести базу данных из состояния, в котором Cj истинно, в состояние, в котором Cj ложно.
Определение 2: Набор правил завершает свое выполнение, если правила не могут активировать друг друга бесконечно.
Определение 3: Состояние выполнения правила S является парой (d, RA ), где d – состояние базы данных (DM и UM) и RA ÍAM – набор активных правил.
Определение 4: Последовательность выполнения правил – это последовательность σ, состоящая из серий состояний выполнения правил, связанных с (выполняемыми) правилами. Последовательность выполнения правил является законченной, если последним состоянием является (d, Æ), т.е. в последнем состоянии нет активных правил. Последовательность выполнения правил является валидной, если она представляет правильную последовательность выполнения: выполняются только активные правила и пары смежных состояний надлежащим образом представляют эффект выполнения соответствующего правила; более подробно смотрите [AHW95].
Определение 5: Набор правил является конфлюэнтным если для каждого начального состояния выполнения правила S (получаемого из исходного состояния базы данных множеством воздействий пользователя) каждая валидная и законченная последовательность выполнения правил, начинающаяся с состояния S, имеет одно и тоже конечное состояние.
Определение 6:
Пусть R: C→A. Функция num определяет количество отношений, используемых в операторе where для части A (действие) правила (А.where) (точное определение не приводится из-за ограниченного объема работы).
Пусть R: C→A.
--> ЧИТАТЬ ПОЛНОСТЬЮ <--