Specification Framework for Engineering Adaptive Web Applications
-
Upload
george-massey -
Category
Documents
-
view
37 -
download
0
description
Transcript of Specification Framework for Engineering Adaptive Web Applications
WWW2002
/dept. of mathematics and computer science
TU/e eindhoven university of technology
May 2002 1
wwwis.win.tue.nl/~hera
Specification Framework for Engineering Adaptive Web
Applications
Flavius Frasincar
Geert-Jan Houben
Richard Vdovjak*
Databases & Hypermedia Group
Department of Computer Science
WWW2002
/dept. of mathematics and computer science
TU/e eindhoven university of technology
May 2002 2
wwwis.win.tue.nl/~hera
Overview
• Introduction, Motivation and Goals• Hera Design Methodology• Conceptual Design • Application Design • Adaptation Design• Prototype/Rendering • Summary and Future Work
WWW2002
/dept. of mathematics and computer science
TU/e eindhoven university of technology
May 2002 3
wwwis.win.tue.nl/~hera
Introduction1436 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
WWW2002
/dept. of mathematics and computer science
TU/e eindhoven university of technology
May 2002 4
wwwis.win.tue.nl/~hera
Motivation
• 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.
WWW2002
/dept. of mathematics and computer science
TU/e eindhoven university of technology
May 2002 5
wwwis.win.tue.nl/~hera
Goals
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.
WWW2002
/dept. of mathematics and computer science
TU/e eindhoven university of technology
May 2002 6
wwwis.win.tue.nl/~hera
Hera 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
WWW2002
/dept. of mathematics and computer science
TU/e eindhoven university of technology
May 2002 7
wwwis.win.tue.nl/~hera
Design Methodology Steps, Models, and Processing Engines
Hera Suite
Design Methodology
RequirementsAnalysis
ConceptualDesign
IntegrationDesign
ApplicationDesign
AdaptationDesign
PresentationDesign
(Search)Agent
inforequest
(meta) data
ConceptualModel Application
Model
info request(slice)
presentation
End User
RQL / RDF XSLT / XML
UserModel
PresentationModel
PresentationEngine
ApplicationEngine
IntegrationEngine
CuypersEngine
AdaptationEngine
info request HTML/WML
IntegrationModel
Semantic Layer Application Layer Presentation Layer
WWW2002
/dept. of mathematics and computer science
TU/e eindhoven university of technology
May 2002 8
wwwis.win.tue.nl/~hera
Conceptual 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).
WWW2002
/dept. of mathematics and computer science
TU/e eindhoven university of technology
May 2002 9
wwwis.win.tue.nl/~hera
Conceptual Model Example
WWW2002
/dept. of mathematics and computer science
TU/e eindhoven university of technology
May 2002 10
wwwis.win.tue.nl/~hera
CM Example RDF(S) Syntax
<rdfs:Class rdf:ID="Artifact"/><rdfs:Class rdf:ID="Painting"> <rdfs:subClassOf rdf:resource="#Artifact"/></rdfs:Class><rdf:Property rdf:ID="name"> <rdfs:domain rdf:resource="#Artifact"/> <rdfs:range rdf:resource="#String"/></rdf:Property><rdf:Property rdf:ID="year"> <rdfs:domain rdf:resource="#Artifact"/> <rdfs:range rdf:resource="#Integer"/></rdf:Property>
<rdf:Property rdf:ID="picture"> <rdfs:domain rdf:resource="#Painting"/> <rdfs:range rdf:resource="#Image"/></rdf:Property><rdf:Property rdf:ID="created_by"> <sys:cardinality rdf:resource="#single"/> <sys:inverse rdf:resource="#creates"/> <rdfs:domain rdf:resource="#Artifact"/> <rdfs:range rdf:resource="#Creator"/></rdf:Property>...
WWW2002
/dept. of mathematics and computer science
TU/e eindhoven university of technology
May 2002 11
wwwis.win.tue.nl/~hera
Application 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).
WWW2002
/dept. of mathematics and computer science
TU/e eindhoven university of technology
May 2002 12
wwwis.win.tue.nl/~hera
Application Model Example
WWW2002
/dept. of mathematics and computer science
TU/e eindhoven university of technology
May 2002 13
wwwis.win.tue.nl/~hera
AM Example RDF(S) Syntax<rdfs:Class rdf:ID="Slice.technique.main"> <rdfs:subClassOf rdf:resource="#Slice"/></rdfs:Class><rdfs:Class rdf:ID="Slice.painting.main"> <rdfs:subClassOf rdf:resource="#Slice"/></rdfs:Class><rdfs:Class rdf:ID="Link_exemplified_by" rdfs:subClassOf="#Link"></rdfs:Class><rdf:Property rdf:ID="source"> <rdfs:domain rdf:resource="#Link_exemplified_by"/> <rdfs:range rdf:resource="#Image"/></rdf:Property><rdf:Property rdf:ID="destination"> <rdfs:domain rdf:resource="#Link_exemplified_by"/> <rdfs:range rdf:resource="#Slice.painting.main"/></rdf:Property><rdf:Property rdf:ID="slice.painting.main"> <rdfs:domain rdf:resource="#Painting"/> <rdfs:range rdf:resource="#Slice.painting.main"/></rdf:Property>
WWW2002
/dept. of mathematics and computer science
TU/e eindhoven university of technology
May 2002 14
wwwis.win.tue.nl/~hera
Adaptation/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 user’s mind” while being browsed.
• Consists of – Device/User Profile captures “static” visual and platform preferences
encoded in CC/PP.– User Session represents the dynamic user’s 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).
WWW2002
/dept. of mathematics and computer science
TU/e eindhoven university of technology
May 2002 15
wwwis.win.tue.nl/~hera
Adaptation Model Example
WWW2002
/dept. of mathematics and computer science
TU/e eindhoven university of technology
May 2002 16
wwwis.win.tue.nl/~hera
Adaptation Model Syntax• Adaptability Condition
• Adaptivity Condition<rdfs:Class rdf:ID=“Slice.painter.main”
slice:condition=“us:Biography =false”>
<rdf:subClassOf rdf:resource=“#Slice”/>
</rdfs:Class>
<rdfs:Class rdf:ID=“Slice.painting.picture”
slice:condition=“prf:ImageCapable=Yes”>
<rdf:subClassOf rdf:resource=“#Slice”/>
</rdfs:Class>
WWW2002
/dept. of mathematics and computer science
TU/e eindhoven university of technology
May 2002 17
wwwis.win.tue.nl/~hera
Profile Example
• Device/User Profile (CC/PP encoding)Screen size: 100x80, preferred language: English
<ccpp:component>
<up:UserPreferences>
<up:Language>English</up:Language>
…
</up:UserPreferences>
</ccpp:component>
</rdf:Description>
<rdf:Description rdf:about=“Profile”>
<ccpp:component>
<prf:HardwarePlatform>
<prf:ImageCapable>No</prf:ImageCapable>
<prf:ScreenSize>100x80</prf:ScreenSize>
…
</prf:HardwarePlatform>
</ccpp:component>
WWW2002
/dept. of mathematics and computer science
TU/e eindhoven university of technology
May 2002 18
wwwis.win.tue.nl/~hera
Update Rule (AHA) Example
Update the Biography record in the User Session table to true after the user visited “Slice.painter.main”.
<us:Slice.painter.main”>
<aha:updatelist>
<aha:SetOfConcepts>
<aha:item><us:Biography aha:update=“true”/></aha:item>
…
</aha:SetOfConcepts>
</aha:updatelist>
</us:Slice.painter.main>
US Value
us.Biography(“Rembrandt”)
…
false
…
US Value
us.Biography(“Rembrandt”)
…
true
…
WWW2002
/dept. of mathematics and computer science
TU/e eindhoven university of technology
May 2002 21
wwwis.win.tue.nl/~hera
Presentation Model Example
Bookcase regions
Screen rendering
bookcase
shelf
P.picture
painting
P.picture
P.name
…
Region
Attribute
(Associated to a certain painting P)
xy
right
below
Navigational Relationship
Spatial Relationship
0
1
2 0
P1 P2 P3
P4 P5 P6
P7
P1
‘Stone Bridge’ 1638 …
…
Priority (Priority 0 is always fulfilled)
WWW2002
/dept. of mathematics and computer science
TU/e eindhoven university of technology
May 2002 23
wwwis.win.tue.nl/~hera
XSL
Prototype• XSLT code generation
• Two code generators:– HTML for PC Web browsers– WML code for WAP phone browsers
XSL
<xsl:template match=“slice-instance”>
<TABLE>
<xsl:apply-templates select=“*”/>
</TABLE>
</xsl:template>
<xsl:template match=“slice-instance”>
<CARD id=“{@id}”>
<xsl:apply-templates select=“*”/>
</CARD>
</xsl:template>
HTMLWML
WWW2002
/dept. of mathematics and computer science
TU/e eindhoven university of technology
May 2002 24
wwwis.win.tue.nl/~hera
Rendering
WWW2002
/dept. of mathematics and computer science
TU/e eindhoven university of technology
May 2002 25
wwwis.win.tue.nl/~hera
Summary
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)
WWW2002
/dept. of mathematics and computer science
TU/e eindhoven university of technology
May 2002 26
wwwis.win.tue.nl/~hera
Future 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.