Evaluating Extensible 3D (X3D) Graphics for Use in Software Visualisation by Craig Anslow
Total Page:16
File Type:pdf, Size:1020Kb
Evaluating Extensible 3D (X3D) Graphics For Use in Software Visualisation by Craig Anslow A thesis submitted to the Victoria University of Wellington in fulfilment of the requirements for the degree of Master of Science in Computer Science. Victoria University of Wellington 2008 Abstract 3D web software visualisation has always been expensive, special purpose, and hard to program. Most of the technologies used require large amounts of scripting, are not reliable on all platforms, are binary formats, or no longer maintained. We can make end-user web software visualisation of object-oriented programs cheap, portable, and easy by using Extensible (X3D) 3D Graphics, which is a new open standard. In this thesis we outline our experience with X3D and discuss the suitability of X3D as an output format for software visualisation. ii Acknowledgments I would first just like to say that my Mum and Dad and have been great support over the past few years in completing this degree and without them the struggle would have been much worse. Thanks to Frank for accommodating me. My weekends would not have been as much fun or balanced without my lovely dogs, Amber-Rose and Ruby-Anne. Thanks to my close friend Alex Potanin for just being Alex; interrupting me at the most opportune moment and asking me to do things when least expected. I know I can always rely on you. So thanks for letting me come and discuss my ideas and problems with you over the course of my degree. Even if the discussion always ended up talking about you, I knew you were always interested in what I had to say about you. To James Noble, Robert Biddle, and Stuart Marshall, thank you very much for supervising me. Without your leadership and guidance I do not know what I would have done. It has been great to have three completely different personalities to be able to inspire me, give me advice, pointers, and direction on many aspects of my project. Your help has been much appreciated and will not be forgotten. Through the Elvis Software Design Research Group I have had many a fine time and met some really great people including: Mike McGavin, Donald Gordon, Kirk Jackson, Pippin Barr, Rilla Khaled, Angela Martin, Matt Duignan, Chris Andreae, Stephen Nelson, Darren Willis, Jennifer Ferreira, Pia Holland, Annie Luxton, Hayden Smith, Brenda Chawner, Joerg Evermann, Robbie Morrison, Wm Leler, Gary Haggard, Craig Chambers, Tim Wright, David Pearce, and Ewan Tempero. There were also some students who had to put up with me being their office mates for many years which I know is not an easy task to do, so thanks to: Feng Lu, Nick Jamieson, Will Smart, Dean Pemberton, Jennifer Ferreira, and Rashina Hoda. Thank you to Mike McGavin, John Fouhy, and Jonathan Aumonier-Ward, (JAWs) for introducing me to a relatively new cool sport in Wellington, Ultimate Frisbee. Without playing and thinking about Ultimate constantly I would have had no reason to stay active. I have also met some other outstanding individuals from this community and played in some really interesting teams. iii iv During my degree I had the opportunity to attend a Web3D Consortium work- shop where I had the opportunity to meet some of the pioneers in the X3D com- munity including Don Brutzman, Leonard Daly, Alan Hudson, Tony Parisi, Chris Thorne, and Rita Turkowski. Thank you all for the wonderful advice, support and encouragement. Thanks to John Coady for helping with X3D programming. In the journey of this thesis I have had the opportunity to meet and email various people along the way and discuss with them my research and future plans. So thanks to the following people: Liz Richardson, Liz Medford, Lyndon Hawk, Michael Richmond, Nadyne Mielke, Bruce Campbell, Ben Stephenson, Alan Black- well, Neville Churcher, Andy Cockburn, Tim Bell, Tim Dwyer, Peter Eades, Steve Reiss, Gary Sevitsky, Ronald Bourret, Lianjiang Fu, Paul H J Kelly, Dennis Mancl, Margaret-Anne Storey, Tamara Munzner, Daniel Keim, Matt Ward, John Stasko, Ben Shneiderman, Robert Kosara, Malcolm Munro, Paul McIntosh, Michele Lanza, Orla Greevy, Dale Bent, Rasmus Koch Hansen, Rachel Ryan, Guillaume Langelier, Tilman Giese, and Keith Andrews. I can’t remember everyone, so sorry if I left any one off the list. Doing this thesis would not have been possible without some levels of funding. Thanks to Rachel Irving for employing me for a couple of years in the marketing group at Victoria University of Wellington. I had a splendid time working with a great bunch of people. Thanks to my managers at Unisys, Grant Nielsen and Tim Hogan for employing me on two vastly different projects. Thanks to Andrew Whelan for listening and providing support. Thanks to the School of Mathematics, Statistics, and Computer Science for funding me with a scholarship and a small research grant. Thanks to the Faculty of Science for funding me with a small research grant as well. Thanks to Liz Richardson and Shona De Sain for part time employment in the Faculty of Science. Thanks to my supervisor James Noble for some funding through the DSTOOLs grant. Finally, thanks to Harris Stratex Networks for a Masters scholarship. Contents 1 Introduction 1 1.1 Motivation . 2 1.2 Contributions . 3 1.3 Outline . 3 2 Background 5 2.1 Information Visualisation . 6 2.1.1 2D Versus 3D Visualisation . 7 2.1.2 3D Information Visualisation Techniques . 10 2.2 Software Visualisation . 15 2.2.1 Early 3D Software Visualisation . 20 2.2.2 Source Code Visualisations . 20 2.2.3 Object-Oriented Metrics . 21 2.2.4 UML Diagrams . 23 2.2.5 Dynamic Visualisations . 23 2.3 VARE: Visualisation Architecture for REuse . 25 2.3.1 Programming Mapping Visualisation . 25 2.3.2 Architecture . 26 2.3.3 Execution Traces . 26 2.3.4 Visualisation Tools . 29 2.3.5 3D Technologies . 31 2.4 Summary . 34 3 Exploring X3D 37 3.1 Overview . 38 3.2 Specification . 39 3.2.1 Basic Example . 39 3.2.2 Encodings . 39 3.2.3 Profiles . 39 3.3 X3D Nodes . 43 3.3.1 Geometry . 43 v vi CONTENTS 3.3.2 Grouping . 44 3.3.3 Viewing and Navigation . 47 3.3.4 Lighting, Environment, and Sound . 47 3.3.5 Animation and Interaction . 48 3.3.6 Prototypes . 49 3.4 Resources . 49 3.4.1 X3D Browsers and Plug-ins . 49 3.4.2 Content Authoring and Editing Tools . 51 3.4.3 Export and Translator Tools . 55 3.5 Discussion . 55 3.5.1 Improvements to the Specification . 57 3.5.2 Future of X3D on the Web . 58 4 X3D Software Visualisations 61 4.1 VARE-3D . 62 4.1.1 Architecture . 62 4.1.2 Implementation . 63 4.1.3 Visualisation Transformation . 64 4.1.4 Discussion . 70 4.2 Algorithm Animations . 72 4.2.1 Shortest Path . 73 4.2.2 Heapsort . 77 4.2.3 Elementary Sorting . 80 4.2.4 Discussion . 85 4.3 UML Diagrams . 89 4.3.1 Class Diagrams . 89 4.3.2 Package Diagrams . 93 4.3.3 Sequence Diagrams . 93 4.3.4 Discussion . 95 4.4 Documentation-Related Visualisations . 97 4.4.1 Source Code Visualisation . 98 4.4.2 API Javadoc Visualisation . 98 4.4.3 Structured Video Visualisation . 98 4.4.4 Discussion . 101 4.5 Execution Trace Visualisations . 103 4.5.1 All Elements From an Execution Trace . 103 4.5.2 3D Compound Shapes . 105 4.5.3 3D Metaphors . 110 4.5.4 Discussion . 115 CONTENTS vii 4.6 Summary . 116 5 Software Visualisation Media Evaluation Framework 117 5.1 Differences With Earlier Evaluation Model . 118 5.2 Scope∗ ................................... 121 5.2.1 Requirements∗ .......................... 121 5.2.2 Design∗ .............................. 122 5.2.3 Method∗ .............................. 123 5.2.4 Performance . 123 5.3 Form∗ .................................... 123 5.3.1 Graphical Capability . 123 5.3.2 Presentation∗ ........................... 125 5.3.3 Visualisation Techniques∗ .................... 126 5.4 Interaction∗ ................................ 127 5.4.1 User Controls∗ .......................... 127 5.4.2 User Navigation∗ ......................... 127 5.4.3 User Tasks∗ ............................ 128 5.5 Discussion . 128 6 Evaluation of X3D 131 6.1 Scope . 132 6.1.1 Requirements . 132 6.1.2 Design . 133 6.1.3 Method . 134 6.1.4 Performance . 137 6.2 Form . 138 6.2.1 Graphical Capability . 138 6.2.2 Presentation . 141 6.2.3 Visualisation Techniques . 143 6.3 Interaction . 146 6.3.1 User Controls . 146 6.3.2 User Navigation . 148 6.3.3 User Tasks . 151 6.4 Discussion . 152 6.4.1 Advantages of X3D . 153 6.4.2 Disadvantages of X3D . 154 6.4.3 Potential Improvements for X3D . 156 viii CONTENTS 7 Conclusions 157 7.1 Contributions . 158 7.2 Future Work . 158 A Evaluation of X3D Summary 161 List of Figures 2.1 Harry Beck’s 1933 original London Underground map. Reproduced by kind permission of London’s Transport Museum c Transport for London. 8 2.2 Tree Map — KDirStat. 12 2.3 Cone.