Extending the WilmaScope 3D Graph Visualisation System

7
Extending the WilmaScope 3D Graph Visualisation System — Software Demonstration Tim Dwyer HUM Programme National ICT Australia 0 Australian Technology Park Everleigh NSW 1430 Australia Email: [email protected] WilmaScope URL: http://www.wilmascope.org Abstract WilmaScope is an open-sourced, platform independent, in- teractive 3D graph visualisation system based on Java and Java3D. Application to a number of real-world relational net- work visualisation problems and continuous development over a number of years have seen the system evolve to a stage where it is becoming a stable and versatile platform for third-party developers. This paper outlines the architecture that has made this possible and briefly describes some of the features available in the current version. Keywords: Information Visualisation, Graph Visuali- sation, 3D Graphics 1 Introduction A number of powerful software libraries and systems for 2D graph visualisation exist, most famously Tom Sawyer Software 1 and yFiles 2 . However, these are generally closed-source and expensive. Some in- teresting 3D graph visualisation systems also exist, two notable examples are: Tulip 3 and Walrus 4 The WilmaScope 3D graph visualisation system, how- ever, provides a degree of extensibility that is cur- rently unrivalled by other 3D graph visualisation sys- tems. WilmaScope 5 began life in the year 2000 as part of an honours project investigating methods for representing UML diagrams using 3D graph- ics (Dwyer 2000, Dwyer 2001). In 2001 this initial system was rewritten as a more general 3D graph vi- sualisation and editing system and was presented as a software demonstration at the 2001 Graph Drawing Symposium in Vienna (Dwyer & Eckersley 2001). A more extensive article covering WilmaScope is also featured as a chapter in the Graph Drawing Software book (Dwyer & Eckersley 2003). WilmaS- cope’s utility has been demonstrated in a number of papers discussing various 3D graph visualisation ap- plications, such as: Copyright c 2005, Australian Computer Society, Inc. This pa- per appeared at the Asia Pacific Symposium on Information Visualisation (APVIS 2005), Sydney, Australia. Conferences in Research and Practice in Information Technology, Vol. 45. Seokhee Hong, Ed. Reproduction for academic, not-for profit purposes permitted provided this text is included. 0 National ICT Australia is funded by the Australian Govern- ment’s Backing Australia’s Ability initiative, in part through the Australian Research Council 1 http://www.tomsawyer.com 2 http://www.yworks.com 3 http://dept-info.labri.fr/˜auber/projects/tulip/ 4 http://www.caida.org/tools/visualization/walrus/ 5 http://www.wilmascope.org visualising world-wide web structures (Eckersley 2000); visualising fund manager flow graphs (Dwyer & Eades 2002, Dwyer 2003, Dwyer & Gallagher 2004); visualising metabolic pathways (Brandes, Dwyer & Schreiber 2003, Brandes, Dwyer & Schreiber 2004a, Brandes, Dwyer & Schreiber 2004b, Dwyer, Rolletschek & Schreiber 2004); visualisation of phylogenetic trees (Dwyer & Schreiber 2004); and visualisation of bibliographic citation net- works (Ahmed, Dwyer, Murray, Song & Wu 2004). More recently, significant efforts have been de- voted to improving the system’s extensibility such that it can easily be used by developers as a library for graph visualisation in their own applications. In this paper we discuss the architecture enabling this extensibility and describe some features that may be useful for developers utilising WilmaScope in this way. 2 Extending WilmaScope There are a number of ways that WilmaScope can be used for graph visualisation applications, for ex- ample (see Figure 1): WilmaScope XML Graph (XWG) files can be created by another program, converted from other XML formats using XSLT, or constructed in a text or XML editor, and loaded into the standard WilmaScope front-end. Developers can create plug-ins extending one of several different types of base classes to extend the functionality of WilmaScope. The various plug-in types include: Graph Generators: to automatically gener- ate graphs based on simple algorithms. Graph Modifiers: to modify the structure of existing graphs. Graph Analysis: to calculate graph analy- sis metrics that can be mapped to visual attributes. Graph Element Views: to provide new graphical representations for graph ele- ments (glyphs).

Transcript of Extending the WilmaScope 3D Graph Visualisation System

Page 1: Extending the WilmaScope 3D Graph Visualisation System

Extending the WilmaScope 3D Graph Visualisation System —Software Demonstration

Tim Dwyer†

† HUM ProgrammeNational ICT Australia0

Australian Technology ParkEverleighNSW 1430Australia

