Animated Exploring of Huge Software Systems

Size: px
Start display at page:

Download "Animated Exploring of Huge Software Systems"

Transcription

1 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

2 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

3 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

4 TABLE OF CONTENTS Chapter One: Introduction Current Problems of Visualizing Large Software System Background Visualizing the Software Difficulties in Software Visualization Related Research Browsing Techniques Layout Algorithms Animation Techniques Motivation and Objectives Contributions of the Thesis The Organization of the Thesis... 6 Chapter Two: Browsing Techniques Literature Review Panning and Zooming Multi-viewer Focus and Context Browsing Tree-maps Viewer D Browsing Dynamic Interactive Browsing Searching and Browsing Summary Browsing Approach of TkSee Visualizer Browsing Requirements of TkSee Visualizer Browsing Approach of TkSee Visualizer Features of the Browsing Approach of TkSee Visualizer Interactive Exploration iv

5 2.3.2 Pattern Based Searching Exploration of Multiple Relationships among Multiple Entity Types Limits on the Number of Expanded Nodes on Screen Preserving the User s Mental Map Handling Large Query Results Panning Summary Chapter Three: The Layout Algorithm Literature Review of Related work Background of Graph Drawing The Spring Model Layout Algorithm The Sugiyama Layout Algorithm Radial Layout Incremental Layout Algorithms Layout Approach of TkSee Visualizer Layout Requirements of TkSee System Layout Algorithm of TkSee Visualizer Detailed Discussion of the Layout Algorithms of TkSee Visualizer The Radial Angle Model Modeling Rooted Trees Modeling by Heuristics Be Capable to Adjust the Layout Manually Layout Results Given by TkSee Visualizer Summary Chapter Four: Animation Functionality of Animation: Basic Rules of Animation design Parameters to Animate Animation Control v

6 4.2.3 Animation Path Animation Timing Frame Rate Psychological Factors Applying Principles of Cartoon Animation Animation Techniques Used in the Visualization of Software Camera Animation Layout Animation Shrinking/Growing Animation Problems in the Animation Usage Other Usage of Animation Animation Techniques Implemented in TkSee Visualizer Animation Design Layout Animation and Grow/Shrink Animation Intelligent Camera Animation Zero-result Animation Result-already-exist Animation Updating Animation Root Updating Animation Summary Chapter Five: The Architecture of TkSee Visualizer TkSee Visualizer Process Flow of TkSee Visualizer User Interface of TkSee Visualizer Symbol Indicator Start Exploration Toolbox Explore Toolbox Preferences Toolbox Animation Setup Toolbox Color Design vi

7 5.3.7 Other Interface Techniques Chapter Six: Evaluation Experiments Methodology Test Users Experiment Preparation Experiment Process Analysis of Experiment Results Browsing Techniques Layout Algorithms Animation Techniques User Interface The Default Value of System Parameters General Feedback of the Tool Summary Chapter Seven: Conclusion And Future Work Review of the Research Conclusions Limitations and Future Work References Appendices Appendix A: The Instructions of the Experiment Appendix B: Test Tasks Appendix C: Informed Consent Form vii

8 LIST OF FIGURES Figure 2-1: The extra result box 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* Figure 3-1: The key concepts in radial angle model Figure 3-2: The angular assignment of child nodes Figure 3-3: Preserve the mental map Figure 3-4: Model unit Figure 3-5: When the neighbor gap angle is larger than the child node angle Figure 3-6: When the neighbor gap angle is smaller than the child node angle Figure 3-7: Root nodes are placed in the cross points of a grid Figure 3-8: The flow chart of whole modeling process Figure 3-9: A layout within a rooted tree Figure 3-10: A layout with multiple rooted trees Figure 4-1: The slow-in fast-out animation timing model 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 Figure 4-4: Intelligent camera animation (1) Node system_typ is clicked to expand (2) Intelligent camera animation is performed 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 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 Figure 5-1: TkSee Visualizer Figure 5-2: The flowchart of the Tcl/Tk component Figure 5-3: The flow chart of the C++ core program Figure 5-5: The symbol indicator viii

9 Figure 5-6: The start exploration toolbox Figure 5-8: The preference toolbox Figure 5-9: The animation toolbox ix

10 LIST OF TABLES Table 6-1: Default value of system parameters Table 6-2: Users comments on the tool Table 6-3: The summary of the experiment results x

11 Chapter One: Introduction 1.1 Current Problems of Visualizing Large Software System Background In today s software industry, large software systems are everywhere. Some systems, particularly legacy software, may contain millions of lines of code. These large systems are extremely complex, so understanding the design, as well as changing and repairing the code in such systems are inordinately time consuming and costly. How to effectively maintain such large systems has been a big problem Visualizing the Software A good picture is worth ten thousand words, so one way to help software engineers to cope with complexity and to increase programmer productivity is through visualization. Because humans are inherently visual creatures, visual representations can make the process of understanding software easier. Software visualization (SV) is the use of pictures for looking at and understanding software systems. Depending on the nature of the software understanding problem, different aspects of software structure or behavior are visualized. For example, visualizing the structure of classes and relationships among the software entities to help users to understand the program. Visualizing the data structures of a program in an intelligent way can help the programmer to solve memory leaks. Algorithm animation is yet another example of software visualization that has proven to be very useful in teaching computer algorithms. 1

12 Besides the advantages of making programs easy to understand, software visualization also has other merits, such as being graphically appealing and being potentially easier for people to use than textual views, etc Difficulties in Software Visualization The big difficulty in software visualization (SV) is dealing with the huge graph needed to fully represent software versus the limited screen space available. Without effective display and access mechanisms, the information itself is useless. In an SV system, software entities are presented as nodes while the relations among the nodes are represented as arcs. When the number of nodes is or so, browsing the screen with panning and zooming is enough. When the number of nodes is more than that, special browsing techniques must be used. The various structures of software entities and the relations among them are presented to the user of a visualization tool using general layout algorithms. However, general layout algorithms may not 100% satisfy the requirements of some SV areas. Such as the entities in the graph drawing are represented as dots while in SV they are presented as nodes of some size. Some small changes can cause a big problem. 1.2 Related Research There are two key classes of techniques we need to examine to better understand approaches to SV. These are browsing techniques and layout algorithms Browsing Techniques The biggest problem with browsing techniques is dealing with the huge graph versus the small amount of screen space. A lot of research has been done to cope with the problem. There are three main static browsing techniques: 2

13 The multiple-viewer [25][3] offers two viewers. One viewer gives a global view while the other gives a view of local detail. The focus+context viewer [4][5][39] attempts to use distortion to display the whole graph in one viewer. The area near the focus is shown in detail while the area away from the focus is shown only in overview. 3D browsers [22][23][24] are another general approach to browsing. When the nodes number less than 3000, those algorithms work well. But when the system contains millions of nodes, dynamic browsing techniques [20][37] give a better solution. They dynamically generate small parts of the overall graph as the user is exploring on it. However, although dynamic browsing techniques can browse huge software systems, they nevertheless have difficulty handling huge query results (e.g. situations when the user clicks on an entity to show related entities and hundreds of related entities must be displayed) Layout Algorithms In SV, a few general layout algorithms are used to describe various structures and relationships in a program. For example, the Sugiyama layout algorithm [2] can be used to illustrate hierarchical relations among classes; and the spring model [1] can present non-hierarchical relationships among software entities. These graph drawing approaches are selected based on the properties of the graph type. They give readable layouts that obey aesthetic principles. In this thesis, a new layout algorithm, incremental layout, is created to work with a new dynamic browsing technique. These new techniques require a lot of analysis with regard 3

14 to both the browsing technique and the layout algorithm. One problem that must be considered is how to preserve the user s mental map during dynamic exploration Animation Techniques When users change the focus of the view while browsing the diagram, camera animation is activated to smooth the transition. Layout animation is conducted in the incremental layout to preserve mental map. In the incremental layout, animation is applied after every exploration. This gives the user an expectation: they are waiting for change after every click. If there is no change, they might think something is wrong. That is another mental issue we should also consider. 1.3 Motivation and Objectives According to the problems in understanding huge software systems, as well as the achievement of previous research in software visualization, we need to investigate how software visualization techniques can be specifically adapted to meet the requirements of program comprehension through visualization. Also, with our approaches we have to assess how much we can do to improve the performance of software visualization. The aim of my thesis is to find a good method to help users to explore very large software systems. We attempt to build a new software visualization tool that employs advanced methodologies and implements our approaches. The tool will be capable of browsing huge software systems and handling huge query results. It can explore multiple relationships among multiple software entities. The layout given by the tool should be clear and satisfies the aesthetics of graph. Furthermore, the user s mental map should be preserved during the exploration. 4

