Title: The LAG Grammar for Authoring the Adaptive Web
1The LAG Grammar for Authoring the Adaptive Web
- Alexandra Cristea
- a.i.cristea_at_tue.nl
- http//wwwis.win.tue.nl/alex/
2Outline
- Introduction
- LAOS
- LAG
- Adaptation language
- Grammars
- GAL
- GIAL
- Adaptation procedures
- Adaptation strategies
- Conclusions
3LAOS
- based on AHAM
- supporting adaptive hypermedia authoring
- five layers
- Domain Model (DM)
- Goal and constraints Model (GM)
- User Model (UM)
- Adaptation Model (AM)
- Presentation Model (PM)
4LAG
- LAOS adaptation model
- direct adaptation techniques / rules
- IF-THEN, or condition-action (CA) rules
- adaptation language
- adaptation strategies adaptation procedures
5What does the adaptation language do?
- Captures adaptation patterns, typical for AHS,
for reuse - We start with a set of desired adaptive behavior
- While, For Break, Generalize, Specialize
- Conditions, Enough conditions
- Inherited from direct adaptation techniques If,
Action
6Generalize, Specialize
- DM is concept map with hierarchy
Generalize
Specialize
7How to implement the adaptation language?
- context-free grammar
- tuple (V, T, S, P) with
- V a finite set of variables
- T a finite set of terminals
- S the start variable (S ? V)
- P a finite set of production rules of the form
A ? x with A ? V and x ? (union(V, T)). - GAL (written in
CAPITALS, written bold, PROG, P). - P given in Backus Naur Form
8GAL production rules
PROG ? STATEMENT STATEMENT ? IFSTAT WHILESTAT
FORSTAT BREAKSTAT GENSTAT SPECSTAT
(STATEMENT) STATEMENT ACTION
IFSTAT ? if CONDITION then
(STATEMENT) WHILESTAT ? while CONDITION do
(STATEMENT) TARGETLABEL FORSTAT ? for RANGE do
(STATEMENT) TARGETLABEL BREAKSTAT ? break
SOURCELABEL GENSTAT ? generalize((CONDITION)) SPE
CSTAT ? specialize((CONDITION)) ACTION ?
ATTRIBUTE OP VALUE
9GAL production rules cont.
CONDITION ? enough((PREREQ), VALUE)
PREREQ RANGE ? integer PREREQ ? ATTRIBUTE
COMPARE VALUE TARGETLABEL ? text SOURCELABEL ?
text_label_a ATTRIBUTE ? GENCONCEPT
SPECCONCEPT GENCONCEPT ?
CM_type.concept.attr CM_type.concept.attr_z
SPECCONCEPT ? CM_x.concept_y.attr_z OP ?
- . COMPARE ? lt gt
in VALUE ? text
10Break Labels
- while CONDITION do (
- while CONDITION do (
- if CONDITION then break sourcelabel
- ) label_y
- ) label_x
11Interface grammar
- GIAL (written in between brackets, written
bold, Adaptive Strategy, P)
12GIAL production rules
Start ?Adaptive Strategy Adaptive
Procedure Adaptive Strategy ? add
statement Adaptive Procedure ? add statement
13Interface start
14GIAL production rules cont.
- add statement ? If While For
Break Generalize Specialize Action
adaptive procedure - If ? add statement if condition then (add
statement) add statement - if condition then (add statement) add
statement - add statement if condition then
(add statement) - While ? add statement while condition do
(add statement) label add statement - while condition do (add statement)
label add statement - add statement while condition do (add
statement) label - For ? add statement for range do (add
statement) label add statement - for range do (add statement) label
add statement - add statement for range do (add
statement) label
15If, While, For
16GIAL production rules cont.
- Break ? add statement break labeladd
statement - break label add statement
- add statement break label
- Action ? add statement attribute
operator value add statement - attribute operator value add
statement - add statement attribute
operator value - Generalize ?add statement generalize((conditi
on)) add statement
generalize((condition))add statement - add statement generalize((condition))
- Specialize ? add statement
specialize((condition)) add statement
specialize((condition)) add statement - add statement specialize((condition))
17Action, Generalize, Specialize
18GIAL production rules cont.
- condition ? prereq conditionprereqcond
ition - enough( condition,
weight) condition - enough( condition, weight)
condition - range ? integer
- prereq ? attribute compare value
- label ? text
- attribute ? generic specific
- generic?CM_type.concept.attrCM_type.concept.
attr_z - specific ? CM_x.concept_y.attr_z
- operator ? - .
- compare ? lt gt in
- value ? text
19Conditions enough conditions
number of conditions to fulfill
20MOT concept attribute
CREATE TABLE ConceptAttribute
21Verification
- Checking parse tree
- No variable types in MOT gt
- if attr_x lt 10 attr_y gt 5 then is illegal,
because isnt a Boolean operator. However, we
cannot determine if if attr_x lt 10 and attr_y gt
5 - user-interface can enforce this partial check
- allows only Boolean operators between the
attribute-conditions in a guard context
22Adaptive procedure (call)
23Adaptive Mini-strategies
24While If
25Generic vs. Specific attributes
26Conclusions
- design and implementation steps for adaptive
language for AH creation - exact definition of context free grammar
- creation steps of this grammar,
- creation of a grammar for actual system
interface, - frame-oriented, block-based GUI interface, only
generating target language code. - implementation authoring easier
- system allows the creation of adaptive strategies
adaptive procedures AH adaptive patterns at
various levels.
27Download trial
- Download
- http//adaptmot.sourceforge.net/
- Trial
- http//e-learning.dsp.pub.ro/mot/
- http//e-learning.dsp.pub.ro/motadapt/
282nd International Workshop on Authoring of
Adaptive and Adaptable Educational Hypermedia
- Themes
- Design patterns for educational adaptive
hypermedia - Authoring patterns in adaptive/ adaptable
educational hypermedia - Authoring Tools for adaptive/ adaptable
educational hypermedia - Connecting adaptive educational hypermedia with
cognitive/learning styles - Collaborative issues for adaptive/ adaptable
educational hypermedia - Adaptation model transformations between adaptive
educational hypermedia systems - Evaluation of authoring tools for adaptive
educational hypermedia - Evaluation of adaptive educational hypermedia
design patterns - Evaluation of adaptive educational hypermedia
authoring patterns - http//wwwis.win.tue.nl/acristea/AH04/workshopAH.
htm