Email: [email protected] URL: http://www.wilmascope.org

Abstract

WilmaScope is an open-sourced, platform independent, in-

teractive 3D graph visualisation system based on Java andJava3D. Application to a number of real-world relational net-

work visualisation problems and continuous development over

a number of years have seen the system evolve to a stage whereit is becoming a stable and versatile platform for third-party

developers. This paper outlines the architecture that has made

this possible and briefly describes some of the features availablein the current version.

Keywords: Information Visualisation, Graph Visuali-sation, 3D Graphics

1 Introduction

A number of powerful software libraries and systemsfor 2D graph visualisation exist, most famously TomSawyer Software1 and yFiles2. However, theseare generally closed-source and expensive. Some in-teresting 3D graph visualisation systems also exist,two notable examples are: Tulip3 and Walrus4 TheWilmaScope 3D graph visualisation system, how-ever, provides a degree of extensibility that is cur-rently unrivalled by other 3D graph visualisation sys-tems.

WilmaScope5 began life in the year 2000 aspart of an honours project investigating methodsfor representing UML diagrams using 3D graph-ics (Dwyer 2000, Dwyer 2001). In 2001 this initialsystem was rewritten as a more general 3D graph vi-sualisation and editing system and was presented asa software demonstration at the 2001 Graph DrawingSymposium in Vienna (Dwyer & Eckersley 2001).

A more extensive article covering WilmaScopeis also featured as a chapter in the Graph DrawingSoftware book (Dwyer & Eckersley 2003). WilmaS-cope’s utility has been demonstrated in a number ofpapers discussing various 3D graph visualisation ap-plications, such as:

Copyright c©2005, Australian Computer Society, Inc. This pa-per appeared at the Asia Pacific Symposium on InformationVisualisation (APVIS 2005), Sydney, Australia. Conferencesin Research and Practice in Information Technology, Vol. 45.Seokhee Hong, Ed. Reproduction for academic, not-for profitpurposes permitted provided this text is included.

0National ICT Australia is funded by the Australian Govern-ment’s Backing Australia’s Ability initiative, in part through theAustralian Research Council

1http://www.tomsawyer.com2http://www.yworks.com3http://dept-info.labri.fr/˜auber/projects/tulip/4http://www.caida.org/tools/visualization/walrus/5http://www.wilmascope.org

• visualising world-wide web structures (Eckersley2000);

• visualising fund manager flow graphs (Dwyer &Eades 2002, Dwyer 2003, Dwyer & Gallagher2004);

• visualising metabolic pathways (Brandes, Dwyer& Schreiber 2003, Brandes, Dwyer & Schreiber2004a, Brandes, Dwyer & Schreiber 2004b,Dwyer, Rolletschek & Schreiber 2004);

• visualisation of phylogenetic trees (Dwyer &Schreiber 2004);

• and visualisation of bibliographic citation net-works (Ahmed, Dwyer, Murray, Song & Wu2004).

More recently, significant efforts have been de-voted to improving the system’s extensibility suchthat it can easily be used by developers as a libraryfor graph visualisation in their own applications. Inthis paper we discuss the architecture enabling thisextensibility and describe some features that may beuseful for developers utilising WilmaScope in thisway.

2 Extending WilmaScope

There are a number of ways that WilmaScope canbe used for graph visualisation applications, for ex-ample (see Figure 1):

• WilmaScope XML Graph (XWG) files can becreated by another program, converted fromother XML formats using XSLT, or constructedin a text or XML editor, and loaded into thestandard WilmaScope front-end.

• Developers can create plug-ins extending one ofseveral different types of base classes to extendthe functionality of WilmaScope. The variousplug-in types include:

– Graph Generators: to automatically gener-ate graphs based on simple algorithms.

– Graph Modifiers: to modify the structure ofexisting graphs.

– Graph Analysis: to calculate graph analy-sis metrics that can be mapped to visualattributes.

– Graph Element Views: to provide newgraphical representations for graph ele-ments (glyphs).

Page 2: Extending the WilmaScope 3D Graph Visualisation System

WilmaScope

Layout Program(eg. DOT)

AlgorithmLibrary

(eg. LEDA, yFiles)

Viewplug-ins

Graph Generator,Modifier and

Analysis plug-ins

Layoutplug-ins

Graph DataSource

XWGFiles

CustomApplication

APIcalls

Observernotification

conversion

Figure 1: This diagram summarises the various ways in which WilmaScope may be adapted for use inapplications.

