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