簡易檢索 / 詳目顯示

研究生: 賴念煒
論文名稱: DIVA中複合型VM之設計與實做
The Design and Implementation of Composite Visualization Metaphor for DIVA (Debugging Information Visualization Assistant)
指導教授: 鄭永斌
學位類別: 碩士
Master
系所名稱: 資訊教育研究所
Graduate Institute of Information and Computer Education
論文出版年: 2007
畢業學年度: 95
語文別: 中文
論文頁數: 48
中文關鍵詞: 軟體視覺化軟體工程隱喻除錯
英文關鍵詞: software visualization, software engineering, metaphor, Debugger
論文種類: 學術論文
相關次數: 點閱:122下載:10
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 隨著軟體日漸龐大與複雜,軟體除錯也日趨困難。為了讓使用者能更有效的對軟體建構與除錯,視覺化的整合式開發環境成為一個軟體視覺化領域中的新寵。數年來許許多多的研究者嘗試著做出各式各樣的軟體視覺化,卻往往只侷限在特定的程式,而幾乎不曾普及過。
    主要原因在於過去都只能針對特定的程式或是資料結構,而無法對任意的軟體去做有效的視覺化。此外,整個視覺化最重要的部分是在視覺化呈現的構想,可惜的是有構想創意的人不見得有能力從頭到尾製作出一套視覺化軟體;即使有能力,只為了實踐一個構想就必須耗費大量資源實做出一套軟體也是相當得不償失。為了解決這樣的問題,我們提出一種可組合性(compositionality)的概念。也就是把視覺化呈現的部分設計成由可替換、可組合式的basic build block建構出更複雜的視覺化。這樣不但可以根據情形更換最佳的視覺化呈現,視覺化的設計也能交由第三方輕易去製作。而當視覺化的設計到達一定數量(critical mess)之後,再經過各種組合替換,將足以應付大部分的軟體視覺化。
    為了達成這個目標,我們設計了一套3D視覺化除錯系統DIVA (Debugging Information Visualization Assistant),把視覺化平台和視覺化設計切開。當一個軟體視覺化設計者有任何良好的構想,不需要再從頭規劃一個龐大的系統,只需要專注於製作新的視覺化呈現。

    With the growing of software scale and complexity, software debugging can be a real challenge。In order to making software development more efficiently, IDE is heading towards to software visualization field. Many researchers have tried to create usable software visualization tools but largely in vain. Most of them are limited in certain cases and never widely adopted.
    There are several reasons for the low adoption. The key reason, from our perspective, is the limited visualization browser (or visualization metaphor) provided by the tools. Many visualization tools can only display and render limited type of objects, including programs, data structures, and etc.
    To address this awkward situation, in this thesis we advocate a “compositionality“ principle. This means all visualization metaphors can be combined and assembled into a more complicated visualization metaphor, like basic build blocks. and design of visualization metaphor can be implemented by third parties. In this way, it is possible to create a best visualization metaphor to meet user’s need. After the amount of visualization metaphors exceeds a critical mess, tool usability can be greatly improved.
    To achieve this ambition, in this paper we designed a 3D visualization debugger system, DIVA (Debugging Information Visualization Assistant), which divide visualization tool and visualization metaphor into two parts. A new object-oriented framework is designed and implemented to achieve this goal. Based on this object-oriented design, visualization metaphor programming can be relieved from the details of visualization systems.

    第一章 緒 論 1 第一節 OVERVIEW 1 第1項 問題描述 1 第二節 論文架構 4 第二章 Background 6 第一節 Debugger 6 第1項 GDB 7 第2項 DDD (Data Display Debugger) 7 第3項 JDB 9 第4項 ODB 9 第二節 Software Visualization 10 第1項 CodeCrawler 11 第2項 GraphVisualizer3D 13 第3項 BLOOM 13 第三節 3D is better than 2D in visualization 14 第三章 DIVA設計與實做 17 第一節 DIVA整體運作架構 17 第二節 WOPM (Watched Object data Pool Module) 19 第1項 WOPM 19 第2項 WOP_Entry 20 第3項 WOP_Primitive_Entry 23 第4項 WOP_Heap_Entry 24 第5項 WOP_Reference_Entry 26 第三節 DIVA UI (Ogre 3D Engine) 28 第四章 DIVA中VM之物件導向設計 30 第一節 緣由 30 第二節 VM的設計構想 30 第三節 DIVA中VM的種類 34 第五章 二維陣列的Composite VM設計 37 第一節 動機 37 第二節 Composite_Pic_VM 38 第六章 結論 43 第七章 Future Work 45

    [1]. S. Mukherjea, J. T. Stasko, “Toward Visual Debugging: Integrating Algorithm Animation Capabilities within a Source-Level Debugger”, ACM Transactions on Computer-Human Interaction (TOCHI) archive volume1 issue3 (September 1994), pages:215 - 244, 1994.

    [2]. Knight, Munro, “Visualising Software - A Key Research Area”, Proceedings of the IEEE International Conference on Software Maintenance ,page: 437, 1999.

    [3]. F. P. Brooks, “No Silver Bullet - essence and accidents of software engineering”, Proceedings of the IFIP Tenth World Computing Conference, page: 1069-1076, 1996

    [4]. http://www.ogre3d.org/docs/api/html/classOgre_1_1Root.html

    [5]. http://www.ogre3d.org/docs/api/html/classOgre_1_1SceneManager.html

    [6]. J. B. Rosenberg, “How Debuggers Work: Algorithms, Data Structures, and Architecture”, ISBN:0-471-14966-7 , John Wiley & Sons, 1996.

    [7]. A. Kolawa, Parasoft, “The Evolution of Software Debugging”, http://www.parasoft.com/jsp/products/article.jsp?articleId=490

    [8]. H. Agrawal, R. A. DeMillo and E. H. Spafford, “An Execution-Backtracking Approach to Debugging”, IEEE Softw.(1991), page:21-26, 1991.

    [9]. P. Crescenzi, C. Demetrescu, I. Finocchi and R. Petreschi, “Reversible Execution and Visualization of Programs with LEONARDO”, Journal of Visual Languages & Computing, 11 (2000), page:125-150, 2000

    [10]. B. Lewis, “Debugging backwards in time”, in M. Ronsse, K. De Bosschere (eds), proceedings of the Fifth International Workshop on Automated Debugging (AADEBUG 2003), 2003.

    [11]. 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/.

    [12]. A. Zeller, “Debugging with DDD”, Copyright (C) 2000 Free Software Foundation, Inc. http://www.gnu.org/manual/ddd/pdf/ddd.pdf.

    [13]. C. Knight, “Visualisation for Program Comprehension:Information and Issues.University of Durham”, Computer Science Technical Report 12/98, 1998. http://www.dur.ac.uk/~dcs3crk/workfiles/documents/Lit_Survey_Tech_Reports/Tech_Report_12-98.ps.gz

    [14]. Wyatt, J. B., “Software Visualization and Program Understanding”, Department of In-. formation Sciences, University of Pittsburgh, 1999.

    [15]. R. Hubbold, A. Murta, A. West, T. Howard, “Design Issues for Virtual Reality Systems.Presented at the First Eurographics Workshop on Virtual Environments”, Barcelona, 7th September, 1993.

    [16]. M. Chalmers, “Design Perspectives in Visualising Complex Information”, Proceedings IFIP 3rd Visual Databases Conference, Lausanne, Seizerland, 1995. http://www.ubs.com/info/ubilab/print_versions/ps/cha 95.ps.gz.

    [17]. 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.

    [18]. J. T. Stasko, J. B. Domingue, M. H. Brown and B. A. Price, “Software Visualization”, ISBN-13:978-0-262-19395-5, 1998.

    [19]. G. Franck, M. Sardesai and C. Ware, “Layout and Structuring Object Oriented Software in Three Dimensions”, Proceedings of the 1995 conference of the Centre for Advanced Studies on Collaborative research CASCON '95, 1995.

    [20]. 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.

    [21]. 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.

    [22]. S. P. Reiss, ” An Overview of BLOOM”, Proceedings of the 2001 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering PASTE '01, 2001.

    [23]. 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.

    [24]. http://www.ogre3d.org/wiki/index.php/Using_OIS#InputManager_Class

    [25]. http://en.wikipedia.org/wiki/Polymorphism_in_object-oriented_programming

    [26]. A.Nganou, R. Al-Amad, S. Shi and X. Xian, “Software Visualization 2D versus 3D”, Department of Computer Science Concordia University, 2001.

    [27]. Y.-L. Jan, “Towards General-Purpose Program Animation, Information and Computer Education”, National Taiwan Normal University, Taipei, 2006.

    [28]. J.TStasko. “Three-Dimensional Computation Visualization. Georgia Institute of Technology”, Technical Report GIT-GVU-92-20, 1992.

    [29]. B. Shneiderman, “The Eyes Have It: A Task by Data Type Taxonomy for Information Visualizations”, Proceedings of the IEEE Symposium on Visual Languages, 1996

    QR CODE