• New layout algorithms can also be added asplug-ins by extending the WilmaScope Lay-outEngine framework. Such layout algorithmscan use the WilmaScope graph data structuresor they can use external graph data-structure li-braries such as Leda6 or yFiles. They can alsopotentially use other programs such as DOT (seeSection 4).

• Developers can create stand-alone applicationswhich use the WilmaScope GraphCanvas in acustom GUI.

Note that none of these methods require devel-opers to understand, modify or recompile existingWilmaScope source code. In this paper we discussthe WilmaScope architecture and design philosophythat makes this extensibility possible.

3 Architecture

As shown in Figure 2, WilmaScope is based arounda model–view–controller architecture in that classesthat maintain the underlying data-model (in this casea clustered graph) are decoupled from both:

• classes that allow external entities to update thisgraph model;

• and classes which create the visual representationof the graph.

This decoupling of the model, view and controlleraspects of the graph visualisation architecture meansthat new:

• graph element glyphs;

• graph layout algorithms;

• and algorithms for generating graphs automati-cally

6http://www.algorithmic-solutions.com/

Figure 2: The WilmaScope Model–View–Controllerarchitecture.

can all be created as plug-in components which canbe loaded into WilmaScope at run-time. There-fore, applications which require such custom com-ponents can be developed for WilmaScope withoutany modification or even recompiling of the WilmaS-cope source. Further, since WilmaScope is releasedinto open-source via the Lesser Gnu Public License(rather than the full GPL), the source code for plug-ins containing confidential intellectual property doesnot need to be released back into open source. De-velopers need only compile their new plug-ins, makethem known to WilmaScope via the WilmaScopecontrol panel and they will be loaded at run-time.

Figure 3 shows the hierarchy of classes which re-alise the model and view components. The graphpackage contains classes which define the graphmodel. A WilmaScope graph defines an object-oriented model for a clustered graph with a recur-sive class definition. A graph is defined as a Cluster

Page 3: Extending the WilmaScope 3D Graph Visualisation System

Figure 3: Hierarchy of key classes in the graph and view packages and examples of how these classes may beimplemented by layout and view plug-ins.

Page 4: Extending the WilmaScope 3D Graph Visualisation System

consisting of nodes and edges, both implementing theGraphElement interface. Since the Cluster class is asubclass of the Node class, a cluster may be an aggre-gation of, not only nodes and edges, but also otherclusters.

Each cluster has its own instance of a Lay-outEngine. A layout engine provides an implemen-tation of a layout algorithm for finding an embed-ding of the cluster’s graph structure in two or threedimensional space. Figure 3 includes the class hi-erarchy for the forcelayout package which is the de-fault WilmaScope layout engine. Users may createtheir own layout engines by implementing the Lay-outEngine, NodeLayout and EdgeLayout interfaces.

The fact that each cluster has its own layout en-gine means that it is possible to arrange the contentsof each cluster with different layout parameters oreven different layout algorithms. For example, onemight have force-directed layout engines with strongedge attraction inside nested clusters than for theroot cluster, thus exaggerating cluster cohesion. Amore exotic example might involve hierarchical lay-out (Eades & Sugiyama 1990) inside nested clustersand force directed layout for the root cluster.

The view package provides abstract classes defin-ing the visual attributes of nodes, edges and clustersin an inheritance hierarchy that mirrors the struc-ture of the graph model. Users can extend the Node-View, EdgeView and ClusterView classes to createtheir own glyph geometries which are, again, loadedat run-time by WilmaScope as plug-ins.

4 Implemented Plug-ins

A number of layout engine, view and graph generatorplug-ins are supplied with the current WilmaScopedistribution7.

Currently WilmaScope comes with the followinggraph generators:

• Random graphs — parameters: number of nodesand edges.

• Clustered graphs — parameters: number andsize of clusters.

• Grids — parameters: width and height.

• Scale-free graph growth simulator based on astochastic model (Barabasi, Albert & Jeong2000)— parameters: initial nodes, final nodes

The following layout engine plug-ins are supplied:

• A standard force-directed layout method(Fruchterman & Reingold 1991), including mag-netic field forces for aligning edges in directedgraphs (Kamada & Kawai 1989).

• A multi-scale force-directed layout method(Walshaw 2000).

• The FADE spatial decomposition based force-directed layout algorithm (Quigley & Eades2000).

• A wrapper for the Graphviz DOT8 hierarchicallayout program. A DOT format file is generated,DOT invoked, the file pipe into it and the resultis parsed to obtain the layout.

