Specification Framework for Engineering Adaptive Web Applications

23
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

description

Specification Framework for Engineering Adaptive Web Applications. Flavius Frasincar Geert-Jan Houben Richard Vdovjak*. Databases & Hypermedia Group Department of Computer Science. Overview. Introduction, Motivation and Goals Hera Design Methodology Conceptual Design Application Design - PowerPoint PPT Presentation

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.