200 likes | 213 Views
Modeling User Input and Hypermedia Dynamics in Hera. Databases and Hypermedia Group. Outline. Modern WIS Hypermedia Dynamics Hera Modeling Dynamics in Hera (Example) Implementation Conclusion. Modern WIS. Have broad and heterogeneous audience
E N D
Modeling User Input and Hypermedia Dynamics in Hera Databases and Hypermedia Group
Outline • Modern WIS • Hypermedia Dynamics • Hera • Modeling Dynamics in Hera (Example) • Implementation • Conclusion
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)
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)
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
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)
Conceptual Model • Defines the data content in terms of RDFS (concepts, attributes, properties)
Application Model • Navigation structure of a hypermedia application on top of CM • Hypermediadynamics (navigation structure updates and application functionality) of a hypermedia application
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
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
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)
Slices • Meaningful collection of attributes of one or more related concepts • Represent a presentation page or its part
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)
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” creates
Hera Architecture • Defines how the models are used for automatic generation of hypermedia presentation
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
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 high-level models
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