7The current WilmaScope distribution (Version 3.0.1 as of Oc-tober 2004) is available as a self installing package for Windows,Unix and Mac OSX from http://www.WilmaScope.org/download.html

8http://www.graphviz.org

• Principal components projection of a simplehigh-dimensional embedding (Harel & Koren2002).

Node and edge view plug-ins for various 3D primi-tive shapes (such as spherical and box-shaped nodes,and cylindrical edges) are included as well as someother more exotic geometries and labels. Figures 4,5, 6 and 7 give examples of graphs arranged usingdifferent layout-engine and view plug-ins.

5 Interactivity

WilmaScope is designed to be interactive. That is,as well as providing the ability to visualise graphsWilmaScope allows users to edit graphs. This in-teractivity also extends to layout. For example, it-erative layout algorithms—such as force-directed lay-out (Eades 1984)—are animated and allowed to runcontinuously while a graph is being edited, or whilethe layout algorithm’s parameters are being adjusted.

Such interactivity is made possible through ex-tensive use of the observer design pattern (Gamma,Helm, Johnson & Vlissides 1995). For example, edgeglyphs extending the EdgeView class can register tobe notified when an end node’s colour or geometryis modified—at which time the edge glyph can up-date itself accordingly. This architecture also has im-plications for developers utilising WilmaScope fromwithin their own applications. For example, such ap-plications can register observer classes to be notifiedof events such as:

• Selection of a graph element by the user (by click-ing directly on the element with the mouse).

• The start and finish of a layout process.

In this way, WilmaScope can be used for on-linebrowsing (Huang, Eades & Wang 1998) of very large(or infinite) graphs. That is, while exposing only asmall portion of the graph at a time, users can navi-gate the graph by selecting a node for closer inspec-tion directly. This node then notifies the applicationof the selection event—via the observer interface—and the application can reveal the node’s neighboursby adding them to the WilmaScope visualisation.Notification of layout start and finish allows such ap-plications to wait while animated layout changes com-plete.

6 Other Features

• Sophisticated lighting editor.

• Auto-rotation.

• Automatic centring and zooming of the graph tofit the window.

• High-resolution image capture.

• Generating a timed sequence of images to createmovies.

• Stereo 3D support on appropriate hardware.

7 Further Work

Work is currently underway to create more layout-engine plug-ins that will be distributed with WilmaS-cope. The default force-directed layout engine hasbeen designed to work well with clustered graphs,but work is ongoing to adapt other layout algorithms,such as hierarchical layouts to work in a clustered en-vironment.

Page 5: Extending the WilmaScope 3D Graph Visualisation System

Figure 4: A visualisation of a set of metabolic pathways (see Section 1) demonstrating use of the hierarchicallayout plug-in implemented with the DOT program. Also visible is a cross-sectional viewer which allows usersto step through layers in such 2 1

2D graph visualisations.

Figure 5: Visualisation of the evolution of a citation network. The force-directed layout plug-in has been usedtogether with constraints keeping nodes related to specific years aligned in parallel planes.

Page 6: Extending the WilmaScope 3D Graph Visualisation System

Figure 6: Another view of the citation-network from Figure 5. Nodes are constrained to concentric sphericalshells with high-degree nodes placed on the outermost shells.

Figure 7: A small scale-free network produced by the stochastic scale-free graph generator plug-in.

Page 7: Extending the WilmaScope 3D Graph Visualisation System

Another project involves creating a remote in-terface based on Java RMI to support collaborativegraph editing. Plug-in support for other file formats,or possibly a suite of graph file format conversiontools, is also being considered.

8 Acknowledgements

The following people participated in designing thegraph visualisations shown in figures throughout thispaper: Colin Murray, Ying Xin Wu, Le Song, AdelAhmed, Peter Eades, Falk Schreiber and Ulrik Bran-des.

References

Ahmed, A., Dwyer, T., Murray, C., Song, L. & Wu,Y. X. (2004), WilmaScope graph visualization,in ‘Proceedings of the IEEE Symposium on In-formation Visualization (InfoVis’04)’, Vol. ToAppear.

Barabasi, A.-L., Albert, R. & Jeong, H. (2000),‘Scale-free characteristics of random networks:the topology of the world-wide web’, Physica A281, 69–77.

Brandes, U., Dwyer, T. & Schreiber, F. (2003), Vi-sualizing related metabolic pathways in two anda half dimensions, in ‘Proceedings of the 11thInternational Symposium on Graph Drawing(GD’03)’, Vol. 2912 of LNCS, Springer, pp. 111–122.