15 1.4 Contributions of the Thesis We employ dynamic browsing techniques to browse huge software systems. In the browser, a mechanism is proposed to handle large query results. We propose a layout algorithm that matches our dynamic browsing technique and satisfies the requirements of a browsing tool called TkSee Visualizer. We apply multiple animation techniques to smooth the layout transition, aiding the user in tracking objects and clarifying the exploration results. Finally, we design a series of experiments to evaluate our approaches and point out directions for future study. Our major contributions are: 1. We have implemented a prototype tool, TkSee Visualizer, to browse and manipulate huge software systems. 2. In TkSee Visualizer, we employ dynamic browsing techniques. These incorporate with pattern based searching and an extra result box to deal with the difficulties in exploring large query results. 3. We apply incremental layout to match our dynamic browsing techniques. Besides this, we modify the radial graph algorithm to describe the internal structure of rooted trees. Furthermore we use the spring model to provide the layout among the rooted trees. All together, this is our layout algorithm for TkSee Visualizer. 4. In TkSee Visualizer, we adapt animation techniques to preserve the mental map. Also, animation is used to clarify the exploration results even when there are no outcomes. In addition, we propose intelligent camera animation so as not to lose track of focus while using screen space more effectively. Furthermore, we propose a cartoon-style animation timing slow-in fast-out to make exploration more enjoyable and draw attention to it. 5. Several experiments are carried out to evaluate our techniques. 5

16 1.5 The Organization of the Thesis The rest of the thesis is organized as follows: Chapter 2 reviews various popular browsing techniques then describes the browsing technique we used in TkSee Visualizer. Chapter 3 summarizes layout algorithms used in SV tools. After that it explains our radial angle layout model. Chapter 4 introduces diverse animation techniques and animation design rules, then focuses on the animations we implemented in the TkSee Visualizer Chapter 5 describes the implementation of the prototype tool TkSee Visualizer Chapter 6 presents a series of experiment results to assess the effectiveness of our browsing approach, layout model and animation techniques. Chapter 7 sums up our research and points out future study directions. 6

17 Chapter Two: Browsing Techniques In this chapter, first we introduce several browsing techniques, highlighting their advantages and shortcomings. Then we point out the browsing requirements of TkSee Visualizer. Based on these requirements and properties of various browsing techniques, we propose the browsing approach of TkSee Visualizer. At the end we explain our approach in depth. 2.1 Literature Review Two key issues should be satisfied by any browsing technique: We must allow users to 1) browse information spaces, and 2) focus quickly on the items of interest. The key difficulty regarding these issues is to display a large information space on a limited size screen. Many browsing techniques have been proposed and implemented to tackle this difficulty Panning and Zooming One obvious solution is using common interface techniques of panning and zooming. When these are used, the software system is fully visualized into a graphical map. The user scrolls the window across the map to view portions of the map at one time. In addition to panning, the users can also zoom in or zoom out on special parts to view them more clearly. This method is simple and easy to use, but a drawback is that whenever a portion of the map is viewed in detail, large portions of the map are off-screen, and when the map is large, users cannot locate the place they are interested in quickly. 7

18 2.1.2 Multi-viewer Some browsing techniques present two viewers. One gives the global view of the graph, while the other gives the detail of the focus point on the global viewer. Bifocal [25] and Information Mural [1] are the examples of this concept. Information Mural [3] is a 2D information visualization tool. It uses visual attributes such as grayscale shading, intensity, color, and pixel size, along with anti-aliased compression techniques to compress a large information space to fit entirely within a display window. Besides the global viewer, Information Mural also supplies the second viewer to display detailed information of the focus area in the global viewer. The graph in the detail viewer is updated as the focus moves around the global viewer. Multi-viewer has the advantage of presenting both local detail and overall structure. But it requires extra screen space and forces users to mentally integrate the two views. On the local detail viewer, the part adjacent to the enlarged area is not visible at all Focus and Context Browsing Fisheye view [4][5] is a widely used focus and context browsing technique. It presents both local detail and global context in one view without switching among multiple viewers. The places near the focus are shown in detail while remote regions are shown in successively less detail. As the user moves the focus, the graph constantly changes to keep the area near the focus enlarged. The fisheye view is implemented in the software visualization tool Shrimp [32] as one of its browsing techniques. One drawback of fisheye view is that some typical diagrams will change to very weird shapes so as to be unrecognizable after the fisheye view transformation. It also requires 8

19 the diagram of the system to be predefined before viewing. When the system is huge it is therefore impractical. Another well-known focus and context browsing technique is Hyperbolic Browser [39] which attempts to take advantage of the properties of hyperbolic geometry to visualize large hierarchies. It can display up to 10 times as many nodes as conventional tree browsers. But the hyperbolic browser is weak in giving the directionality of links and also the location of a node in the overall space Tree-maps Viewer Johnson and Shneiderman proposed a space filling tree map approach to visualize hierarchical information structures [28]. In tree-maps, a hierarchy is drawn as a set of nested boxes in which each node is presented as a rectangular region composed of the rectangular regions that represent its children. It attempts to organize nodes all over the screen to increase the usage of screen space. Treeviz [47] for the Macintosh is an implementation of the tree-maps concept. Each of the nodes can be colored dependent upon the type of the file, and the lightness can indicate age etc. The user can click on these rectangles to either get more information or to perform options such as delete etc. The main advantage of tree-maps is its ability to visualize large hierarchies. It is claimed that nodes, each with an area of 100 pixels, can be displayed in the screen of 640 by 480 pixels. While a standard 2-D hierarchy browser can typically display around 100 nodes under that circumstance. The other advantage is its ability to emphasize some attribute of the data, for example size of files, by the size of the rectangular regions. However tree-maps tend to obscure the hierarchical structure and result in the user losing the context while focusing on one part of a hierarchy. 9

20 D Browsing Another attempt to maximize the effective use of the available screen space is threedimensional visualization techniques. The best-known examples are The Perspective Wall [22] and Cone Trees [23]. The Perspective Wall visualizes linear information such as time, on a folded wall with a center panel for showing detail and two perspective panels for displaying context. Once a note is selected on a perspective panel, the wall scrolls to bring the panel that has the focus node to the front. The trade-off between detail and context can be adjusted by manipulating the degree of folding, the width of the detail panel, and the angle of the field of view. Cone Trees embed the tree in a three dimensional space. The embedded tree has joints. When a level in the hierarchy is expanded, cones are rotated to bring the selected data items to the front of the display. The expanded new contents are arranged around the bottom of the inverted cone. The use of three dimensions provides more space freedom in graph layout than 2D. Also it gives users a better "feel" for the structure of the information space [40]. But such displays still suffer from a lack of screen space along with the burden of 3D visualization. For Cone Trees, trees with more than approximately 1000 nodes are difficult to manipulate [40] Dynamic Interactive Browsing The browsing techniques that require the predefinition of the overall geometrical representation of the graph before browsing are called static browsing techniques. Panning and zooming, multi-viewer, tree map, etc, and all the browsing techniques we have discussed before are static browsing techniques. Contrary to static browsing 10

21 techniques, dynamic browsing techniques do not predefine the whole graph before users browse through it. They build the visualization incrementally as the user is exploring the graph. OFDAV [37] and NicheWorks [20] are implementations of the dynamic browsing technique. In dynamic browsing, the graph updates after each valid exploration action. The change between consecutive updates should be small enough; otherwise the changes will confuse the user. This problem is called preserving the user s mental map of the diagram [14]. Most dynamic browsing systems apply both the incremental layout algorithm and animation to solve this problem. Another problem is how to save screen space while keeping browsing effective. M. L. Huang et al [37] proposed a deletion policy with two strategies to solve the problem. One of the strategies is called FIFO. They push every expand node into a Queue. The least recently used focus node, the first node in the queue, is deleted when the Queue is full. The other is called Largest K-distance rule. The node that has the largest graphtheoretical distance from the new focus node is deleted when the Queue is full. Static dynamic browsing can effectively deal with graphs of moderately large size (with hundreds or thousands of nodes); they do not handle huge graphs (with millions of nodes). Comparing with static dynamic browsing, dynamic interactive browsing techniques are better techniques for browsing huge software systems since the size of the system does no matter to it. Dynamic browsing is a new approach that still needs a lot of effort to be perfect. They currently are not able to give clear architectural views of a software system Searching and Browsing According to S. E. Sim [33], searching is planned activity with a specific goal, whereas browsing is more of an explorative strategy with no fixed endpoint. Browsing and 11

