Previous | Table of Contents | Next |
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.