240 likes | 264 Views
An RMM-Based Methodology for Hypermedia Presentation Design. Flavius Frasincar Richard Vdovjak Geert-Jan Houben. Databases & Hypermedia Group Department of Informatics. Contents. Motivation Goals Context: Hera Architecture Design Methodology Application Diagram Presentation Diagram
E N D
An RMM-Based Methodology for Hypermedia Presentation Design Flavius Frasincar Richard Vdovjak Geert-Jan Houben Databases & Hypermedia Group Department of Informatics ADBIS'2001
Contents • Motivation • Goals • Context: Hera Architecture • Design Methodology • Application Diagram • Presentation Diagram • Prototype: XML/XSL • Further Work ADBIS'2001
1. Motivation • There are a lot of methodologies for manual hypermedia presentation design but not for an automatic one. • The need for presentation automation is justified by the fact that a lot of data is nowadays residing in the heterogeneous ‘deep web’ (searchable databases) as opposed to the ‘surface web’. • There is an increasing need for presentation adaptation for different users/user platforms. ADBIS'2001
Deep Web • Deep Web vs. Surface Web: • 500 times larger • 1000 times better quality ADBIS'2001
2. Goals Develop a methodology that supports automated hypermedia presentation design for Web-based Information Systems (WIS) that: • 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. ADBIS'2001
Relational Database Object-Oriented Database XML Database … RDB-XML Wrapper ODB-XML Wrapper Mediator/ Integrator Information Retrieval Hypermedia Presentation Logical Presentation Logical-HTML Presentation Logical-WML Presentation Logical-SMIL Presentation HTML Presentation WML Presentation SMIL Presentation Query … 3. Context: Hera Architecture ADBIS'2001
4. Design Methodology • Based on RMM (Relationship Management Methodology). • It distinguishes two levels: • Logical level: groups data into meaningful content units, called Slices. • Artifact: Application Diagram • Presentation level: translates slices to presentation units, called Regions. • Artifact: Presentation Diagram ADBIS'2001
Methodology Phases Application Design Presentation Design Requirements Analysis E-R Design Implementation E-R Diagram Application Diagram Presentation Diagram Phase Artifacts: • Slice • Slice Relationship • Region • Region Relationship • Entity • Relationship (Application Model) (Conceptual Model) (Presentation Model) ADBIS'2001
5. Application Diagram • Based on the concept of slice which groups together attributes (having specific media types) and possibly other slices. • Extends the E-R Diagram, each slice belongs to an entity. • Slices are linked together with slice relationships: • Aggregation relationships: index, tour, indexed guided tour etc. • Reference relationships: link with an anchor specified. ADBIS'2001
Application Diagram Example ADBIS'2001
6. Presentation Diagram • Based on the concept of region which contains attributes and possibly other regions. • Each region has a rectangular area associated. • Slices are translated to regions, one slice can be mapped to several regions. • Slice relationships are materialized with: • Navigational relationships • Spatial relationships • Temporal relationships ADBIS'2001
Region Relationships • All region relationships can be guarded by a condition and/or an event. • Navigational relationships: represent the classical hyperlinks. Possible events are: mouse-click, mouse-over etc. • Temporal relationships: have associated a timeout event (e.g. time based on a media play duration). • Spatial relationships: specify a relative position (qualitative or quantitative) between two regions. ADBIS'2001
Presentation Diagram Example ADBIS'2001
Synchronization Petri-net like notation for expressing synchronization (typical for multimedia data). • Temporal • Multidimensional ADBIS'2001
7. Prototype: XML/XSL • Implements the logical level of the design methodology. • Based on transformation steps encoded in XSL stylesheets that describe to an XSLT processor how to convert the input XML file to the desired output XML file. • Tool: XSLT processor from Apache XML Project. ADBIS'2001
Prototype Steps ADBIS'2001
Data Retrieval • Retrieved data is an instance of the conceptual model. DTD XML <entity-class id=“entity.painter”> <entity-instance id=“ID_0”> <attribute-instance id=“attribute.painter.name”> <![CDATA[Rembrandt Harmensz. van Rijn]]> </attribute-instance> </entity-instance> </entity-class> <!ELEMENT entity-class (entity-instance)*> <!ATTLIST entity-class id ID> <!ELEMENT entity-instance (attribute-instance)*> <!ATTLIST entity-instance id ID> <!ELEMENT attribute-instance (#PCDATA)> <!ATTLIST attribute-instance id CDATA> ADBIS'2001
Data Cleaning • Enriches the retrieved data with information from the application domain model (appropriate relationship names, inverse of relationship instances). XSL <xsl:when test=“@id=‘painting-technique’”> <xsl:attribute name=“id”>relationship.exemplifies</xsl:attribute> </xsl:when> ADBIS'2001
Application Model • Describes at logical level the hypermedia aspects of the application. DTD XML <!ELEMENT slice (text | (slice-ref | hyperlink | index | guided-tour))> <!ATTLIST slice id ID> <!ATTLIST slice owner IDREF> <slice id=“slice.painting.main” owner=“entity.painting”> <slice-ref idref=“attribute.painter.name”> relationship-ref=“relationship.painted_by”/> … </slice> ADBIS'2001
Logical Transformation Generation • Builds the main transformation engine that packages the retrieved data into slices using the application model. <xsl:stylesheet xmlns:xsl=“http://www.w3.org/1999/XSL/Transform” xmlns:axsl=“http://www.w3.org/1999/XSL/TransformAlias”> <xsl:template match=”/”> <axsl:stylesheet> <axsl:template match=”/”> … </axsl:template> </axsl:stylesheet> </xsl:template> … </xsl:stylesheet> XSL ADBIS'2001
Logical Transformation • Packages the retrieved data into slices based on the stylesheet generated by the previous step. XSL <text> <axsl:value-of select=“attribute-instance[@id=‘attribute.painting.main’]”/> </text> ADBIS'2001
Presentation Transformation • Implements the presentation. • There are two code generators built for: HTML and WML. WML XSL HTML 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> ADBIS'2001
8. Further Work • Add media types to the model (now: strings and URLs). • Build slices-on-demand on a servlet (now: precomputed). • Implement the presentation level of the proposed methodology. • Make use of query technologies for XML and RDF: XQuery and RQL (now: SQL). • Experiment with different kinds of applications (e.g. Electronic TV-Program Guide). • Use Semantic Web: model descriptions in RDF(S). • Taxonomies of classes/properties based on inheritance. ADBIS'2001