22 searching complement each other. The shortcomings of browsing are matched by the strengths of the search. An information space can only be fully utilized when both navigation styles, browsing and searching, are available. [33] If a visualization tool combines with searching, it will be a more powerful tool Summary In this section, we described the most popular browsing techniques, panning and zooming, multi-viewer, focus and context browsing, tree-maps, 3D browsing and dynamic interactive browsing. So far, dynamic interactive browsing techniques are the best technique to browse a huge software system. If we combine searching with browsing, we can offer users a more effective browser. 2.2 Browsing Approach of TkSee Visualizer Our browsing approach should meet the browsing requirements of as defined for the TkSee system [7,48] Browsing Requirements of TkSee Visualizer (1) The TkSee system deals with legacy systems that have millions of lines of code. The Visualizer therefore should handle a huge amount of information. (2) The TkSee system can explore multiple relationships among multiple software entities. The Visualizer should also provide this feature. (3) In TkSee, a single query during the course of browsing can result in thousands of items to display. The Visualizer should handle therefore huge exploration results. Although these requirements are given by TkSee, they are limitations also found in other tools. 12

23 2.2.2 Browsing Approach of TkSee Visualizer We adopt the dynamic browsing technique as our browsing technique of TkSee Visualizer to help users to navigate huge software systems. In addition, we propose an extra result box mechanism combining with pattern based searching to handle large query results Handle Huge Information We do not display the whole software system on the screen at a time. Starting from the software entities the user defines, we incrementally update the graph as the user clicks a node to do exploration with selected parameters. Like the OFDAV[37] system, we apply the incremental layout algorithm and animations to preserve mental map. We will discuss the incremental layout algorithm in Chapter three and animation in Chapter four. Again like the OFDAV system, we drop nodes when too many nodes are displayed on the screen to prevent clutter. We use FIFO as our deletion policy. More detailed discussions are given in the next section Explore Multiple Relationships among Multiple Software Entity Types TkSee offers four exploration relationships. They are what nodes are defined by node A, which node defines node A, what nodes are referred to by node A and which nodes refer to node A. Also four software entity types exist in the TkSee. They are files, routines, data and type. Every exploration activity is specified by particular exploration relationship and software entity type that are to be displayed. We apply colors to distinguish different relationships and software entities. More detailed discussions are given in the next section. 13

24 Handle Large Query Results We propose a mechanism called ERBS to deal with huge query results. It is composed of extra result box browsing technique and pattern based searching. If a query gives a large number of results, we show the maximum displayable results and hide the rest in a box. The box can be treated as a special node. The remaining results update those shown nodes when user clicks the box. We give the number range of the query result on the box. The user can append a name pattern upon the query result to get more precise results. More detailed discussions are given in the next section. Next Page (1-10) (Total child number:33) Figure 2-1: The extra result box 2.3 Features of the Browsing Approach of TkSee Visualizer In TkSee Visualizer, exploration is done interactively. Searching can be appended with the exploration to refine the results. Users can explore multiple relationships among multiple entity types. To preserve the space, the expanded node number is limited to less than a certain number. The user s mental map is preserved and users can handle large query results with the help of extra result box and pattern based searching. 14

25 2.3.1 Interactive Exploration In TkSee Visualizer, an exploration is activated when the user clicks on a node; the exploration is specified as a query. The mechanism to create queries is well designed that users can conduct their explorations easily and effectively. The Visualizer offers small sets of buttons to help users to create the query (see Fig 5-7). They are four exploration relation buttons and four result entity type buttons that cover all the explanation relationships and result entity types defined in TkSee. The query language used in TkSee is TA [7]. A TA query can be discomposed into the subject of action, action type and the object of the action. The clicked node is the subject of the exploration action. Four exploration relationships radio buttons define the action type. The entity type radio buttons describe the result of the query. When the user clicks on a node, a query is specified with the clicked node id, the selected exploration relationship and the selected result entity type Pattern Based Searching In TkSee Visualizer, a pattern based searching function supplied by TkSee can be appended to the exploration to refine the query results. In TkSee Visualizer, the first exploration is ready to start after user inputs the name or name pattern of the first nodes. Visualizer offers an edit bar to define the name of the first node. It accepts a grep-like regular expression. The Visualizer also offers a set of radio buttons to help users to define the entity type of the first node. When the user clicks the Start Exploration button beside the edit bar, the search string which contains the name and the entity type is created and is sent to TkSee as a query. A node or a few nodes that satisfy the search string will be shown on the screen. 15

26 Another way to use searching is to refine the query results during the exploration. Once user gets the exploration results, he or she can append a search string on the results as a filter to narrow down the results. This helps the user to handle the large exploration results. We will discuss this in detail in section Exploration of Multiple Relationships among Multiple Entity Types The TkSee Visualizer can explore multiple relationships on a node. The node can be file, routine, data and type. And results given by multiple dependencies can be added together on a node. We use different colors and arrow directions to distinguish diverse exploration relationships and entity types. According to the meaning of the exploration relationships, we separate relationships into two groups: define ( defines and is defined by ) and refer ( refers and is referred by ). We assign one color to each of the group. And we use two arrow directions to distinguish defines from is defined by, and refers from is referred by. Therefore six colors have to be chosen to represent four software entity types and two association relationships. We will discuss the color design in depth in Chapter five Limits on the Number of Expanded Nodes on Screen The size of the screen is limited. While more and more nodes are expanded, the visibility of the diagram decreases and the display speed slows down. We have to make a rule to keep a reasonable number of nodes on the screen so that the user can have enough information to do the exploration work, while still having a clear view of a significant part of the system, and in addition having the display update at high speed. 16

27 We decide to adopt the FIFO deletion policy proposed by [37]. A queue is created to keep track of all the expanded nodes on the screen. Once a node is clicked to expand it, it is added to the queue. Once the node is clicked to close it, it is removed from that queue. When the number of expanded nodes on the screen exceeds the maximum expanded node number, the length of the queue, we drop the oldest node in the queue. In the experiment discussed later in this thesis, we show how we have maintained a reasonable default maximum number of expanded nodes. Before exploration, users can change the number according to their preference Preserving the User s Mental Map Compared to static browsing, dynamic browsing may show a lot of changes during the exploration. Some nodes will disappear while some nodes will appear. Users may have difficulties tracing the changes. This is called mental map problem. In TkSee Visualizer, the incremental layout algorithm and animations are applied to help preserve the user s mental map. The incremental layout algorithm can give continuous frames which contain small changes. Layout animation smoothes the layout transitions that help the user to focus on the most recent node user has interacted with. Camera animation helps the user not to lose the track on the focus node. We will give more detailed discussion on the user s mental map and the incremental layout algorithm in the Chapter three and animations in the Chapter four. 17

28 2.3.6 Handling Large Query Results Problems in Browsing Large Exploration Results Very often, the query returns a large number of query results. If we display all of the results on screen, they may overlap each other so as to be invisible since the screen space is very limited. Also, it will take a long time to display all of them on the screen so users will lose their patience. Actually, the user has no interest in viewing all the results. They are only interested in a few nodes Our Solutions to Browse a Large Number of Exploration Results In TkSee Visualizer, we decide to show only part of the query results if they exceed a certain number, the maximum displayable child number. We design a special box called the extra result box. This looks like a special kind of node. When the query result exceeds the maximum displayable child number, we show the maximum displayable child number of query results along with the extra result box pretending that the remaining query results are hiding inside the box. When a user clicks the box, the current shown query results are replaced with the remaining query results from the box. The user can browse all the query results by keeping clicking the box. On the extra result box, we give the range of the query results (e.g of 50, >100). According to the number, users can know the approximate number of the query results. This helps user to know where they are when they browse the query results. It also helps the user to make the decision whether to refine the specification of the query to decrease the number of exploration results. The Visualizer also offers an exploration search bar to allow user to do search within the query results. Normally the search string is set to * which accepts all query results as 18

29 the search results. When the extra result box is shown after the exploration, the user can specify the search string to filter out the results they are concern with from the complete set of results. An experiment we will discuss later is designed to determine the reasonable default maximum displayable child number on the screen at a time. Also our system allows users to change the number according to their preference before exploration. (1) (2) 19

30 (3) 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* Panning Panning is also supported in TkSee Visualizer. Users can drag the background around to view the whole diagram. 2.4 Summary After analyzing the diverse browsing techniques, we choose to employ dynamic interactive browsing techniques in TkSee Visualizer to browse huge software systems. The tool supports interactive exploration. It can explore multiple relationships on various software entity types. A FIFO deletion policy is used to limit the expanded node number on the screen. Panning is also supported by TkSee Visualizer. An incremental layout algorithm and animations are applied to preserve the mental map. In particular, with the help of pattern based searching function existing in the TkSee and the extra result box mechanism we proposed, Visualizer can handle large exploration results. 20

