Application Model

advertisement
TU e
technische universiteit eindhoven
Modeling User Input and
Hypermedia Dynamics in Hera
Databases and Hypermedia Group
/ department of mathematics and computer science
TU e
technische universiteit eindhoven
Outline
•
•
•
•
•
•
Modern WIS
Hypermedia Dynamics
Hera
Modeling Dynamics in Hera (Example)
Implementation
Conclusion
/ department of mathematics and computer science
TU e
technische universiteit eindhoven
Modern WIS
• Have broad and heterogeneous audience
• Have typically distributed and
heterogeneous data sources
• Provide complex services
• Adapt to concrete users, groups
• Adapt to concrete environments
(communication channels, user devices)
/ department of mathematics and computer science
TU e
technische universiteit eindhoven
Hypermedia Dynamics
• What is the functionality of WIS, what
services do they offer (business logic)
• How users interact with WIS, what is the
navigation structure, how users input
information (navigation structure)
• How user’s actions influence hypermedia
presentation of WIS (e.g. personalization)
/ department of mathematics and computer science
TU e
technische universiteit eindhoven
Hera Methodology
• Model-driven methodology, defines design
phases:
– Conceptual Design that results in Conceptual
Model (CM, describes data content used for
generation of hypermedia presentations) construction
– Application Design that results in Application
Model (AM, describes the navigation structure and
functionality) construction
– Presentation Design that results in Presentation
Model (PM, describes spatial layout and rendering of
hypermedia presentations) construction
/ department of mathematics and computer science
TU e
technische universiteit eindhoven
Hera Models
• Fully specify dynamic hypermedia
applications; hence, there is no need of
additional programming
• Are used by a generic Hera engine for
generation of hypermedia application
pages (by on-demand instantiations of
model subsets)
/ department of mathematics and computer science
technische universiteit eindhoven
TU e
Conceptual Model
• Defines the data content in terms of RDFS
(concepts, attributes, properties)
String
tname
String
Integer
aname
year
exemplifies *
Technique
Artifact
examplified_by
String
cname
creates *
Creator
created_by
biography
description
String
Image
picture
Painting
paints *
painted_by
/ department of mathematics and computer science
Painter
String
TU e
technische universiteit eindhoven
Application Model
• Navigation structure of a hypermedia
application on top of CM
• Hypermedia dynamics (navigation
structure updates and application
functionality) of a hypermedia application
/ department of mathematics and computer science
TU e
technische universiteit eindhoven
Navigation Structure in
Application Model
• Navigation nodes (pages) specification in
terms of slices (collections of concepts’
attributes to be displayed)
• Node composition in terms of slice
aggregation relationships
• Navigation edges (hyperlinks) in terms of
slice references
/ department of mathematics and computer science
TU e
technische universiteit eindhoven
Dynamics in
Application Model
• User input specification in terms of Input
Forms
• Application context (state) specification
in terms of Application Context Model
• Context manipulation specification in
terms of queries
/ department of mathematics and computer science
technische universiteit eindhoven
TU e
Application Context Model
• Extends CM with additional data structures
needed for application functionality (to store
application/navigation state, user inputs, user
model, etc.)
• Example: storing the user selection (shopping
basket)
Integer
cm:Painting
quantity
includes
* contains
Order
SelectedPainting
included_by *
Basket
contained_by
/ department of mathematics and computer science
technische universiteit eindhoven
TU e
Slices
• Meaningful collection of attributes of one or
more related concepts
• Represent a presentation page or its part
Reference (link)
Slice
Technique
Painting
tname
picture
description
year
Owner concept
Attributes
exemplified_by
Set
painted_by
Painting
Painter
aname
Info
Sub-slices
Main
Main
/ department of mathematics and computer science
TU e
technische universiteit eindhoven
Input Forms
• Specify user data entries;
contain sets of input fields
with:
– Input method (selection
from offered items, text
input, etc.)
– How the offered items are
created (for selections)
• Determine data
manipulation operation
associated with a form (form
processing)
CM property
Painting
Form
SelectForm
sN aname
aname
SelectForm
aname
Form Processing
Multi-selection from
a list of painting names
/ department of mathematics and computer science
String
Form Model
TU e
technische universiteit eindhoven
AM Example
initialize
Technique
SelectedPainting
Q1
tname
picture
description
aname
exemplified_by
Set
Set
year
painted_by
Painting
Basket
PaintingsForm
SelectedPainting
Main
Order
Main
Basket
quantity
includes
contains
Set
Order
SelectedPainting
aname
Main
Main
Main
/ department of mathematics and computer science
quantity
quantity
aname
Q2
Painters
Main
i
cname
aname
bname
BuyForm
Painter
sN bname
TU e
technische universiteit eindhoven
Data Manipulations
•
•
•
•
Update application context information
Defined as SeRQL queries
Used for processing forms (handle user input)
Q1 creates instances of SelectedPainting according to
the SelectForm form content
CONSTRUCT
{P}<rdf:type>{acm:SelectedPainting>}
FROM
{P}<rdf:type>{cm:Painting};
<cm:aname>{Paname}
WHERE
Paname IN SELECT Faname
FROM {SF}<form:aname>{Faname},
{SF}<rdf:ID>{FormName}
WHERE FormName = “SelectForm”
SelectedPainting
type
type
Painting1
/ department of mathematics and computer science
creates
...
PaintingN
TU e
technische universiteit eindhoven
Hera Architecture
• Defines how the models are used for automatic
generation of hypermedia presentation
CM
Vocabulary
(RDFS)
AM
Vocabulary
PM
Vocabulary
CM
AM
PM
CM I
Content
AM I
Pres.
Browser
App. Context
Data
Semantic
Layer
Application
Layer
Presentation
Layer
Query/Context
M anager,
Form Processor
/ department of mathematics and computer science
User
TU e
technische universiteit eindhoven
Hera Implementation
• HPG 2.0 (Hera Presentation Generator, dynamic
version) implemented in Java as a servlet
• Uses RDF API HP Jena for RDF data
transformations based on RDFS models (CM,
AM)
• Can use XForms processor
• Uses Sesame as main content repository and
application context repository; uses SeRQL/RQL
as query languages
• Set of graphical tools for designers for CM and
AM based on Visio
/ department of mathematics and computer science
TU e
technische universiteit eindhoven
Conclusion
• Advantages of Hera approach:
– It is Model-driven; leads to a good separation
of concerns
– Uses Semantic Web specification
languages; models are flexible and have
explicit semantics, easy to check for
consistency and correctness
– No need of extra programming; all aspects
of a designed system are captured in highlevel models
/ department of mathematics and computer science
TU e
technische universiteit eindhoven
Future Work
• Going towards higher level functional
specification, e.g. rules instead of queries
• Using OWL (DL) model specification for higher
expressive power and possibility of reasoning on
models (consistency and correctness checking)
• Incorporating web services into WIS applications
• Using possible separate (configurable) Hera
components, like adaptation component,
presentation component in different legacy
systems
/ department of mathematics and computer science
TU e
technische universiteit eindhoven
Questions?
/ department of mathematics and computer science
Download