研究生: |
洪千惠 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 |
論文種類: | 學術論文 |
相關次數: | 點閱:189 下載: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.
[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.