31 Chapter Three: The Layout Algorithm In this chapter, first we introduce the layout algorithms that are widely used in software visualization. Then we list the layout requirements of TkSee. Based on these requirements, we choose the best layout algorithm for our system and modify it to serve our system better. At the end of this chapter, we give some layout results created by our layout algorithm. 3.1 Literature Review of Related work The layout algorithm is as important an issue in software visualization as the browsing technique. A lot of layout algorithms for different graph types have been developed successfully. Among these algorithms, the tree layout [41], spring model [1], Sugiyama layout [2], radial drawing [44] and incremental layout [37,19] are widely used in software visualization Background of Graph Drawing The basic graph drawing problem can be described as this: given a set of nodes with a set of relations (edges), calculate the position of the nodes and the curve to be drawn for each edge under certain criteria. In order to understand a layout algorithm well, we have to know some basic graph types and the criteria of the graph drawing Types of Graph Drawing Layout algorithms can be categorized with respect to the type of layout they generate. There are three main approaches to how edges can be drawn: Polyline drawing: each edge of the graph is drawn as a polyline chain. 21

32 Straight-line drawing: each edge of the graph is drawn as a straight-line segment. Orthogonal drawing: each edge of the graph is drawn as polyline chain of alternating horizontal and vertical segments. In addition, some other constraints can be placed on the drawing method: Grid drawing: vertices, crossings, and edge bends have integer coordinates. Planar drawing: no two edges cross. Upward (resp. downward) drawing: for acyclic digraphs, each edge is drawn as a curve monotonically nondecreasing (resp. nonincreasing) in the vertical direction. In this thesis, we are primarily interested in directed graphs (also called digraphs): each edge is directed. A directed graph is acyclic if it has no directed cycles. More specifically, we are interested in rooted trees: Rooted Tree: a tree in which one node is designated as the root. [42] Drawing Criteria There are two aspects to the drawing criteria. First, the drawing should satisfy the constraints imposed by the definition of properties and classification of layouts of the applied graph types. Different type of graphs may require different constraints. For example, the layout of the planar graph should avoid 22

33 edge-crossings, while a grid layout should position nodes at points with integer coordinates. Second, the layouts should be pleasing and readable satisfying general aesthetic rules. For example, nodes and edges must be evenly distributed, edges should have similar lengths, edges should, where possible, be straight lines, isomorphic sub-structures should be displayed in the same manner, edge-crossings should be kept to a minimum, etc. According to Purchase s usability study [44], reducing the crossings is the most important aesthetic The Spring Model Layout Algorithm (1) Basics of The Spring Model: The spring layout [1], also called the force-directed method, is a method for creating straight-line drawings; directionality of the graph is not considered. The spring model treats the data layout system as a mechanical system, in which vertices are replaced with steel rings and edges are replaced with springs. The rings are attracted by the springs if they are far apart or repelled if they are too close. All springs in the system have the same length so the layout is symmetrical to satisfy aesthetics. In the spring model, the linear spring force exerted on a ring in Hookes Law is replaced with a logarithmic force since the traditional force is too strong for the data layout system: C1*log(d/C2) (formula 2-1) Where d is the length of the spring, and C1 and C2 are constants. When d=c2, there is no force exerted on the string. Thus C2 is the recommended distance between two nodes. 23

34 Also an inverse square law force is applied in the spring model. It is exerted on the nonrelated vertices to repel then from each other: C3/sqr(d) (formula 2-2) Where C3 is a constant and d is the distance between the vertices. The spring model is heuristic. The algorithm first places the vertices in random locations. Then it calculates the forces on the vertices and moves them toward their stable positions. This operation is repeated a few times until the whole system reaches its minimal energy state or it reaches its maximum calculation time. (2) Properties of the Spring Model: The spring model can give a good layout for undirected graphs. The software visualization tool Shrimp [32] is one of many tools that use this model as one of its layout algorithms. However, the model can be rather slow. Frick s study [45] shows that the workload of the method is O(N 3 ) where N is the number of the nodes in the graph. Moreover, the spring model is highly unpredictable. The layout of almost identical graphs might be very different. Furthermore, vertices, in the spring model, are abstract dots without width and height. When the spring model is used in software visualization, the dots have to be replaced by area-consuming nodes. The size and other geometry features of the nodes should be considered to avoid overlapping in the modeling The Sugiyama Layout Algorithm Sugiyama et al. [2] presented a comprehensive approach to drawing hierarchies. The basic approach is to first assign a layer number to each node according to the relations among the nodes. Then place nodes of a given layer in a certain order to reduce crossings. It can be described as the following four steps: 24

35 Step1 Assign vertices to the layers according to a given set of directed pairwise relations among elements of a system. Arcs are directed downward and vertices are distributed uniformly. If the hierarchy contains long span edges such that some vertices end up in noncontiguous layers, dummy vertices and edges are added in the skipped layers to conform to a proper hierarchy. Step2 Employ the barycentric method (BC) to handle the crossing problem of each twolayer hierarchy. The basic idea of BC is to assign the x-coordinate of each vertex with the barycenter (average) of the x-coordinates of its neighbors (in the other layer) so that the amount of crossing is reduced. A multiple-layer hierarchy can be also worked out with the scheme. First, one separates the whole hierarchy into a few consecutive two-layer hierarchies. Then employs BC to reduce the crossings within each two-layer hierarchy. Then the whole system is done. Step3 Employ the priority layout method (PR) to assign horizontal positions of vertices to reduce the number of bends. A priority number, the connectivity of a vertex to its neighbors, is assigned to each vertex. The vertex with high priority determines its position first. The highest priority number is given to a dummy vertex; its x-coordinate will use the same x-coordinate as its parents. The normal vertices are positioned with their barycenters. The adjustment should preserve the ordering established in the crossing reduction step. If two vertices have the same barycenter, the algorithm moves the one out of the way that has the lower priority. Step 4: display the layout on the terminal. Unfortunately, the Sugiyama algorithm tends to have very poor stability. A small logical change in the graph results in a large change in relative positions of nodes in the drawing. 25

36 3.1.4 Radial Layout A tree is a connected acyclic graph. Within the tree layout category, a variety of algorithms have been invented. These include tree [41], H-tree [43], radial drawing [44], cone tree [23] and tree-maps [28], etc. A classical tree layout will position children nodes below their common ancestor. Radial drawing is a variation of a layered drawing where the root of the tree is placed at the origin and layers are concentric circles centered at the origin. A subtree is then laid out over a sector of the circle. Each node is allocated a sub-sector within the sector assigned to its parent. The size of the sector is proportional to the angular width of that node s subtree. When all the nodes are the same size, the angular width of a node s subtree is simply proportional to the number of leaf nodes among its descendants. The algorithm ensures that two adjacent sectors do not overlap. The radial layout is predictable. However, it gives a less clear view for indicating where the root of the tree is and thus it is not a good method to visualize a hierarchy Incremental Layout Algorithms In the dynamic browsing system, the system displays only a small portion of the full graph; this portion is called a logical frames. Exploration means to move the logical frame along some trajectory to display other parts of the graph. In other words, nodes are added to the diagram or discarded from the screen during the exploration. Compared to static visualizing of a graph, some specific considerations have to be taken to reposition the changed graph. A particular class of layout algorithms, the incremental layout algorithms, has therefore been developed to deal with the requirements. 26

37 The Criteria of the Incremental Algorithm S. C. North [19] summarized three criteria for incremental updating of graphs. They are as follows, listed by the order of the importance: (1) Consistency: adherence to layout style rules of the graph. For example, a tree should always look like a tree during any period of exploration. (2) Stability: make the fewest changes as possible between successive diagrams to preserve the mental map. (3) Readability: the diagrams should satisfy the usual readability criteria for drawing of graphs. They should be pleasing and easy to read The Mental Map Much research has been done to characterize stability between layouts. Misue et al did a lot of work on how people perceive and remember the structure of diagrams. In his paper [14], he discussed what he called the mental map and gave precise rules to reserve it: (1) Orthogonal ordering: the direction of each pair of nodes should be preserved after a layout adjustment (2) Proximity: nodes that are close together before the adjustment should remain close together after the adjustment. (3) Topology: graphical objects inside a region should stay inside that region after a layout adjustment Previous Work Some incremental layout algorithms have been implemented successfully in SV systems. For different graph types, the trajectory to generate new logical frames might be different. Here are examples: 27

