Previous Table of Contents Next


13.2.2 Major Classes and Associations


   The major classes and associations of the Information Visualization metamodel are shown in Figure 13-1 .

   RenderedObjectSet


   composite referencingNeighbor

   Figure 13-1 CWM Information Visualization Metamodel

   RenderedObject is the logical proxy for an arbitrary ModelElement that is to be rendered via some rendering transformation or process.

   A RenderedObject may be composed of an arbitrary number of other RenderedObjects; that is, components, and may have topological relationships to still other RenderedObjects. The formula attribute allows for the specification of any implementation-dependent expression that completes the definition of a RenderedObject. For example, the formula might specify the position of the RenderedObject within a two-dimensional grid, or in relation to one of its neighbors; for example, formula = “neighbor(x, y) + (delta-x, delta-y)?.

   A RenderedObject generally references one or more Renderings that specify how the RenderedObject is actually presented. One of these associated Renderings may optionally be designated as a default Rendering.

   A Rendering is semantically equivalent to a transformation, in that it transforms a source RenderedObject to some target “displayed? (or otherwise “presented? object -for example, a displayed image or an audio clip). An instance of Rendering is fully specified via its formula attribute, which, like RenderedObject, contains an implementation-dependent expression.

   Thus, a RenderedObject may be viewed as the “logical description? of an object to be rendered, independently of how it is actually presented by any of its associated Renderings, and Renderings may be viewed as transformations that control the presentation of the RenderedObject while preserving its logical structure.

   Note that a RenderedObject may be the target of a complex transformation; that is, utilizing the CWM Transformation package. For example, an N-dimensional OLAP cube might be transformed into an equivalent, two-dimensional, composite RenderedObject, with several dimensions mapped to row and column edges, respectively, and all other dimensions constrained to single member values. Several Renderings may then be defined and associated with the resultant RenderedObject, mapping the two-dimensional logical structure to the surface of a display screen in various different formats (for example, spreadsheet, pie chart, bar graph, etc.).

   Possible types of Renderings include: Screen, paper, voice, Web, HTML documents, XML/XSL, languages based on extensions to XML, SVG, visual objects, responses to keying (e.g., keying interception plus rules), etc.

   XSLRendering represents a useful subtype of Rendering that's based on XSL (for example, this subtype’s formula might contain a procedure that uses XSL to create an HTML document).

   Finally, RenderedObjectSet represents a simple container of both logical RenderedObjects and available Renderings.