at end-users to support the conception and
generation of style sheets.
The mix of the three contributions is important in
order to bridge the gap between usually two
complementary yet separated approaches: on the one
hand the toolkit approach devoted to developers and
on the other hand the application approach devoted
to end-user. It is important to stress that bridging the
gap between these two approaches is important to
gain in flexibility and expressivity for the end-user
and at the same time save efforts and development
time for the developers.
In this regard, our approach compares to the
approach of Tableau Sotware (Hanrahan, 2007)
project (http://www.tableausoftware.com/). The
main differences between their approach and our
contribution lies in the fact that we consider multi-
level graphs as the basis for representing data and
that we propose to make the style-sheet language
that describes the coding functions both explicit and
open.
Hence, STOOG presents several strengths over
existing work. Firstly, the high level language makes
semiotic analysis possible thanks to the
manipulation of abstract concepts. Secondly,
STOOG interprets the description language and
builds an interactive visualization of any data set
accordingly. Thirdly, the user interface makes
dynamic customizations of existing representation
possible and easy.
The style-sheet based language of STOOG
enables the manipulation of high level concepts such
as graphical representations, graphical structures or
properties by the user. Four mechanisms are
proposed in this language: (1) the matching
mechanism which makes possible the association of
one or more representations to a set of data
elements, (2) the coding mechanism corresponding
to the association of data attributes and visual
variables, (3) the cascading mechanism
implementing the inheritance of properties and
structures and (4) the interaction mechanism
defining the representation of data during the
interaction.
It is important to stress that these mechanisms
were meant to be coherent with other approaches
where form are explicitly described independently of
its content such as in HTML/CSS or XML/XSLT
approaches but our approach is STOOG is different
and more general because the data handled in
STOOG is not limited to HTML/XML documents.
Indeed, STOOG handles any raw data set. Another
analogy with STOOG style sheets can be found in
SVG stylesheets but here again, SVG style sheets
are limited to SVG documents. They do not handle
the coding functions for any set of multivariate and
clustered data as is the case of STOOG.
STOOG is implemented using Java and supports the
generation of views from raw data and coding
functions. It further supports the rendering and
interaction with these views. Moreover, if useful,
extending STOOG style-sheet based language can
be performed by a developper to account for more
specific types of coding. STOOG is available for
download on the web and directly reusable in any
Java application.
This paper is divided in five sections. We firstly
present related work. Secondly, we define STOOG
style sheet language, the concepts and the
mechanisms to handle these concepts. Thirdly, we
present STOOG throught a use case. Fourthly, we
expose the user interface devoted to the conception
and generation of style sheets for end-users. We then
conclude and discuss future work.
2 RELATED WORK
Over the past year, several approaches have
demonstrated the importance of providing adapted
tools for data visualization. We detail previous work
on tools for data visualization and situate our
contribution in the domain.
2.1 Visualization Tools
Jeffrey Heer has shown in (Heer 2005) the interest
of providing toolkits for interactive visualization of
information. One of the first toolkit that he proposed
called Prefuse, transforms raw data to abstract data
and, thanks to actions, further transforms abstract
data to visual items. The visual items are finally
drawn thanks to renderers. The toolkit is used by a
lot of visualization application that build on top of
Prefuse for visualizaing data in various domains:
graph community visualization (Perer et al. 2006),
lexical visualization (Collins 2006), cartographic
visualization (Phan et al. 05), collaborative
visualization (Heer and Viégas 2007) etc.
In (Adar 2006) Guess is another system devoted
to graph visualization. Guess highlights the need to
have interfaces for customizing rendering by visual
attributes. The graph rendering is determined by the
user thanks to queries. These queries are written in
Gython an extension of the Jython system (a Java
interpreter for the Python language). The tool
supports generation of charts, computation of
convex hulls. Selection of data elements helped on
data values criterion or topology criterion.
In GraphViz (Gansner and North 2000) authors
present the DOT language that supports the
generation of views. Graphs are first described in a
file using DOT language, the file is further
ICEIS 2010 - 12th International Conference on Enterprise Information Systems
124