簡易檢索 / 詳目顯示

研究生: 洪千惠
Chien-Hui Hung
論文名稱: 在DIVA中聚焦之基本型VM以及參照型VM之設計與實作
The Design and Implementation of Object and Reference Visualization Metaphor with Focus
指導教授: 鄭永斌
Cheng, Yung-Pin
學位類別: 碩士
Master
系所名稱: 資訊教育研究所
Graduate Institute of Information and Computer Education
論文出版年: 2007
畢業學年度: 95
語文別: 中文
論文頁數: 51
中文關鍵詞: 輸出演算法視覺化方法軟體視覺化除錯器
英文關鍵詞: Layout Algorithm, Visualization Metaphor, Software Visualization, Debugger
論文種類: 學術論文
相關次數: 點閱:141下載:4
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 隨著程式的複雜化,一般傳統的除錯方法對於程式設計師的幫助有限,因此除錯器的開發對於程式設計而言,變的越來越不可或缺。然而目前的除錯器大部份仍止於文字階段,在於表現變數內容方面或許勉強可行,但對於呈現出複雜的資料結構或程式執行的變化等,卻無法直觀的來了解。程式人員仍須經過一翻整理之後才能從中獲取資訊。
    為了提供程式設計師能夠快速的從除錯器中獲取除錯的資訊,本實驗室提供了一個視覺化的3D除錯器工具-DIVA (Debugging Information Visualization Assistant),結合了另一套本實驗室開發的除錯器-YaJDB,可針對Java程式做視覺化的除錯,以及呈現出最即時的動態除錯資訊給程式設計師使用。
    能夠視覺化任意的程式行為是極為困難的。針對這個難題,DIVA將視覺化隱喻(visualization metaphor, VM)與其呈現的資料做某種隔離。本論文並將視覺化隱喻分成基本五大類。廣義視覺化的困然將由這幾大類的排列組合,逐步的獲得解決。在這篇論文中,我們將扮演視覺化隱喻設計師(VM programmer)的角色,來設計與實作其中三種的視覺化隱喻,並加入了以動態方式來呈現的想法。

    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. However, debuggers nowadays only show the debugging information in textual form. It may be adequate for showing the value of variables, but it can’t actually show the information of complex data structure or the changes during between break points.
    To provide a debugger to address the problem, we develop a 3D visualization debugging tool-DIVA (Debugging Information Visualization Assistant) which combines a debugger, YaJDB. The DIVA can debug JAVA program visually and shows the instantaneous debugging information for programmer.
    To visualize arbitrary programs is a difficult and challenging objective. In this thesis, we propose an object-oriented framework which can separate visualization metaphor (VM) programming from visualization system. An important contribution of this thesis is classifying VM into five basic types and new VMs can be composed from the VMs of these five types. Three very basic VMs have been implemented to demonstrate the effectiveness of DIVA design.

    中文摘要 i Abstract ii 感謝文 iii 目錄 iv 圖表 vi 第1章 緒論 1 1.1 研究動機 1 1.2 論文架構 5 第2章 研究背景 6 2.1 除錯器 (Debugger) 6 2.1.1 JDB 7 2.1.2 GDB 8 2.1.3 DDD 9 2.1.4 ODB 11 2.2 軟體視覺化 (software visualization) 12 2.2.1 視覺化 (visualization) 12 2.2.2 軟體視覺化 (software visualization) 13 2.2.3 為什麼要做三維空間的視覺化? 14 2.2.4 軟體視覺化工具–DOT 15 2.2.5 軟體視覺化工具–BLOOM 16 2.3 描繪引擎 (rendering engine) 18 2.3.1 遊戲引擎 (game engine) 18 2.3.2 OGRE 18 2.3.3 場景圖 (Scene Graph) 20 第3章 DIVA與YaJDB系統架構 22 3.1 DIVA系統架構 22 3.1.1 WOP Server Thread 22 3.1.2 Command Agent 24 3.1.3 WOPM 25 3.1.4 DIVA UI(DIVA user interface) 26 3.2 YaJDB系統架構 27 3.2.1 使用者介面 27 3.2.2 JDB Server Thread 28 3.3 JDB和DIVA之間的溝通 30 第4章 視覺化隱喻 33 4.1 什麼是視覺化隱喻? 33 4.2 可組合性的視覺化隱喻 34 4.3 視覺化隱喻的分類 35 第5章 視覺化隱喻的實作 37 5.1 Basic VM 與 Ogre VM 37 5.1.1 Basic VM 38 5.1.2 Ogre VM 38 5.2 Primitive Type VM (PTVM) 39 5.3 Label Type VM (LBVM) 41 5.4 Reference Type VM (RVM) 44 第6章 結論與未來展望 48 6.1 結論 48 6.2 未來展望 48 參考文件 50

    [1] J. B. Rosenberg, How Debuggers Work: Algorithms, Data Structures, and Architecture, John Wiley & Sons. , September 27, 1996.
    [2] Dr. Adam Kolawa, Parasoft, The Evolution of Software Debugging, http://www.parasoft.com/jsp/products/article.jsp?articleId=490
    [3] 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/.
    [4] A. Zeller, Debugging with DDD, Copyright (C) 2000, Free Software Foundation, Inc. http://www.gnu.org/manual/ddd/pdf/ddd.pdf.
    [5] S. Mukherjea and J. T. Stasko, Applying algorithm animation techniques for program tracing, debugging, and understanding, May 1993.
    [6] Omniscient Debugging "Because the Debugger Knows Everything", February 18 2007. http://www.lambdacs.com/debugger/debugger.html
    [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] Gruia-Catalin Roman and Kenneth C. Cox , A Taxonomy of Program Visualization Systems , December 1993.
    [9] K. Alfert and A. Fronk, “Manipulation of 3-dimensional Visualizations of Java Class Relations”, June 2002.
    [10] Emden Gansner and Eleftherios Koutsofios and Stephen North, Drawing graphs with dot, January 26, 2006.
    [11] Wikipedia, http://en.wikipedia.org/wiki/Main_Page
    [12] Projects using OGRE, http://www.ogre3d.org/wiki/index.php/Projects_using_OGRE
    [13] Ken Aizawa ,What is Compositionality, http://philosophy.uwaterloo.ca/MindDict/compositionality.html, May 11, 2004.
    [14] Steven P. Reiss, Manos Renieris, The BLOOM Software Visualization System, May 3, 2002.
    [15] John Ellson, Emden R. Gansner, Eleftherios Koutsofios, Stephen C. North, and Gordon Woodhull, Graphviz and Dynagraph – Static and Dynamic Graph Drawing Tools, Graph Drawing Software, 2003.
    [16] Gruia-Catalin Roman, Kenneth C. Cox, A Taxonomy of Program Visualization Systems, June 30, 1993
    [17] Emden Gansner and Eleftherios Koutsofios and Stephen North, Drawing graphs with dot, January 26, 2006.
    [18] Emden R. Gansner, Eleftherios Koutsofios, Stephen C. North, and Gem-Phong Vo, A Technique for Drawing Directed Graphs, March 1993.
    [19] Tao Chen, Tarek Sobh and Abhilasha Tibrewal, A Tool for Data Structure Visualization and User-defined Algorithm Animation, Journal of STEM Education, 2003.
    [20] Mihail E. Tudoreanu, Delbert Hart, Gruia-Catalin Roman, Reshapeable Visualizations, December 2000.

    QR CODE