研究生: |
賴念煒 |
---|---|
論文名稱: |
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 |
論文種類: | 學術論文 |
相關次數: | 點閱:133 下載: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]. 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