systematic thought leadership for innovative business a user interface adaptation architecture for...
TRANSCRIPT
SYSTEMATIC THOUGHT LEADERSHIP FOR INNOVATIVE BUSINESS
A User Interface Adaptation Architecture forRich Internet ApplicationsESWC 2008
Kay-Uwe Schmidt, SAP Research
05.06.2008
Addl. Authors SAP: Jörg Dörflinger, Tirdad Rahmani, Mehdi Sahbi and Susan Marie ThomasAddl. Authors FZI: Ljiljana Stojanovic
© SAP 2008 / Kay-Uwe Schmidt / Page 2
1. The Evolution of Rule-based Web Applications
2. The Adaptation Framework
3. Evaluation and Conclusions
Agenda
© SAP 2008 / Kay-Uwe Schmidt / Page 3
From Server- to Client-sideAdaptive Hypermedia Systems (AHSs)
Server
Web Application Server
BusinessRulesEngine
Presentation Logic
Business Logic
Business Rules
Browser
Plain HTML Rendering
Server
Web Application Server
BusinessRulesEngine
Business Logic
Business Rules
Browser
Rich Client Engine
Presentation Logic
Server
Web Application Server
BusinessRulesEngine
Business Logic
Business Rules
Browser
Rich Client Engine
ECARule Engine
Presentation Logic
Presentation Rules
Web Page Paradigm Rich Internet Applications Rule-enabled Rich Internet Applications
Traditional adaptation strategies have been intensively studied
Web Page Paradigm: Every Web page in a series of pages is downloaded separately.
Conventional architecture: tracking of user clicks, the user modeling, as well as the adaptation take place on the server.
Limited user tracking possibilities User requests seen by the server Subset of user clicks
Adaptation only on behalf of an explicit user request
On-the-fly adaptation not obtainable
© SAP 2008 / Kay-Uwe Schmidt / Page 4
From Server- to Client-sideAdaptive Hypermedia Systems (AHSs)
Server
Web Application Server
BusinessRulesEngine
Presentation Logic
Business Logic
Business Rules
Browser
Plain HTML Rendering
Server
Web Application Server
BusinessRulesEngine
Business Logic
Business Rules
Browser
Rich Client Engine
Presentation Logic
Server
Web Application Server
BusinessRulesEngine
Business Logic
Business Rules
Browser
Rich Client Engine
ECARule Engine
Presentation Logic
Presentation Rules
Web Page Paradigm Rich Internet Applications Rule-enabled Rich Internet Applications
RIAs / AJAX New user tracking
possibilities New user interface
adaptation possibilities
Look and feel of desktop applications
Highly responsive user interfaces
Adaptation rules still on the server
On-the-fly adaptation not obtainable
© SAP 2008 / Kay-Uwe Schmidt / Page 5
From Server- to Client-sideAdaptive Hypermedia Systems (AHSs)
Server
Web Application Server
BusinessRulesEngine
Presentation Logic
Business Logic
Business Rules
Browser
Plain HTML Rendering
Server
Web Application Server
BusinessRulesEngine
Business Logic
Business Rules
Browser
Rich Client Engine
Presentation Logic
Server
Web Application Server
BusinessRulesEngine
Business Logic
Business Rules
Browser
Rich Client Engine
ECARule Engine
Presentation Logic
Presentation Rules
Web Page Paradigm Rich Internet Applications Rule-enabled Rich Internet Applications
Client-side rule processing Reduction of client-server-communication to a
minimum Enhanced user tracking capabilities In-time response to user actions
On-the-fly adaptation is obtainable
© SAP 2008 / Kay-Uwe Schmidt / Page 6
1. The Evolution of Rule-based Web Applications
2. The Adaptation Framework
3. Evaluation and Conclusions
Agenda
© SAP 2008 / Kay-Uwe Schmidt / Page 7
Adaptation Framework
Holistic framework covering the whole adaptation cycle Obtaining adaptation rules and user modeling Transformation of rules and ontologies into a client-side readable format Client-side user model evaluation and rule execution
On-the-fly user interface adaptation
Run-timeDesign-time
RuleExecution
UserTracking
PortalAdaptation
RuleEvaluation
User Model
RuleDesign
Portal Annotation
Ontology Transformator
Semantic WebUsage Mining
User Model Transfer
Ontology Transfer
Adaptation Rules
Modeling Cycle Adaptation Cycle
Transfer Cycle
© SAP 2008 / Kay-Uwe Schmidt / Page 8
Ontology Creation and Portal Annotation
Adaptation rules: declarative adaptation logic based on the user model (ontologies)
Ontologies: domain ontologies, RIA ontology, annotation knowledge base
Coherent tool combining learning, refinement and annotation
Run-timeDesign-time
RuleDesign
Portal Annotation
Ontology Transformator
Semantic WebUsage Mining
Adaptation Rules
Modeling Cycle
© SAP 2008 / Kay-Uwe Schmidt / Page 9
Obtaining the Adaptation Rules
Association Rules: Algorithm: FP-Growth Tool: Artool
Discovery
Data Base
AnalysisPre-processing
DB
Output Data
Pattern AnalysisPattern Discovery
Input Data Conventional and semantic
Preprocessing
Web Analyst
Input AdapterAccess Logs
Knowledge Base
Input AdapterAccess Log Adapter
SemanticPreprocessor
Preprocessor
Data Condensing
SystemMetrics Tool
SelectedUsage Mining Algorithms Association Rules Sequentional Patterns
Adaptation Rules
Sequential Rules: Algorithm: SPAM Tool: Himalaya Data Mining
Tools
New item problem Recommendation of new
items C1 & C2 C3
© SAP 2008 / Kay-Uwe Schmidt / Page 10
Rule Design
Run-timeDesign-time
RuleDesign
Portal Annotation
Ontology Transformator
Semantic WebUsage Mining
Adaptation Rules
Modeling Cycle
© SAP 2008 / Kay-Uwe Schmidt / Page 11
Ontology Transformer
Transformation of all of parts into a client-readable format that can be executed by a browser's JavaScript engine
Ontologies and rules must be translated beforehand in easy-to-parse and effortlessly executable format
Materialization of all ontologies at the server by using an off-the-shelf OWL reasoner Consistency checks and derivation of the class hierarchy
Run-timeDesign-time
RuleDesign
Portal Annotation
Ontology Transformator
Semantic WebUsage Mining
Adaptation Rules
Modeling Cycle
© SAP 2008 / Kay-Uwe Schmidt / Page 12
OWL / SWRL To JSON Transformer
PortalEntity
Element
ActiveElement
Button (1)
ResetButton
SubmitButton
var Button = { "indi" : [ { "name" : "Button1", "Button1" : { "hasID" : ["btn_1"], "thisclass" : "Button" }}
], "superclass" : "ActiveElement", "subclass" : ["ResetButton", "SubmitButton"]
};
superclass = ActiveElementsubclass = [ResetButton, SubmitButton]hasID = btn_1thisclass = Button
Button1 : Button
Ontology Transformator (Design-time)
Object Builder (Run-time)
Protégé
JSON
XMLHttpRequest
eval()
Ontology-JSON Converter (Adaption Model Ontology)
<swrl:Imp rdf:ID="Rule-1"> <swrl:body> ECMAEvent(?a) type(?a, “click“) </swrl:body> <swrl:head> Click(?a) </swrl:head></swrl:Imp>
ECMAEvent(?a) ^ type(?a, "click") -> Click(?a)
[ { "rdf:ID":"Rule-1", "swrl:body" : { ECMAEvent(?a) type(?a, “click“) }, "swrl:head" : { Click(?a) } }]
SWRL
RDF/XML
JSONStringPart 2
Object Builder
Rule1Rule1Rule1
RulesObject
XMLHttpRequest
eval()
© SAP 2008 / Kay-Uwe Schmidt / Page 13
The Transfer Cycle
Run-timeDesign-time
RuleDesign
Portal Annotation
Ontology Transformator
Semantic WebUsage Mining
User Model Transfer
Ontology Transfer
Adaptation Rules
Modeling Cycle
Transfer Cycle
© SAP 2008 / Kay-Uwe Schmidt / Page 14
The Adaptation Cycle
Run-timeDesign-time
RuleExecution
UserTracking
PortalAdaptation
RuleEvaluation
User Model
RuleDesign
Portal Annotation
Ontology Transformator
Semantic WebUsage Mining
User Model Transfer
Ontology Transfer
Adaptation Rules
Modeling Cycle Adaptation Cycle
Transfer Cycle
© SAP 2008 / Kay-Uwe Schmidt / Page 15
Run-time Architecture
Internal BrowserRepresentation
JavaScript/JSONPresentation
Event Handler
DOM
UIAdaptation
UserTracking
Manipulate
User Interactions
RuleEngine
User Model
Adaptation Rules
Update
Call
Call
Trigger
Read
Read
© SAP 2008 / Kay-Uwe Schmidt / Page 16
1. The Evolution of Rule-based Web Applications
2. The Adaptation Framework
3. Evaluation and Conclusions
Agenda
© SAP 2008 / Kay-Uwe Schmidt / Page 17
Evaluation
Proof of concept for the FIT ontologies Less than 500 concepts About 20 rules
Results Initial Client-side concept creation 500 concepts: 20 ms
0500
100015002000250030003500
Time (ms)
100 10000 50000
Concepts
Rule execution time 20 rules: 78 ms
0
500
1000
1500
2000
Time (ms)
10 20 50 100 200 500
Number of Rules
Intel Pentium 1,6 GHz, 2 GB RAM, Windows XP, Internet Explorer 6, Firefox 2
© SAP 2008 / Kay-Uwe Schmidt / Page 18
Evaluation cont’d
T-Box expressions shrank to a simple taxonomy Subsumption hierarchy without:
OWL class axioms (equivalent class) Class descriptions (union of) Information about relations are completely lost
Individuals are transformed without information loss
Complexity problems with the sequential algorithm
© SAP 2008 / Kay-Uwe Schmidt / Page 19
Conclusions
Prototypical implementation of an responsive RIA based on declarative rules and ontologies.
Discussion Annotation of RIAs extremely difficult, time-consuming and error-prone Even more the maintenance of the annotations Semantic datamining results did not meet the expectations Due to exponential run-time behavior more sophisticated algorithms needed SWRL not sufficient for expressing temporal logic constructs: ECA rules needed
© SAP 2008 / Kay-Uwe Schmidt / Page 20
Questions?
Thank you!