38 (1) DynaDAG [19]: DynaDAG is a heuristic algorithm for incremental layout of hierarchies that satisfies proximity and topological stability. It attempts to split a layout adjustment into a few logical steps that incorporate proximity and topological stability. For example, when inserting a node, DynaDAG first moves the node downward along the same X coordinate to the next layer. Then adjusts its Y coordinate to left or to right by the barycenter value. (2) OFDAV: online force-directed animated visualization [37] OFDAV is a system for assisting web document navigation. It modified the forcedirected graph drawing algorithm to minimize the overlaps among the neighborhoods and puts the focus nodes in a straight line to indicate the direction of the exploration. In addition, OFDAV produces a continuous sequence of layouts that satisfy the usual readability drawing criteria. It uses these sequences as in betweening animation frames to smooth the transition between key frames in order to preserve the mental map. 3.2 Layout Approach of TkSee Visualizer In this section, first we summarize the requirements of TkSee Visualizer. Based on these requirements, we choose a general layout algorithm as the basic layout algorithm of TkSee Visualizer. If it is necessary, we modify it a little to make it work better for our system. This is explained below Layout Requirements of TkSee System We summarize the layout requirements for TkSee Visualizer in six points: 28

Hierarchical Data Visualization

Hierarchical Data Visualization Hierarchical Data Visualization 1 Hierarchical Data Hierarchical data emphasize the subordinate or membership relations between data items. Organizational Chart Classifications / Taxonomies (Species and

More information

Graph/Network Visualization

Graph/Network Visualization Graph/Network Visualization Data model: graph structures (relations, knowledge) and networks. Applications: Telecommunication systems, Internet and WWW, Retailers distribution networks knowledge representation

More information

Understand the Sketcher workbench of CATIA V5.

Understand the Sketcher workbench of CATIA V5. Chapter 1 Drawing Sketches in Learning Objectives the Sketcher Workbench-I After completing this chapter you will be able to: Understand the Sketcher workbench of CATIA V5. Start a new file in the Part

More information

TEXT-FILLED STACKED AREA GRAPHS Martin Kraus

TEXT-FILLED STACKED AREA GRAPHS Martin Kraus Martin Kraus Text can add a significant amount of detail and value to an information visualization. In particular, it can integrate more of the data that a visualization is based on, and it can also integrate

More information

Guide To Creating Academic Posters Using Microsoft PowerPoint 2010

Guide To Creating Academic Posters Using Microsoft PowerPoint 2010 Guide To Creating Academic Posters Using Microsoft PowerPoint 2010 INFORMATION SERVICES Version 3.0 July 2011 Table of Contents Section 1 - Introduction... 1 Section 2 - Initial Preparation... 2 2.1 Overall

More information

Visualizing Large Graphs with Compound-Fisheye Views and Treemaps

Visualizing Large Graphs with Compound-Fisheye Views and Treemaps Visualizing Large Graphs with Compound-Fisheye Views and Treemaps James Abello 1, Stephen G. Kobourov 2, and Roman Yusufov 2 1 DIMACS Center Rutgers University {abello}@dimacs.rutgers.edu 2 Department

More information

TABLE OF CONTENTS. INTRODUCTION... 5 Advance Concrete... 5 Where to find information?... 6 INSTALLATION... 7 STARTING ADVANCE CONCRETE...

TABLE OF CONTENTS. INTRODUCTION... 5 Advance Concrete... 5 Where to find information?... 6 INSTALLATION... 7 STARTING ADVANCE CONCRETE... Starting Guide TABLE OF CONTENTS INTRODUCTION... 5 Advance Concrete... 5 Where to find information?... 6 INSTALLATION... 7 STARTING ADVANCE CONCRETE... 7 ADVANCE CONCRETE USER INTERFACE... 7 Other important

More information

Hierarchical Data Visualization. Ai Nakatani IAT 814 February 21, 2007

Hierarchical Data Visualization. Ai Nakatani IAT 814 February 21, 2007 Hierarchical Data Visualization Ai Nakatani IAT 814 February 21, 2007 Introduction Hierarchical Data Directory structure Genealogy trees Biological taxonomy Business structure Project structure Challenges

More information

Agenda. TreeMaps. What is a Treemap? Basics

Agenda. TreeMaps. What is a Treemap? Basics Agenda TreeMaps What is a Treemap? Treemap Basics Original Treemap Algorithm (Slice-and-dice layout) Issues for Treemaps Cushion Treemaps Squarified Treemaps Ordered Treemaps Quantum Treemaps Other Treemaps

More information

VISUALIZING HIERARCHICAL DATA. Graham Wills SPSS Inc., http://willsfamily.org/gwills

VISUALIZING HIERARCHICAL DATA. Graham Wills SPSS Inc., http://willsfamily.org/gwills VISUALIZING HIERARCHICAL DATA Graham Wills SPSS Inc., http://willsfamily.org/gwills SYNONYMS Hierarchical Graph Layout, Visualizing Trees, Tree Drawing, Information Visualization on Hierarchies; Hierarchical

More information

Introduction to Autodesk Inventor for F1 in Schools

Introduction to Autodesk Inventor for F1 in Schools Introduction to Autodesk Inventor for F1 in Schools F1 in Schools Race Car In this course you will be introduced to Autodesk Inventor, which is the centerpiece of Autodesk s digital prototyping strategy

More information

Applying a circular load. Immediate and consolidation settlement. Deformed contours. Query points and query lines. Graph query.

Applying a circular load. Immediate and consolidation settlement. Deformed contours. Query points and query lines. Graph query. Quick Start Tutorial 1-1 Quick Start Tutorial This quick start tutorial will cover some of the basic features of Settle3D. A circular load is applied to a single soil layer and settlements are examined.

More information

What s New V 11. Preferences: Parameters: Layout/ Modifications: Reverse mouse scroll wheel zoom direction

What s New V 11. Preferences: Parameters: Layout/ Modifications: Reverse mouse scroll wheel zoom direction What s New V 11 Preferences: Reverse mouse scroll wheel zoom direction Assign mouse scroll wheel Middle Button as Fine tune Pricing Method (Manufacturing/Design) Display- Display Long Name Parameters:

More information

Hierarchy and Tree Visualization

Hierarchy and Tree Visualization Hierarchy and Tree Visualization Definition Hierarchies An ordering of groups in which larger groups encompass sets of smaller groups. Data repository in which cases are related to subcases Hierarchical

More information

Welcome to CorelDRAW, a comprehensive vector-based drawing and graphic-design program for the graphics professional.

Welcome to CorelDRAW, a comprehensive vector-based drawing and graphic-design program for the graphics professional. Workspace tour Welcome to CorelDRAW, a comprehensive vector-based drawing and graphic-design program for the graphics professional. In this tutorial, you will become familiar with the terminology and workspace

More information

Chapter 1. Creating Sketches in. the Sketch Mode-I. Evaluation chapter. Logon to www.cadcim.com for more details. Learning Objectives

Chapter 1. Creating Sketches in. the Sketch Mode-I. Evaluation chapter. Logon to www.cadcim.com for more details. Learning Objectives Chapter 1 Creating Sketches in Learning Objectives the Sketch Mode-I After completing this chapter you will be able to: Use various tools to create a geometry. Dimension a sketch. Apply constraints to

More information

Interactive Voting System. www.ivsystem.nl. IVS-Basic IVS-Professional 4.4

Interactive Voting System. www.ivsystem.nl. IVS-Basic IVS-Professional 4.4 Interactive Voting System www.ivsystem.nl IVS-Basic IVS-Professional 4.4 Manual IVS-Basic 4.4 IVS-Professional 4.4 1213 Interactive Voting System The Interactive Voting System (IVS ) is an interactive

More information

TIBCO Spotfire Business Author Essentials Quick Reference Guide. Table of contents:

TIBCO Spotfire Business Author Essentials Quick Reference Guide. Table of contents: Table of contents: Access Data for Analysis Data file types Format assumptions Data from Excel Information links Add multiple data tables Create & Interpret Visualizations Table Pie Chart Cross Table Treemap

More information

SuperViz: An Interactive Visualization of Super-Peer P2P Network

SuperViz: An Interactive Visualization of Super-Peer P2P Network SuperViz: An Interactive Visualization of Super-Peer P2P Network Anthony (Peiqun) Yu pqyu@cs.ubc.ca Abstract: The Efficient Clustered Super-Peer P2P network is a novel P2P architecture, which overcomes

More information

NakeDB: Database Schema Visualization

NakeDB: Database Schema Visualization NAKEDB: DATABASE SCHEMA VISUALIZATION, APRIL 2008 1 NakeDB: Database Schema Visualization Luis Miguel Cortés-Peña, Yi Han, Neil Pradhan, Romain Rigaux Abstract Current database schema visualization tools

More information

Layout Tutorial. Getting Started

Layout Tutorial. Getting Started Getting Started Layout Tutorial This tutorial will explain how create a layout template, send views to a layout page, then save the document in PDF format. In this tutorial you will learn about: Creating

More information

an introduction to VISUALIZING DATA by joel laumans

an introduction to VISUALIZING DATA by joel laumans an introduction to VISUALIZING DATA by joel laumans an introduction to VISUALIZING DATA iii AN INTRODUCTION TO VISUALIZING DATA by Joel Laumans Table of Contents 1 Introduction 1 Definition Purpose 2 Data

More information

HierarchyMap: A Novel Approach to Treemap Visualization of Hierarchical Data

HierarchyMap: A Novel Approach to Treemap Visualization of Hierarchical Data P a g e 77 Vol. 9 Issue 5 (Ver 2.0), January 2010 Global Journal of Computer Science and Technology HierarchyMap: A Novel Approach to Treemap Visualization of Hierarchical Data Abstract- The HierarchyMap

More information

Excel -- Creating Charts

Excel -- Creating Charts Excel -- Creating Charts The saying goes, A picture is worth a thousand words, and so true. Professional looking charts give visual enhancement to your statistics, fiscal reports or presentation. Excel

More information

Visualization of Phylogenetic Trees and Metadata

Visualization of Phylogenetic Trees and Metadata Visualization of Phylogenetic Trees and Metadata November 27, 2015 Sample to Insight CLC bio, a QIAGEN Company Silkeborgvej 2 Prismet 8000 Aarhus C Denmark Telephone: +45 70 22 32 44 www.clcbio.com support-clcbio@qiagen.com

More information

Data Visualization. Prepared by Francisco Olivera, Ph.D., Srikanth Koka Department of Civil Engineering Texas A&M University February 2004

Data Visualization. Prepared by Francisco Olivera, Ph.D., Srikanth Koka Department of Civil Engineering Texas A&M University February 2004 Data Visualization Prepared by Francisco Olivera, Ph.D., Srikanth Koka Department of Civil Engineering Texas A&M University February 2004 Contents Brief Overview of ArcMap Goals of the Exercise Computer

More information

AN ABSTRACT OF THE THESIS OF. 20, 2008. Title: DiskGrapher: A Different Approach to Hard Drive Visualization for Mac

AN ABSTRACT OF THE THESIS OF. 20, 2008. Title: DiskGrapher: A Different Approach to Hard Drive Visualization for Mac AN ABSTRACT OF THE THESIS OF John Batch for the degree of Honors Baccalaureate of Science in Electrical and Computer Engineering and Honors Baccalaureate of Science in Computer Science presented on May

More information

GUIDELINES FOR PREPARING POSTERS USING POWERPOINT PRESENTATION SOFTWARE

GUIDELINES FOR PREPARING POSTERS USING POWERPOINT PRESENTATION SOFTWARE Society for the Teaching of Psychology (APA Division 2) OFFICE OF TEACHING RESOURCES IN PSYCHOLOGY (OTRP) Department of Psychology, Georgia Southern University, P. O. Box 8041, Statesboro, GA 30460-8041

More information

Map-like Wikipedia Visualization. Pang Cheong Iao. Master of Science in Software Engineering

Map-like Wikipedia Visualization. Pang Cheong Iao. Master of Science in Software Engineering Map-like Wikipedia Visualization by Pang Cheong Iao Master of Science in Software Engineering 2011 Faculty of Science and Technology University of Macau Map-like Wikipedia Visualization by Pang Cheong

More information

Vector storage and access; algorithms in GIS. This is lecture 6

Vector storage and access; algorithms in GIS. This is lecture 6 Vector storage and access; algorithms in GIS This is lecture 6 Vector data storage and access Vectors are built from points, line and areas. (x,y) Surface: (x,y,z) Vector data access Access to vector

More information

Introduction of Information Visualization and Visual Analytics. Chapter 7. Trees and Graphs Visualization

Introduction of Information Visualization and Visual Analytics. Chapter 7. Trees and Graphs Visualization Introduction of Information Visualization and Visual Analytics Chapter 7 Trees and Graphs Visualization Overview! Motivation! Trees Visualization! Graphs Visualization 1 Motivation! Often datasets contain

More information

Using Microsoft Word. Working With Objects

Using Microsoft Word. Working With Objects Using Microsoft Word Many Word documents will require elements that were created in programs other than Word, such as the picture to the right. Nontext elements in a document are referred to as Objects

More information

Fast Sequential Summation Algorithms Using Augmented Data Structures

Fast Sequential Summation Algorithms Using Augmented Data Structures Fast Sequential Summation Algorithms Using Augmented Data Structures Vadim Stadnik vadim.stadnik@gmail.com Abstract This paper provides an introduction to the design of augmented data structures that offer

More information

Choose a topic from the left to get help for CmapTools.

Choose a topic from the left to get help for CmapTools. Using CmapTools Create a Cmap Add a Concept Create a Proposition from One Concept Create a Proposition from Existing Concepts Save a Cmap Open a Cmap Create a Folder Drag in Resources Import Resources

More information

Unit 7 Quadratic Relations of the Form y = ax 2 + bx + c

Unit 7 Quadratic Relations of the Form y = ax 2 + bx + c Unit 7 Quadratic Relations of the Form y = ax 2 + bx + c Lesson Outline BIG PICTURE Students will: manipulate algebraic expressions, as needed to understand quadratic relations; identify characteristics

More information

The Eyes Have It: A Task by Data Type Taxonomy for Information Visualizations. Ben Shneiderman, 1996

The Eyes Have It: A Task by Data Type Taxonomy for Information Visualizations. Ben Shneiderman, 1996 The Eyes Have It: A Task by Data Type Taxonomy for Information Visualizations Ben Shneiderman, 1996 Background the growth of computing + graphic user interface 1987 scientific visualization 1989 information

More information

WebFOCUS BI Portal: S.I.M.P.L.E. as can be

WebFOCUS BI Portal: S.I.M.P.L.E. as can be WebFOCUS BI Portal: S.I.M.P.L.E. as can be Author: Matthew Lerner Company: Information Builders Presentation Abstract: This hands-on session will introduce attendees to the new WebFOCUS BI Portal. We will

More information

PowerPoint: Graphics and SmartArt

PowerPoint: Graphics and SmartArt PowerPoint: Graphics and SmartArt Contents Inserting Objects... 2 Picture from File... 2 Clip Art... 2 Shapes... 3 SmartArt... 3 WordArt... 3 Formatting Objects... 4 Move a picture, shape, text box, or

More information

Introduction to the TI-Nspire CX

Introduction to the TI-Nspire CX Introduction to the TI-Nspire CX Activity Overview: In this activity, you will become familiar with the layout of the TI-Nspire CX. Step 1: Locate the Touchpad. The Touchpad is used to navigate the cursor

More information

House Design Tutorial

House Design Tutorial Chapter 2: House Design Tutorial This House Design Tutorial shows you how to get started on a design project. The tutorials that follow continue with the same plan. When we are finished, we will have created

More information

Designing a Poster using MS-PowerPoint

Designing a Poster using MS-PowerPoint Designing a Poster using MS-PowerPoint TABLE OF CONTENTS Introduction... 3 Main components of a poster... 3 Setting up your poster... 5 Setting up the document size... 5 Configuring the grid and guides...

More information

Twelve. Figure 12.1: 3D Curved MPR Viewer Window

Twelve. Figure 12.1: 3D Curved MPR Viewer Window Twelve The 3D Curved MPR Viewer This Chapter describes how to visualize and reformat a 3D dataset in a Curved MPR plane: Curved Planar Reformation (CPR). The 3D Curved MPR Viewer is a window opened from

More information

Introduction to Autodesk Inventor for F1 in Schools

Introduction to Autodesk Inventor for F1 in Schools F1 in Schools race car Introduction to Autodesk Inventor for F1 in Schools In this course you will be introduced to Autodesk Inventor, which is the centerpiece of Autodesk s Digital Prototyping strategy

More information

Warning! Construction Zone: Building Solids from Nets

Warning! Construction Zone: Building Solids from Nets Brief Overview: Warning! Construction Zone: Building Solids from Nets In this unit the students will be examining and defining attributes of solids and their nets. The students will be expected to have

More information

8 CREATING FORM WITH FORM WIZARD AND FORM DESIGNER

8 CREATING FORM WITH FORM WIZARD AND FORM DESIGNER 8 CREATING FORM WITH FORM WIZARD AND FORM DESIGNER 8.1 INTRODUCTION Forms are very powerful tool embedded in almost all the Database Management System. It provides the basic means for inputting data for

More information

Instructions for Creating a Poster for Arts and Humanities Research Day Using PowerPoint

Instructions for Creating a Poster for Arts and Humanities Research Day Using PowerPoint Instructions for Creating a Poster for Arts and Humanities Research Day Using PowerPoint While it is, of course, possible to create a Research Day poster using a graphics editing programme such as Adobe

More information

Blender Notes. Introduction to Digital Modelling and Animation in Design Blender Tutorial - week 9 The Game Engine

Blender Notes. Introduction to Digital Modelling and Animation in Design Blender Tutorial - week 9 The Game Engine Blender Notes Introduction to Digital Modelling and Animation in Design Blender Tutorial - week 9 The Game Engine The Blender Game Engine This week we will have an introduction to the Game Engine build

More information

Graphic Design. Background: The part of an artwork that appears to be farthest from the viewer, or in the distance of the scene.

Graphic Design. Background: The part of an artwork that appears to be farthest from the viewer, or in the distance of the scene. Graphic Design Active Layer- When you create multi layers for your images the active layer, or the only one that will be affected by your actions, is the one with a blue background in your layers palette.

More information

Anamorphic Projection Photographic Techniques for setting up 3D Chalk Paintings

Anamorphic Projection Photographic Techniques for setting up 3D Chalk Paintings Anamorphic Projection Photographic Techniques for setting up 3D Chalk Paintings By Wayne and Cheryl Renshaw. Although it is centuries old, the art of street painting has been going through a resurgence.

More information

ClarisWorks 5.0. Graphics

ClarisWorks 5.0. Graphics ClarisWorks 5.0 Graphics Level 1 Training Guide DRAFT Instructional Technology Page 1 Table of Contents Objectives... Page 3 Course Description and Organization... Page 4 Technology Requirements... Page

More information

What is Visualization? Information Visualization An Overview. Information Visualization. Definitions

What is Visualization? Information Visualization An Overview. Information Visualization. Definitions What is Visualization? Information Visualization An Overview Jonathan I. Maletic, Ph.D. Computer Science Kent State University Visualize/Visualization: To form a mental image or vision of [some

More information

Presented by Peiqun (Anthony) Yu

Presented by Peiqun (Anthony) Yu Presented by Peiqun (Anthony) Yu A Multi-Scale, Multi-Layer, Translucent Virtual Space Henry Lieberman, IEEE International Conference on Information Visualization, London, September 1997. Constant Information

More information

Data Visualization. Brief Overview of ArcMap

Data Visualization. Brief Overview of ArcMap Data Visualization Prepared by Francisco Olivera, Ph.D., P.E., Srikanth Koka and Lauren Walker Department of Civil Engineering September 13, 2006 Contents: Brief Overview of ArcMap Goals of the Exercise

More information

How To Create A View Frame In 3D

How To Create A View Frame In 3D 12/4/2008-10:00 am - 11:30 am Room:Palazzo O-P (5th) The Secrets of Cutting Plan and Profile Sheets in AutoCAD Civil 3D Michelle Rasmussen - Application Engineer, IMAGINiT Technologies CV304-1P In this

More information

Visualization Techniques in Data Mining

Visualization Techniques in Data Mining Tecniche di Apprendimento Automatico per Applicazioni di Data Mining Visualization Techniques in Data Mining Prof. Pier Luca Lanzi Laurea in Ingegneria Informatica Politecnico di Milano Polo di Milano

More information

Tutorial: Biped Character in 3D Studio Max 7, Easy Animation

Tutorial: Biped Character in 3D Studio Max 7, Easy Animation Tutorial: Biped Character in 3D Studio Max 7, Easy Animation Written by: Ricardo Tangali 1. Introduction:... 3 2. Basic control in 3D Studio Max... 3 2.1. Navigating a scene:... 3 2.2. Hide and Unhide

More information

Design document Goal Technology Description

Design document Goal Technology Description Design document Goal OpenOrienteering Mapper is a program to draw orienteering maps. It helps both in the surveying and the following final drawing task. Support for course setting is not a priority because

More information

Table of Contents. I. Banner Design Studio Overview... 4. II. Banner Creation Methods... 6. III. User Interface... 8

Table of Contents. I. Banner Design Studio Overview... 4. II. Banner Creation Methods... 6. III. User Interface... 8 User s Manual Table of Contents I. Banner Design Studio Overview... 4 II. Banner Creation Methods... 6 a) Create Banners from scratch in 3 easy steps... 6 b) Create Banners from template in 3 Easy Steps...

