Title: Specification Framework for Engineering Adaptive Web Applications
1Specification Framework for Engineering Adaptive
Web Applications
- Flavius Frasincar
- Geert-Jan Houben
- Richard Vdovjak
Databases Hypermedia Group Department of
Computer Science
2Overview
- Introduction, Motivation and Goals
- Hera Design Methodology
- Conceptual Design
- Application Design
- Adaptation Design
- Prototype/Rendering
- Summary and Future Work
3Introduction
1436 Printing Press (Johan Guttenberg) -
facilitated storing and exchange of
information/knowledge on a larger scale 1989
WWW (Tim Berners-Lee) - information/knowledge
exchange boost - everything is on the Web !?
- huge success vs. huge mess
4Motivation
- There are several methodologies for manual
hypermedia presentation design but not so for
automated design. - The need for presentation automation is justified
by the fact that most WIS are data driven - There is an increasing need for presentation
adaptation for different users/user platforms.
5Goals
- Develop a framework that supports automated
hypermedia presentation design for WIS - Integrates heterogeneous data sources.
- Facilitates presentation (server/client-side)
adaptation - Network (T1, 128K, 56K etc.)
- Display (PC, Palm, WAP Phone etc.)
- User (preferences, interaction history etc.)
- Enables semi-structured data queries.
6Hera Design Methodology
- Originates from RMM (Relationship Management
Methodology). - Suggests a sequence of design steps to be taken
when designing a web application. - Supports
- integration of heterogeneous information
- automated presentation design
- user/platform adaptation
7Design Methodology Steps, Models, and Processing
Engines
8Conceptual Model (CM)
- Provides a uniform semantic view over different
data sources that are integrated within a given
Web application. - Consists of hierarchies of concepts relevant
within the given domain, their properties, and
relations. - Encoded in RDF(S).
9Conceptual Model Example
10CM Example RDF(S) Syntax
11Application Model (AM)
- Describes hypermedia aspects of the presentation.
- Captures the navigational view over the CM
- Consists of (nested) slices and slice
relationships - Slices - meaningful presentation units
- Associated to concepts from the CM
- Contain properties and possibly other slices
(nesting) - Slice relationships
- Aggregation relationships index, tour, indexed
guided tour - Reference relationships link with an anchor
specified. - Encoded in RDF(S).
12Application Model Example
13AM Example RDF(S) Syntax
14Adaptation/User Model
- Captures two kinds of adaptation
- Adaptability takes into account the situation in
which the user will use the presentation (e.g.
the browsing platform). - Adaptivity means that the presentation changes
itself according to the state of the users
mind while being browsed. - Consists of
- Device/User Profile captures static visual and
platform preferences encoded in CC/PP. - User Session represents the dynamic users state,
e.g. did the user visit (learn) this slice
(concept). - Application and Update Rules describe the
behavior of the presentation (e.g. conditional
slices in AM) and keep the User Session
up-to-date (AHAM rules).
15Adaptation Model Example
16Adaptation Model Syntax
- Adaptability Condition
- Adaptivity Condition
ltrdfsClass rdfIDSlice.painting.picture
sliceconditionprfImageCapableYe
sgt ltrdfsubClassOf rdfresourceSlice/gt lt/
rdfsClassgt
ltrdfsClass rdfIDSlice.painter.main
sliceconditionusBiography falsegt
ltrdfsubClassOf rdfresourceSlice/gt lt/rdfs
Classgt
17Profile Example
- Device/User Profile (CC/PP encoding)
- Screen size 100x80, preferred language English
ltccppcomponentgt ltupUserPreferencesgt
ltupLanguagegtEnglishlt/upLanguagegt
lt/upUserPreferencesgt
lt/ccppcomponentgt lt/rdfDescriptiongt
ltrdfDescription rdfaboutProfilegt
ltccppcomponentgt ltprfHardwarePlatformgt
ltprfImageCapablegtNolt/prfImageCapablegt
ltprfScreenSizegt100x80lt/prfScreenSize
gt lt/prfHardwarePlatformgt
lt/ccppcomponentgt
18Update Rule (AHA) Example
- Update the Biography record in the User
Session table to true after the user visited
Slice.painter.main.
ltusSlice.painter.maingt ltahaupdatelistgt
ltahaSetOfConceptsgt
ltahaitemgtltusBiography ahaupdatetrue/gtlt/ahai
temgt lt/ahaSetOfConceptsgt
lt/ahaupdatelistgt lt/usSlice.painter.mai
ngt
US Value
us.Biography(Rembrandt) false
US Value
us.Biography(Rembrandt) true
19Presentation Model
- Based on the concept of region which contains
attributes and possibly other regions. - Each region has a rectangular area associated.
- Slices are translated to regions, one slice can
be mapped to several regions. - Slice relationships are materialized with
- Navigational relationships
- Spatial relationships
- Temporal relationships
20Region Relationships
- All region relationships can be guarded by a
condition and/or an event. - Navigational relationships represent the
classical hyperlinks. Possible events are
mouse-click, mouse-over etc. - Temporal relationships have associated a timeout
event (e.g. time based on a media play duration). - Spatial relationships specify a relative
position (qualitative or quantitative) between
two regions.
21Presentation Model Example
22Synchronization
- Petri-net like notation for expressing
synchronization (typical for multimedia data). - Temporal
- Multidimensional
23Prototype
- XSLT code generation
- Two code generators
- HTML for PC Web browsers
- WML code for WAP phone browsers
WML
XSL
HTML
XSL
ltxsltemplate matchslice-instancegt
ltTABLEgt ltxslapply-templates
select/gt lt/TABLEgt lt/xsltemplategt
ltxsltemplate matchslice-instancegt ltCARD
id_at_idgt ltxslapply-templates
select/gt lt/CARDgt lt/xsltemplategt
24Rendering
25Summary
- Hera methodology originated from RMM suggests a
sequence of design steps. - Our framework supports
- integration of heterogeneous information (CM
populated from several heterogeneous data
sources) - automated presentation design AM serves as a
presentation blue print from which a concrete
presentation is derived (wrt. a query) - user/platform adaptation (adaptability and
adaptivity)
26Future Work
- Adaptation in all design steps including the
Conceptual Model and Integration Model. - Experiment with higher ontology languages (e.g.
Oil) as the basis for the CM. - Further development of tools for presentation
rendering. - Authoring tools that would help the designer to
build specification models in all design steps.