簡易檢索 / 詳目顯示

研究生: 邱明杰
論文名稱: 樹狀結構的輸出設計與實作
The Design and Implementation of Tree Layout Visualization Metaphor for DIVA
指導教授: 鄭永斌
學位類別: 碩士
Master
系所名稱: 資訊教育研究所
Graduate Institute of Information and Computer Education
論文出版年: 2007
畢業學年度: 95
語文別: 英文
論文頁數: 44
中文關鍵詞: 輸出演算法視覺化方法軟體視覺化除錯器
英文關鍵詞: Layout Algorithm, Visualization Metaphor, Software Visualization, Debugger
論文種類: 學術論文
相關次數: 點閱:144下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 除錯器是程式設計師在進行程式偵錯時,很常使用的輔助工具。通常除錯器會內嵌在整合開發環境中,並且提供程式設計師文字的除錯資訊。受限於文字所能傳達的僅僅只有變數值的變化,因此更進一步地,有人設計出可以使用二維空間來表達程式間相互關係的工具。比起文字,透過二維空間圖形化的表現方式,往往能讓程式設計師更加快速且直覺化的掌握程式的脈絡。然而,一旦在二維空間中的圖形數量一多,則整個畫面的呈現往往會充斥著許多用來表達程式內部關係的「線」,以致於使得整個畫面的可讀性也隨之下滑。因此,我們的研究目標,就是藉由將除錯器的維度增大到三維,並透過適合的演算法,將三維空間中的除錯資訊作較佳的輸出。
    於本篇論文中,我們針對樹狀資料結構在DIVA (Debugging Information Visualization Assistant)的三維空間環境中設計了一套排列的演算法。藉由此套演算法,可以將樹狀資料結構在三維空間的環境中作適合的排列,以達到較佳的視覺效果。

    Debugger is a tool that programmers use to find the bugs in the program. It typically provides textual debugging information to programmer and is usually combined into the IDE (Integrated Development Environment). Because the textual debugging information only displays numerical values of variables, it is considered inadequate for understanding complicated data structures. There are some debugging tools that can display debugging information in 2-dimension, which is more understandable than textual information. However, rendering data in a 2-D display is often limited by the view port. When too much information is rendered together, it is useless. In this thesis, not only do we extend the rendering to 3-D but also design an object-oriented framework which enables the separation of VM programming from visualization system and particularly the compositionality of visualization metaphors.. An experimental layout visualization metaphor under the framework is implemented to rendering tree data structure, a commonly used data structure during programming.

    中文摘要 i Abstract ii Acknowledgement iii TABLE OF CONTENTS iv LIST OF TABLES vi LIST OF FIGURES vii Chapter 1 Introduction 1 1.1. Overview 1 1.2. Organization 5 Chapter 2 Background 6 2.1. Debugger 6 2.1.1. GDB 7 2.1.2. JDB 8 2.1.3. DDD 8 2.2. Software Visualization 9 2.2.1. CodeCrawler 11 2.2.2. GraphVisualizer3D 12 2.2.3. Vizz3D 14 2.2.4. BLOOM 15 2.3. Layout 15 2.3.1. 2D layout versus 3D layout 16 2.3.2. dotty 17 Chapter 3 DIVA Overview and Architecture 20 3.1. An Overview of DIVA 20 3.2. System Architecture of DIVA 20 3.3. DIVA Component Description 22 3.3.1. YaJDB 22 3.3.2. Command Agent 24 3.3.3. Watched Object Pool Module 26 Chapter 4 Object-Oriented Framework for VM Programming 28 4.1. Design Concept of VM Programming 28 4.2. The Framework of VM Programming 29 4.3. The Types of VM 30 4.3.1. Primitive Type VM (PTVM) 30 4.3.2. Label VM (LBVM) 32 4.3.3. Reference VM (RTVM) 32 4.3.4. Composite VM (CVM) 33 4.3.5. Layout VM (LVM) 35 Chapter 5 Design and Implementation of Tree Composite VM 36 5.1. Layout Algorithm 36 5.1.1. Determine VM Sizes 38 Chapter 6 Conclusions and Future Work 40 6.1. Conclusions 40 6.2. Future Work 41 Reference 42

    [1] K.-D. Feng, A Device-independent Object-oriented Framework for 3D Visualization Metaphor Programming in DIVINE, Information and Computer Education, National Taiwan Normal University, Taipei, 2005.
    [2] M. Lanza, CodeCrawler—Lessons Learned in Building a Software Visualization Tool, Proceedings of the Seventh European Conference On Software Maintenance And Reengineering (CSMR’03), 2003.
    [3] S. P. Reiss, An Overview of BLOOM, Proceedings of the ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering PASTE '01, 2001.
    [4] Y.-L. Jan, Towards General-Purpose Program Animation, Information and Computer Education, National Taiwan Normal University, Taipei, 2006.
    [5] A. Zeller, Debugging with DDD, University Passau, First edition, January 2000.
    [6] R. M. Stallman, R. Pesch and S. Shebs, GDB Manual: The GNU Source-Level Debugger, Third edition, Free Software Foundation, Cambridge, MA, January 1989.
    [7] J. B. Rosenberg, How Debuggers Work: Algorithms, Data Structures, and Architecture, John Wiley & Sons.
    [8] A. Kolawa, The Evolution of Software Debugging Parasoft http://www.parasoft.com/papers/vision.htm.
    [9] H. Agrawal, R. A. DeMillo and E. H. Spafford, An Execution-Backtracking Approach to Debugging, IEEE Softw., 8 (1991), pp. 21-26.
    [10] P. CRESCENZI, C. DEMETRESCU, I. FINOCCHI and R. PETRESCHI, Reversible Execution and Visualization of Programs with LEONARDO, Journal of Visual Languages & Computing, 11 (2000), pp. 125-150.
    [11] B. Lewis, Debugging backwards in time, in M. Ronsse, ed., Proceedings of the Fifth International Workshop on Automated Debugging, Ghent, Belgium, 2003.
    [12] G.-C Roman, Kenneth C. Cox, A Taxonomy of Program Visualization Systems, Computer 26, 11-24.
    [13] J. Stasko, M. H. Brown, and B. A. Price, Software Visualization, MIT press, 1998.
    [14] P. Young, Software Visualization, Visualization Research Group Centre for Software Maintenance, Department of Computer Science, University of Durham, 18 June, 1996.
    [15] S. P. Reiss, M. Renieris, The BLOOM Visualization System, Department of Computer Science, Brown University, 2002.
    [16] G. Franck, M. Sardesai and C. Ware, Layout and Structuring Object Oriented Software in Three Dimensions, Proceedings of the conference of the Centre for Advanced Studies on Collaborative research CASCON '95, 1995.
    [17] C. Ware, G. Franck, M. Parkhi and T. Dudley, Layout for Visualizing Large Software Structures in 3D, Proceedings of 2nd internal conference on Visual Information System, 2000.
    [18] T. Panas, R. Lincke and W. Löwe, Online-Configuration of Software Visualizations with Vizz3D, Proceedings of the 2005 ACM symposium on Software visualization SoftVis '05.
    [19] J. Carlsson, Optimisation of a Graph Visualization Tool: Vizz3D.
    [20] Hideki Koike, The Role of Another Spatial Dimension in Software Visualization, ACM Transactions on Information System, 11(3): 266-286, July 1993.
    [21] A.Nganou, R. Al-Amad, S. Shi and X. Xian, Software Visualization 2D versus 3D, Department of Computer Science Concordia University, 2001.
    [22] G. G. Robertson, S. K. Card, and J. D. Mackinlay, information Visualization Using 3D Interactive Animation, Communications of the ACM, 36(4), pages 57-71, 1993.
    [23] J. I. Maletic, J. Leigh and A. Marcus, Visualizing software in an immersive virtual reality environment, In ICSE’01 Workshop on Software Visualization, pages 49-54, Toronto, CA, 2001.
    [24] A. Klaus, F. Alexander and E. Frank, Experiences in 3-Dimensional Visualization of Java Class Relations, Technical Report SWT-Memo 117, 2001.
    [25] W.-L. Lee, M. Green, A layout framework for 3D user interfaces, Proceedings of the ACM symposium on Virtual reality software and technology VRST’05, 2005.
    [26] S. North, E. Koutsofios, Applications of Graph Visualization, Proceeding of Graphics Interface, 1994.
    [27] Graphviz, http://www.graphviz.org/
    [28] OGRE, http://www.ogre3D.org/

    QR CODE