More information

MMGD0203 Multimedia Design MMGD0203 MULTIMEDIA DESIGN. Chapter 3 Graphics and Animations

MMGD0203 Multimedia Design MMGD0203 MULTIMEDIA DESIGN. Chapter 3 Graphics and Animations MMGD0203 MULTIMEDIA DESIGN Chapter 3 Graphics and Animations 1 Topics: Definition of Graphics Why use Graphics? Graphics Categories Graphics Qualities File Formats Types of Graphics Graphic File Size Introduction

More information

Plotting: Customizing the Graph

Plotting: Customizing the Graph Plotting: Customizing the Graph Data Plots: General Tips Making a Data Plot Active Within a graph layer, only one data plot can be active. A data plot must be set active before you can use the Data Selector

More information

Improvements of Space-Optimized Tree for Visualizing and Manipulating Very Large Hierarchies

Improvements of Space-Optimized Tree for Visualizing and Manipulating Very Large Hierarchies Improvements of Space-Optimized Tree for Visualizing and Manipulating Very Large Hierarchies Quang Vinh Nguyen and Mao Lin Huang Faculty of Information Technology University of Technology, Sydney, Australia

More information

An introduction to 3D draughting & solid modelling using AutoCAD

An introduction to 3D draughting & solid modelling using AutoCAD An introduction to 3D draughting & solid modelling using AutoCAD Faculty of Technology University of Plymouth Drake Circus Plymouth PL4 8AA These notes are to be used in conjunction with the AutoCAD software

