研究生: |
許光軒 |
---|---|
論文名稱: |
為了組成任意的視覺化而設計與實做的UBVM Design and Implementation of Ultimate Basic Visualization Metaphors for Composing Arbitrary Visualization |
指導教授: | 鄭永斌 |
學位類別: |
碩士 Master |
系所名稱: |
資訊工程學系 Department of Computer Science and Information Engineering |
論文出版年: | 2010 |
畢業學年度: | 98 |
語文別: | 中文 |
論文頁數: | 73 |
中文關鍵詞: | UBVM |
英文關鍵詞: | UBVM |
論文種類: | 學術論文 |
相關次數: | 點閱:68 下載:1 |
分享至: |
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
對於複雜的事物,人類習慣透過圖表或是動畫的方式,使它變的容易理解。對於軟體來說,由於軟體具有不可見性,也就是在軟體完成之前,程式設計人員是無法看出軟體的架構以及軟體內部的狀態。此外,軟體行為因為是動態的,所以更加深了軟體理解的困難度。因此,如何將軟體視覺化,幫助程式開發者能更瞭解程式內部的行為,一直是軟體工程研究的課題。雖然近年來已經有一些視覺化工具可以透過圖形來視覺化程式內部的資料以幫助程式設計師除錯,但它們在實用上還有許多限制,無法滿足使用者對於視覺化多樣的需求。所以,時自今日,很多程式設計者還是習慣安插額外程式碼(例如:printf)去進行軟體除錯。
軟體視覺化遇到最大的問題就是資料的多樣性,以及每個人對於資料解釋的不同。目前的視覺化研究都只能針對特定型態的資料進行視覺化,而無法應付未知的資料型態。此外,視覺化的方式也是事先套好的,每一種資料型態對映的視覺化都是固定的,缺乏變化性。甚至,使用者還必須為了視覺化,去學習那套工具所定義的特殊語言,然後在需要視覺化的程式片段安插特定的程式碼,讓工具知道何時該視覺化。
本篇論文主要是探討如何透過本實驗室所開發的視覺化除錯工具—xDIVA[1],讓使用者以符合自己理想的視覺化去視覺化變數和資料結構。為了應付各種不同的資料結構,以及解決傳統視覺化方法,如 model view,observer pattern,所面臨的困境,所以我們準備了11種最基本的VM(Visualization Metaphor)[2],並且導入物件導向的概念,讓資料與VM之間做到去除耦合(decoupling)。每個基礎的VM都可獨立運作且可被替換,或是互相配合組成複雜的VM。因此使用者可依照需求,在我們所提供的介面(Mapping Dialog)(圖 19)中,藉由選擇和拖曳的方式,自由的組合這些基本的VM,建構出合乎理想的新的VM,而且不需要撰寫任何的程式碼。
While understanding complicated subjects, humans are used to draw graphics to help their understanding because visual perception is a powerful tool of humans. Software is hard to understand because it is “invisible” and “dynamic”. So, software engineering researchers have devoted a lot of efforts to visualize software.
The major problem of software visualization is that a wide variety of data types and interpretations from data to visualizations are arbitrary. In this paper, we attempt to address this problem by using a visualization tool call xDIVA. In order to support arbitrary visualization, we design and implement 11 ultimate basic visualization metaphors (UBVMs). These UBVMs are developed on an object-oriented framework so that they are interactive, composable and decoupled from data. A complicated visualization can be composed from basic ones, each of which is independently replaceable. User can create new visualization metaphors depend on different demands by using new mapping system we offered and without programming.
[1] Yung-Pin Cheng, Jih-Feng Chen, Ming-Chieh Chiu,Nien-Wei Lai, and Chien-Chih Tseng. xdiva: A debugging visualization system with composable visualization metaphors. In Proceedings of ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications, 2008, Nashville, USA.
[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://en.wikipedia.org/wiki/Unified_Modeling_Language visit on 2010/01/25
[5] http://en.wikipedia.org/wiki/Software_metrics visit on 2010/01/25
[6] 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
[7] Paul V. Gestwicki and Bharat Jayaraman. Methodology and architecture of jive. In SOFTVIS, pages 95–104, 2005
[8] Jeffrey K. Czyz, Bharat Jayaraman. Declarative and Visual Debugging in Eclipse. In Proceedings of the 2007 OOPSLA Workshop on Eclipse Technology Exchange, pages 31–35, 2007.
[9] Andreas Zeller and Dorothea Lutkehaus. DDD - a free graphical front-end for UNIX debuggers. SIGPLAN Notices,31(1):22–27, 1996.
[10] Emden R. Gansner, Eleftherios Koutsofios, Stephen C. North, and Kiem-Phong Vo. A technique for drawing directed graphs. IEEE Transactions on Software Engineering, 19(3):214–230, 1993
[11] http://en.wikipedia.org/wiki/Maurice_Wilkes visit on 2010/01/25
[12] . R. M. Stallman, R. Pesch and S. Shebs, Debuggin with GDB: The GNU Source-Level Debugger, (Free Software Foundation, 2002) .http://www.gnu.org/software/gdb/documentation
[13] F. P. Brooks, No Silver Bullet – essence and accidents of software engineering, Proceedings of the IFIP Tenth World Computing Conference, Page: 1069-1076, 1996
[14] Steven P. Reiss and Manos Renieris. Demonstration of jive and jove: Java as it happens. In ICSE ’05: Proceedings of the 27th international conference on Software engineering, pages 662–663, New York, NY, USA, 2005. ACM Press.
[15] Wim De Pauw, Erik Jensen, Nick Mitchell, Gary Sevitsky, John M. Vlissides, and Jeaha Yang. Visualizing the execution of java programs. In Software Visualization, pages 151–162, 2001
[16] Thomas Panas, Rüdiger Lincke, and Welf Löwe Online-configuration of software visualizations with vizz3d. In SoftVis ’05: Proceedings of the 2005 ACM symposium on Software visualization, pages 173–182, New York, NY, USA, 2005. ACM
[17] Sougata Mukherjea and John T. Stasko. Toward visual debugging: integrating algorithm animation capabilities within a source-level debugger. ACM Trans. Comput.-Hum. Interact., 1(3):215–244, 1994
[18] A. E. R. Campbell, G. L. Gatto, and E. E. Hansen. Language independent interactive data visualization. In Proceedings of ACM SIGCSE 2003, pages 215–219. ACM, 2003
[19] II James H. Cross, T. Dean Hendrix, Jhilmil Jain, and Larry A. Barowski. Dynamic object viewers for data structures. In SIGCSE ’07: Proceedings of the 38th SIGCSE technical symposium on Computer science education, pages4–8, New York, NY, USA, 2007. ACM
[20] http://www.cc.gatech.edu/gvu/softviz/algoanim/xtango.html visit on 2010/01/25
[21] Jens von Pilgrim and Kristian Duske ,GEF3D – a Framework for Two-, Two-and-a-Half-, and Three-Dimensiona,,In SoftVis '08: Proceedings of the 4th ACM symposium on Software visualization,2008
[22] Steve Streeting. The object-oriented graphics rendering engine (ogre). http://www.ogre3d.org visit on 2010/01/25
[23] E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional 1st Edition, 1995
[24] http://en.wikipedia.org/wiki/Dynamic_programming visit on 2010/01/25
[25] http://www.cse.unsw.edu.au/~lambert/java/3d/quickhull.html visit on 2010/01/25