簡易檢索 / 詳目顯示

研究生: 曾建智
論文名稱: 圖形的即時3D碰撞演算法
Collision-Based 3D Layout Algorithm for On-line Graph Visualization in DIVA
指導教授: 鄭永斌
學位類別: 碩士
Master
系所名稱: 資訊工程學系
Department of Computer Science and Information Engineering
論文出版年: 2008
畢業學年度: 96
語文別: 中文
論文頁數: 46
中文關鍵詞: 輸出演算法視覺化方法軟體視覺化除錯器
英文關鍵詞: Layout Algorithm, Visualization Metaphor, Software Visualization, Debugger
論文種類: 學術論文
相關次數: 點閱:127下載:4
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 隨著程式的複雜化,一般傳統的除錯方法對於程式設計師的幫助有限,因此除錯器的開發對於程式設計師而言,變的越來越不可或缺。目前的除錯器大部分仍止於文字階段,然而文字所能傳達的僅僅只有變數值的變化,難以表達資料結構間複雜的關係。,因此更近一步地,有人設計出可以使用圖形化的方式來表達程式的資料之間相互關係的工具。比起文字,透過圖形化的表現方式,往往能讓程式設計師更加快速且直覺化的掌握程式的脈絡。然而,一但在圖形數量一多,圖形之間可能會互相的重疊與覆蓋(在本論文中用「碰撞」來稱呼重疊與覆蓋),以至於整個畫面的可讀性隨之下滑,所以視覺化物件畫面中的排版就變的非常的重要。因此,我們的研究目標,就是透過適合的演算法讓空間中的物件都有各自的一塊獨立空間,將空間中的除錯資訊做較佳的輸出,提高整體的可讀性。
    於本篇論文中,我們針對空間中碰撞的問題在DIVA(Debugging Information Visualization Assistant)的三維空間環境中設計了一套排版列演算法。藉由此套演算法,可以處理空間中碰撞的問題,已達到較佳的視覺效果。

    Because of the increase in complexity of software programs, debugging without help from tools is no longer adequate. Therefore, debugger has become an important tool in programmer’s everyday life. Nowadays, debuggers only show the debugging information in textual form. It is considered inadequate for understanding complicated data structures. There are some debugging tools that can display debugging information in graphic presentation, which is much more informative than textual information.
    However, it is useless when too much information is rendered together. In this thesis, a tool called DIVA(Debugging Information Visualization Assistant) is proposed. DIVA has object-oriented framework that enables the separation of VM programming from visualization system and particularly the composability of visualization metaphors. Based on the framework, a layout algorithm called Collision-Based layout algorithm is designed and implemented to arrange visuals in proper positions in a scene.

    中文摘要 i Abstract ii 誌謝 iii 目錄 iv 圖表目錄 v 第1章 緒論 1 1.1. Overview 1 1.2. 論文架構 5 第2章 研究背景 6 2.1. 除錯器 (Debugger) 6 2.1.1. GDB 7 2.1.2. JDB 8 2.1.3. DDD 8 2.2. 軟體視覺化 (software visualization) 10 2.2.1. 視覺化隱喻 (Visualization Metaphor) 11 2.2.2. CodeCrawler 13 2.2.3. GV3D (GraphVisualizer3D) 15 2.2.4. BLOOM 16 2.3. Layout Problem in Visualization 17 2.3.1. 2D VS. 3D 18 2.3.2. Graphviz 19 第3章 DIVA 簡介 21 3.1. 架構與系統元件 21 3.2. VM 設計架構 23 3.2.1. Primitive type VM 24 3.2.2. Reference type VM (Binary-Relation VM) 25 3.2.3. Composite VM (many-to-one relation VM) 26 3.2.4. Layout type VM 27 第4章 Collision-Based Layout VM 29 4.1. 動機 30 4.2. VM Relation Structure (VMRS) 31 4.3. Collision-Based Layout VM 32 第5章 Queue Composite VM 42 5.1. 動機 42 5.2. Queue Composite VM 43 結論 46 Reference 47

    [1]. Emden R. Gansner ,Eleftherios Koutsofios, Stephen C. North, and Kiem-Phong, A technique for drawing directed graphs. IEEE transactions on Software Engineering, vol 19,NO.3, pp. 214-230, 1993
    [2]. J. B. Rosenberg, How Debuggers Work: Algorithms, Data Structure, and Architecture, John Wiley & Sons. , September 27, 1996
    [3]. Dr. Adam Kolawa, Parasoft, The Evolution of Software Debugging, http://www.parasoft.com/jsp/products/artical.jsp?articalId=490
    [4]. R. M. Stallman, R. Pesch and S. Shebs, Debugging with GDB: The GNU Source-Level Debugger, Copyright (C) 1988-2006, Free Software Foundation, Inc. http://www.gnu.org/software/gdb/documentation/
    [5]. Omniscient Debugging ”Because the Debugger Knows Everything”, February 18 2007. http://www.lambdacs.com/debugger/debugger.html
    [6]. A. Zeller, “Debugging with DDD”, Copyright (C) 2000 Free Software Foundation, Inc. http://www.gnu.org/manual/ddd/pdf/ddd.pdf
    [7]. B. A. Price, R. M. Baecker and I. S. Small, A Principled Taxonomy of Software Visualization, Journal of Visual Languages and Computing 4(3), September 1993, p211-266
    [8]. J. T. Stasko, J. B. Domingue, M. H. Brown and B. A. Price, “Software Visualization”, ISBN-13:978-0-262-19395-5, 1998
    [9]. Knight, Munro, “Visualising Software - A Key Research Area”, Proceedings of the IEEE International Conference on Software Maintenance ,page: 437, 1999
    [10]. M. Lanza, “CodeCrawler – An Extensible and Language Independent 2D and 3D Software Visualization Tool”, In ”Tools for Software Maintenance and Reengineering”, page:74 - 94, RCOST / Software Technology Series. Franco Angeli, 2005
    [11]. M. Lanza and S. Ducasse “Polymetric Views—A Lightweight Visual Approach to Reverse Engineering”, IEEE Transactions on Software Engineering archive, volume 29, Issue 9, pages:78 -795, 2003
    [12]. 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
    [13]. A.Nganou, R. Al-Amad, S. Shi and X. Xian, Software Visualization 2D versus 3D, Department of Computer Science Concordia University, 2001
    [14]. Emden Gansner and Eleftherios Koutsofios and Stephen North, Drawing graphs with dot, January 26, 2006

    下載圖示
    QR CODE