More information

ArchiCAD Tutorial Getting started. Dr. Benny Raphael Dept. of Building National University of Singapore (NUS)

ArchiCAD Tutorial Getting started. Dr. Benny Raphael Dept. of Building National University of Singapore (NUS) ArchiCAD Tutorial Getting started Dr. Benny Raphael Dept. of Building National University of Singapore (NUS) Launch ArchiCAD You can either create a new project or open an existing (previously saved) project.

More information

Access 2007 Creating Forms Table of Contents

Access 2007 Creating Forms Table of Contents Access 2007 Creating Forms Table of Contents CREATING FORMS IN ACCESS 2007... 3 UNDERSTAND LAYOUT VIEW AND DESIGN VIEW... 3 LAYOUT VIEW... 3 DESIGN VIEW... 3 UNDERSTAND CONTROLS... 4 BOUND CONTROL... 4

More information

Voronoi Treemaps in D3

Voronoi Treemaps in D3 Voronoi Treemaps in D3 Peter Henry University of Washington phenry@gmail.com Paul Vines University of Washington paul.l.vines@gmail.com ABSTRACT Voronoi treemaps are an alternative to traditional rectangular

More information

Squarified Treemaps. Mark Bruls, Kees Huizing, and Jarke J. van Wijk

Squarified Treemaps. Mark Bruls, Kees Huizing, and Jarke J. van Wijk Squarified Treemaps Mark Bruls, Kees Huizing, and Jarke J. van Wijk Eindhoven University of Technology Dept. of Mathematics and Computer Science, P.O. Box 513, 500 MB Eindhoven, The Netherlands emailfkeesh,

More information

KaleidaGraph Quick Start Guide

KaleidaGraph Quick Start Guide KaleidaGraph Quick Start Guide This document is a hands-on guide that walks you through the use of KaleidaGraph. You will probably want to print this guide and then start your exploration of the product.

More information

Chapter 9. Editing Features. Learning Objectives

Chapter 9. Editing Features. Learning Objectives Chapter 9 Editing Features Learning Objectives After completing this chapter, you will be able to: Edit features. Edit sketches of the sketch based features. Edit the sketch plane of the sketch based features.

More information

TIBCO Spotfire Network Analytics 1.1. User s Manual

TIBCO Spotfire Network Analytics 1.1. User s Manual TIBCO Spotfire Network Analytics 1.1 User s Manual Revision date: 26 January 2009 Important Information SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCH EMBEDDED OR BUNDLED TIBCO

More information

Fireworks CS4 Tutorial Part 1: Intro

Fireworks CS4 Tutorial Part 1: Intro Fireworks CS4 Tutorial Part 1: Intro This Adobe Fireworks CS4 Tutorial will help you familiarize yourself with this image editing software and help you create a layout for a website. Fireworks CS4 is the

More information

Space-filling Techniques in Visualizing Output from Computer Based Economic Models

Space-filling Techniques in Visualizing Output from Computer Based Economic Models Space-filling Techniques in Visualizing Output from Computer Based Economic Models Richard Webber a, Ric D. Herbert b and Wei Jiang bc a National ICT Australia Limited, Locked Bag 9013, Alexandria, NSW

More information

Overview of the Adobe Flash Professional CS6 workspace