Brandes, U., Dwyer, T. & Schreiber, F. (2004a), Vi-sual triangulation of network-based phylogenetictrees, in ‘Proc. 6th Joint Eurographics - IEEETCVG Symp. Visualization’.

Brandes, U., Dwyer, T. & Schreiber, F. (2004b), ‘Vi-sual understanding of metabolic pathways acrossorganisms using layout in two and a half dimen-sions’, Journal of Integrative Bioinformatics 2.

Dwyer, T. (2000), ‘Three dimensional UML usingforce directed layout’, Honour’s thesis, School ofComputer Science, the University of Melbourne.

Dwyer, T. (2001), Three dimensional UML usingforce directed layout, in P. Eades & T. Pattison,eds, ‘Australian Symposium on Information Vi-sualisation, (invis.au 2001)’, ACS, Sydney, Aus-tralia.

Dwyer, T. (2003), A scalable method for visualisingchanges in portfolio data, in ‘Proc. of the Aus-tralian Symp. on Information Visualisation (in-vis.au)’, Vol. 24 of Conferences In Research andPractice in Information Technology, AustralianComputer Society.

Dwyer, T. & Eades, P. (2002), Visualising a fundmanager flow graph with columns and worms,in ‘Proceedings of the 6th International Confer-ence on Information Visualisation, IV02’, IEEEComputer Society.

Dwyer, T. & Eckersley, P. (2001), WilmaScope— an interactive 3d graph visualisation sys-tem, in ‘The 9th international symposium onGraph Drawing (GD2001)’, Vol. 2265 of LNCS,Springer, pp. 442–443.

Dwyer, T. & Eckersley, P. (2003), Graph Draw-ing Software, Mathematics and Visualization,Springer, chapter WilmaScope — a 3D graphvisualization system, pp. 55–76.

Dwyer, T. & Gallagher, D. (2004), ‘Visualisingchanges in fund manager holdings in two and ahalf dimensions’, Journal of Information Visual-isation - to appear .

Dwyer, T., Rolletschek, H. & Schreiber, F. (2004),Representing experimental biological data inmetabolic networks, in ‘Proceedings of the sec-ond conference on Asia-Pacific bioinformatics’,Australian Computer Society, Inc., pp. 13–20.

Dwyer, T. & Schreiber, F. (2004), Optimal leaf order-ing for two and a half dimensional phylogenetictree visualisation, in ‘Proceedings of The Aus-tralian Symposium on Information Visualisation(InVis.au’04)’, Vol. 35 of CRPIT, pp. 109–115.

Eades, P. (1984), ‘A heuristic for graph drawing’,Congress Numerantium 42, 149–160.

Eades, P. & Sugiyama, K. (1990), ‘How to draw a di-rected graph’, Journal of Information Processing13, 424–437.

Eckersley, P. (2000), ‘Classiscope: Using meta-structure analysis to build a better magnet forthe web haystack’.

Fruchterman, T. & Reingold, E. (1991), ‘Graph draw-ing by force-directed placement’, Software Prac-tice and Experience 21(11), 1129–1164.

Gamma, E., Helm, R., Johnson, R. & Vlissides, J.(1995), Design Patterns: Elements of reusableobject-oriented software, Addison-Wesley.

Harel, D. & Koren, Y. (2002), Graph drawing by high-dimensional embedding, in ‘Proceedings of the10th International Symposium on Graph Draw-ing (GD’02)’, Vol. 2528 of Lecture Notes in Com-puter Science, Springer, pp. 207–219.

Huang, M. L., Eades, P. & Wang, J. (1998), ‘On-line animated visualization of huge graphs usinga modified spring algorithm’, Journal of VisualLanguages and Computing 9(6), 623–645.

Kamada, T. & Kawai, S. (1989), ‘An algorithm fordrawing general undirected graphs’, InformationProcessing Letters 31(1), 7–15.

Quigley, A. & Eades, P. (2000), Fade: Graph draw-ing, clustering, and visual abstraction, in ‘Pro-ceedings of the 8th International Symposium onGraph Drawing (GD2000)’, Vol. 1984, Springer,pp. 197–210.

Walshaw, C. (2000), A multilevel algorithm for force-directed graph drawing, in ‘Proceedings of the8th International Symposium on Graph Drawing(GD2000)’, Vol. 1984, Springer, pp. 171–182.