DOC

1 - School of Information Technology and Engineering

By Yolanda Ward,2014-09-25 05:11
11 views 0
1 - School of Information Technology and Engineering1 -

    Animated Exploring of Huge Software Systems

    Liqun Wang

    Thesis

    submitted to the Faculty of Graduate and Postdoctoral Studies

    in partial fulfillment of the requirements

    for the degree of Master of Science

    System Sciences Program

    School of Information Technology and Engineering

    University of Ottawa

    Ottawa, Ontario, Canada

    Liqun Wang, 2002

    ACKNOWLEDGEMENTS

    I would like to acknowledge the help that I have received during my research.

Grateful thanks to:

    Dr. Timothy Lethbridge, my supervisor, for his support, guidance, patience and intelligent comments.

    The KBRE group for their help, comments, and the valuable discussions with them. The students who participated in this study

    My friends for their concerns and encouragement.

     ii

    ABSTRACT

    There are many software visualization tools available today to help software engineers to explore software systems. However, when a system is huge, some of these tools do not satisfy the exploration requirements. The big problem is that the techniques the tools use do not provide an effective display and access mechanism to handle huge information spaces within the limitations imposed by available screen space.

    To alleviate the problem, this thesis describes methods that help users to explore huge software systems. In particular, we apply dynamic browsing incorporating such details as

    an extra result box mechanism, plus pattern based searching to help users to handle large query results. Then the thesis introduces the algorithms we apply to generate the layouts. We propose the radial angle model to visualize the internal structures of rooted trees.

    Also we apply the spring model to visualize the external structures among rooted trees. Next, the thesis describes various animation methods we use to smooth the transitions, track the focus of exploration, clarify unexpected results, and illustrate complex operations. In addition, we modify traditional camera animation, and propose an animation timing scheme „slow-in fast-out‟ to exaggerate the reality. Next, the thesis

    describes a series of experiments we conducted to assess the effectiveness of the browsing, layout algorithm and animation techniques we implemented. Finally the thesis describes how we use the analysis of the experiment results to guide our future research.

     iii

    TABLE OF CONTENTS

    Chapter One: Introduction ......................................................... 1 1.1 Current Problems of Visualizing Large Software System ................... 1 1.1.1 Background .................................................................................................... 1 1.1.2 Visualizing the Software................................................................................. 1 1.1.3 Difficulties in Software Visualization............................................................. 2 1.2 Related Research ................................................................................ 2 1.2.1 Browsing Techniques ..................................................................................... 2 1.2.2 Layout Algorithms .......................................................................................... 3 1.2.3 Animation Techniques ................................................................................... 4 1.3 Motivation and Objectives .................................................................. 4 1.4 Contributions of the Thesis ................................................................. 5 1.5 The Organization of the Thesis ........................................................... 6 Chapter Two: Browsing Techniques .......................................... 7 2.1 Literature Review ............................................................................... 7 2.1.1 Panning and Zooming.................................................................................... 7 2.1.2 Multi-viewer ................................................................................................... 8 2.1.3 Focus and Context Browsing ......................................................................... 8 2.1.4 Tree-maps Viewer .......................................................................................... 9 2.1.5 3D Browsing ................................................................................................. 10 2.1.6 Dynamic Interactive Browsing ..................................................................... 10 2.1.7 Searching and Browsing .............................................................................. 11 2.1.8 Summary ...................................................................................................... 12 2.2 Browsing Approach of TkSee Visualizer ...........................................12 2.2.1 Browsing Requirements of TkSee Visualizer ............................................... 12 2.2.2 Browsing Approach of TkSee Visualizer ...................................................... 13 2.3 Features of the Browsing Approach of TkSee Visualizer ...................14 2.3.1 Interactive Exploration ................................................................................ 15

     iv

    2.3.2 Pattern Based Searching .............................................................................. 15 2.3.3 Exploration of Multiple Relationships among Multiple Entity Types .......... 16 2.3.4 Limits on the Number of Expanded Nodes on Screen .................................. 16 2.3.5 Preserving the User’s Mental Map ............................................................... 17 2.3.6 Handling Large Query Results ..................................................................... 18 2.3.7 Panning ........................................................................................................ 20 2.4 Summary ...........................................................................................20 Chapter Three: The Layout Algorithm ........................................... 21 3.1 Literature Review of Related work ....................................................21 3.1.1 Background of Graph Drawing.................................................................... 21 3.1.2 The Spring Model Layout Algorithm ........................................................... 23 3.1.3 The Sugiyama Layout Algorithm ................................................................. 24 3.1.4 Radial Layout ............................................................................................... 26 3.1.5 Incremental Layout Algorithms ................................................................... 26 3.2 Layout Approach of TkSee Visualizer ...............................................28 3.2.1 Layout Requirements of TkSee System ........................................................ 28 3.2.2 Layout Algorithm of TkSee Visualizer ......................................................... 30 3.3 Detailed Discussion of the Layout Algorithms of TkSee Visualizer ..32 3.3.1 The Radial Angle Model .............................................................................. 32 3.3.2 Modeling Rooted Trees ................................................................................ 41 3.3.3 Modeling by Heuristics ................................................................................ 42 3.3.4 Be Capable to Adjust the Layout Manually .................................................. 44 3.4 Layout Results Given by TkSee Visualizer ........................................45 3.5 Summary ...........................................................................................46 Chapter Four: Animation ......................................................... 48 4.1 Functionality of Animation: ...............................................................48 4.2 Basic Rules of Animation design .......................................................48 4.2.1 Parameters to Animate ................................................................................. 49 4.2.2 Animation Control ....................................................................................... 49

     v

    4.2.3 Animation Path ............................................................................................ 49 4.2.4 Animation Timing ........................................................................................ 50 4.2.5 Frame Rate................................................................................................... 50 4.2.6 Psychological Factors .................................................................................. 50 4.2.7 Applying Principles of Cartoon Animation .................................................. 51 4.3 Animation Techniques Used in the Visualization of Software ...........51 4.3.1 Camera Animation ....................................................................................... 52 4.3.2 Layout Animation ........................................................................................ 52 4.3.3 Shrinking/Growing Animation ..................................................................... 52 4.3.4 Problems in the Animation Usage ................................................................ 53 4.3.4.2 Other Usage of Animation......................................................................... 54 4.4 Animation Techniques Implemented in TkSee Visualizer .................54 4.4.1 Animation Design ........................................................................................ 54 4.4.2 Layout Animation and Grow/Shrink Animation .......................................... 56 4.4.3 Intelligent Camera Animation...................................................................... 58 4.4.4 Zero-result Animation .................................................................................. 60 4.4.5 Result-already-exist Animation .................................................................... 62 4.4.6 Updating Animation ..................................................................................... 64 4.4.7 Root Updating Animation ............................................................................ 67 4.5 Summary ...........................................................................................68 Chapter Five: The Architecture of TkSee Visualizer .............. 69 5.1 TkSee Visualizer ...............................................................................69 5.2 Process Flow of TkSee Visualizer .....................................................70 5.3 User Interface of TkSee Visualizer ....................................................72 5.3.1 Symbol Indicator .......................................................................................... 73 5.3.2 Start Exploration Toolbox ............................................................................ 73 5.3.3 Explore Toolbox ........................................................................................... 74 5.3.4 Preferences Toolbox ..................................................................................... 74 5. 3.5 Animation Setup Toolbox ............................................................................ 75 5.3.6 Color Design ................................................................................................ 76

     vi

    5.3.7 Other Interface Techniques ......................................................................... 77 Chapter Six: Evaluation Experiments ..................................... 78 6.1 Methodology .....................................................................................78

    6.1.1 Test Users ..................................................................................................... 78

    6.1.2 Experiment Preparation ............................................................................... 79

    6.1.3 Experiment Process ...................................................................................... 80 6.2 Analysis of Experiment Results .........................................................81

    6.2.1 Browsing Techniques ................................................................................... 81

    6.2.2 Layout Algorithms ........................................................................................ 85

    6.2.3 Animation Techniques ................................................................................. 89

    6.2.4 User Interface .............................................................................................. 93

    6.2.5 The Default Value of System Parameters ..................................................... 93

    6.2.6 General Feedback of the Tool ...................................................................... 96 6.3 Summary ...........................................................................................99 Chapter Seven: Conclusion And Future Work ..................... 100 7.1 Review of the Research ................................................................... 100 7.2 Conclusions ..................................................................................... 101 7.3 Limitations and Future Work ........................................................... 101 References ................................................................................ 103 Appendices ............................................................................... 109 Appendix A: The Instructions of the Experiment................................... 109 Appendix B: Test Tasks ........................................................................ 110 Appendix C: Informed Consent Form .................................................... 112

     vii

    LIST OF FIGURES

    Figure 2-1: The extra result box ..................................................................................... 14 Figure 2-2: The extra result box and pattern based searching: (1) Extra result box is not

    used; (2) The pattern based searching string is “*”; (3) The pattern based searching

    string is “get_d*”. .................................................................................................. 20

    Figure 3-1: The key concepts in radial angle model ....................................................... 34 Figure 3-2: The angular assignment of child nodes ........................................................ 35 Figure 3-3: Preserve the mental map .............................................................................. 36 Figure 3-4: Model unit................................................................................................... 38 Figure 3-5: When the neighbor gap angle is larger than the child node angle ................. 40 Figure 3-6: When the neighbor gap angle is smaller than the child node angle ............... 40 Figure 3-7: Root nodes are placed in the cross points of a grid. ...................................... 42 Figure 3-8: The flow chart of whole modeling process .................................................. 44 Figure 3-9: A layout within a rooted tree ....................................................................... 45 Figure 3-10: A layout with multiple rooted trees ............................................................ 46 Figure 4-1: The slow-in fast-out animation timing model .............................................. 56 Figure 4-2: Layout animation (1) Node find_plane_activity is clicked to expand (2) The

    child nodes of find_plane_activity are growing from find_plane_activity (3) The

    child nodes stop moving as they reach their destinations ........................................ 58 Figure 4-4: Intelligent camera animation (1) Node system_typ is clicked to expand (2)

    Intelligent camera animation is performed ............................................................. 60 Figure 4-5: Zero-result animation (1) User does an exploration on node prio but there is

    no query result (2) The node prio grows up............................................................ 62

    Figure 4-6: Result-already-exist animation (1) User does an exploration on node

    dcd_absent_str but the result has already existed on the screen (2) The node chopin

    is pushed away....................................................................................................... 64 Figure 5-1: TkSee Visualizer ......................................................................................... 70 Figure 5-2: The flowchart of the Tcl/Tk component....................................................... 71 Figure 5-3: The flow chart of the C++ core program ...................................................... 72 Figure 5-5: The symbol indicator ................................................................................... 73

     viii

    Figure 5-6: The start exploration toolbox ....................................................................... 73 Figure 5-8: The preference toolbox ................................................................................ 75 Figure 5-9: The animation toolbox ................................................................................ 76

     ix

    LIST OF TABLES

    Table 6-1: Default value of system parameters .............................................................. 96 Table 6-2: Users‟ comments on the tool ......................................................................... 97 Table 6-3: The summary of the experiment results ........................................................ 99

     x

Report this document

For any questions or suggestions please email
cust-service@docsford.com