Overview of the Adobe Flash Professional CS6 workspace Overview of the Adobe Flash Professional CS6 workspace In this guide, you learn how to do the following: Identify the elements of the Adobe Flash Professional CS6 workspace Customize the layout of the

More information

Formulas, Functions and Charts

Formulas, Functions and Charts Formulas, Functions and Charts :: 167 8 Formulas, Functions and Charts 8.1 INTRODUCTION In this leson you can enter formula and functions and perform mathematical calcualtions. You will also be able to

More information

Solutions from SAP. SAP Business One 2005 SP01. User Interface. Standards and Guidelines. January 2006

Solutions from SAP. SAP Business One 2005 SP01. User Interface. Standards and Guidelines. January 2006 Solutions from SAP SAP Business One 2005 SP01 User Interface Standards and Guidelines January 2006 Table of Contents Icons... 5 Typographic Conventions... 5 1. Overview... 6 2. General Issues... 6 2.1

More information

CATIA Functional Tolerancing & Annotation TABLE OF CONTENTS

CATIA Functional Tolerancing & Annotation TABLE OF CONTENTS TABLE OF CONTENTS Introduction...1 Functional Tolerancing and Annotation...2 Pull-down Menus...3 Insert...3 Functional Tolerancing and Annotation Workbench...4 Bottom Toolbar Changes...5 3D Grid Toolbar...5

More information

AutoCAD Architecture 2012 UK Content Tools

AutoCAD Architecture 2012 UK Content Tools AutoCAD Architecture 2012 UK Content Tools Contents Contents... 1 Installation... 2 Loading the utilities... 2 Utilities Overview... 3 Menu and Toolbar... 3 Content Generation... 3 Content Publishing...

More information

How to build text and objects in the Titler

How to build text and objects in the Titler How to build text and objects in the Titler You can use the Titler in Adobe Premiere Pro to create text and geometric objects. There are three methods for creating text, each capable of producing either

More information

Creating Your Own 3D Models

Creating Your Own 3D Models 14 Creating Your Own 3D Models DAZ 3D has an extensive growing library of 3D models, but there are times that you may not find what you want or you may just want to create your own model. In either case

More information

Participant Guide RP301: Ad Hoc Business Intelligence Reporting

Participant Guide RP301: Ad Hoc Business Intelligence Reporting RP301: Ad Hoc Business Intelligence Reporting State of Kansas As of April 28, 2010 Final TABLE OF CONTENTS Course Overview... 4 Course Objectives... 4 Agenda... 4 Lesson 1: Reviewing the Data Warehouse...

More information

Tutorial: 2D Pipe Junction Using Hexa Meshing

Tutorial: 2D Pipe Junction Using Hexa Meshing Tutorial: 2D Pipe Junction Using Hexa Meshing Introduction In this tutorial, you will generate a mesh for a two-dimensional pipe junction, composed of two inlets and one outlet. After generating an initial

More information

Create a Poster Using Publisher

Create a Poster Using Publisher Contents 1. Introduction 1. Starting Publisher 2. Create a Poster Template 5. Aligning your images and text 7. Apply a background 12. Add text to your poster 14. Add pictures to your poster 17. Add graphs

More information

Ohio University Computer Services Center August, 2002 Crystal Reports Introduction Quick Reference Guide

Ohio University Computer Services Center August, 2002 Crystal Reports Introduction Quick Reference Guide Open Crystal Reports From the Windows Start menu choose Programs and then Crystal Reports. Creating a Blank Report Ohio University Computer Services Center August, 2002 Crystal Reports Introduction Quick

More information

The Essential Guide to User Interface Design An Introduction to GUI Design Principles and Techniques

The Essential Guide to User Interface Design An Introduction to GUI Design Principles and Techniques The Essential Guide to User Interface Design An Introduction to GUI Design Principles and Techniques Third Edition Wilbert O. Galitz l 1 807 : WILEYp Wiley Publishing, Inc. Contents About the Author Preface

More information

10. THERM DRAWING TIPS

10. THERM DRAWING TIPS 10. THERM DRAWING TIPS 10.1. Drawing Tips The THERM User's Manual describes in detail how to draw cross-sections in THERM. This section of the NFRC Simualation Training Manual presents some additional

More information

2013 Getting Started Guide

2013 Getting Started Guide 2013 Getting Started Guide The contents of this guide and accompanying exercises were originally created by Nemetschek Vectorworks, Inc. Vectorworks Fundamentals Getting Started Guide Created using: Vectorworks

More information

Solving Simultaneous Equations and Matrices

Solving Simultaneous Equations and Matrices Solving Simultaneous Equations and Matrices The following represents a systematic investigation for the steps used to solve two simultaneous linear equations in two unknowns. The motivation for considering

More information

DWGSee Professional User Guide

DWGSee Professional User Guide DWGSee Professional User Guide DWGSee is comprehensive software for viewing, printing, marking and sharing DWG files. It is fast, powerful and easy-to-use for every expert and beginners. Starting DWGSee

More information

SAS BI Dashboard 4.3. User's Guide. SAS Documentation

SAS BI Dashboard 4.3. User's Guide. SAS Documentation SAS BI Dashboard 4.3 User's Guide SAS Documentation The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2010. SAS BI Dashboard 4.3: User s Guide. Cary, NC: SAS Institute

More information

Getting Started in Tinkercad

Getting Started in Tinkercad Getting Started in Tinkercad By Bonnie Roskes, 3DVinci Tinkercad is a fun, easy to use, web-based 3D design application. You don t need any design experience - Tinkercad can be used by anyone. In fact,

More information

A Comparison of 2-D Visualizations of Hierarchies

A Comparison of 2-D Visualizations of Hierarchies A Comparison of 2-D Visualizations of Hierarchies Todd Barlow Padraic Neville SAS Institute Inc. todd.barlow@sas.com padraic.neville@sas.com Abstract This paper describes two experiments that compare four

More information

DataPA OpenAnalytics End User Training

DataPA OpenAnalytics End User Training DataPA OpenAnalytics End User Training DataPA End User Training Lesson 1 Course Overview DataPA Chapter 1 Course Overview Introduction This course covers the skills required to use DataPA OpenAnalytics

More information

CATIA Drafting TABLE OF CONTENTS

CATIA Drafting TABLE OF CONTENTS TABLE OF CONTENTS Introduction...1 Drafting...2 Drawing Screen...3 Pull-down Menus...4 File...4 Edit...5 View...6 Insert...7 Tools...8 Drafting Workbench...9 Views and Sheets...9 Dimensions and Annotations...10

More information

Autodesk Fusion 360: Assemblies. Overview

Autodesk Fusion 360: Assemblies. Overview Overview In this module you will learn how different components can be put together to create an assembly. We will use several tools in Fusion 360 to make sure that these assemblies are constrained appropriately

More information

Visualization Quick Guide

Visualization Quick Guide Visualization Quick Guide A best practice guide to help you find the right visualization for your data WHAT IS DOMO? Domo is a new form of business intelligence (BI) unlike anything before an executive

More information

Course Project Lab 3 - Creating a Logo (Illustrator)

Course Project Lab 3 - Creating a Logo (Illustrator) Course Project Lab 3 - Creating a Logo (Illustrator) In this lab you will learn to use Adobe Illustrator to create a vector-based design logo. 1. Start Illustrator. Open the lizard.ai file via the File>Open

More information

Grade 5 Math Content 1

Grade 5 Math Content 1 Grade 5 Math Content 1 Number and Operations: Whole Numbers Multiplication and Division In Grade 5, students consolidate their understanding of the computational strategies they use for multiplication.

More information

SketchUp Instructions

SketchUp Instructions SketchUp Instructions Every architect needs to know how to use SketchUp! SketchUp is free from Google just Google it and download to your computer. You can do just about anything with it, but it is especially

More information

Tutorials. If you have any questions, comments, or suggestions about these lessons, don't hesitate to contact us at support@kidasa.com.

Tutorials. If you have any questions, comments, or suggestions about these lessons, don't hesitate to contact us at support@kidasa.com. Tutorials The lesson schedules for these tutorials were installed when you installed Milestones Professional 2010. They can be accessed under File Open a File Lesson Chart. If you have any questions, comments,

More information

Lession: 2 Animation Tool: Synfig Card or Page based Icon and Event based Time based Pencil: Synfig Studio: Getting Started: Toolbox Canvas Panels

Lession: 2 Animation Tool: Synfig Card or Page based Icon and Event based Time based Pencil: Synfig Studio: Getting Started: Toolbox Canvas Panels Lession: 2 Animation Tool: Synfig In previous chapter we learn Multimedia and basic building block of multimedia. To create a multimedia presentation using these building blocks we need application programs

More information