簡易檢索 / 詳目顯示

研究生: 王之舜
Chih-Shun Wang
論文名稱: 一個通用的對映編輯器支持任意解釋資料與視覺化結果之間的關係
A Generic Mapping Editor to Support Arbitrary Interpretations between Data and Visualization
指導教授: 鄭永斌
Cheng, Yung-Pin
學位類別: 碩士
Master
系所名稱: 資訊工程學系
Department of Computer Science and Information Engineering
論文出版年: 2009
畢業學年度: 97
語文別: 中文
論文頁數: 72
中文關鍵詞: xDIVA軟體視覺化程式視覺化軟體工程
英文關鍵詞: xDIVA, Software Visualization, Program Visualizaiton, Software Engineer
論文種類: 學術論文
相關次數: 點閱:217下載:1
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 近年來雖然已經有一些軟體視覺化工具可以透過圖形來視覺化程式內部的資料以幫助程式設計師除錯,但它們在實用上還有許多限制,使得軟體視覺化工具無法成為程式設計人員每天使用的工具之一。因此我們提出一個軟體視覺化除錯工具xDIVA來幫助程式設計師進行除錯。xDIVA使用3D的圖形、顏色和動畫來視覺化除錯資訊。讓使用者以理想的視覺化(Visualization Metaphor(VM))來視覺化變數和資料結構。
    本篇論文中主要探討的是如何讓使用者可以依據自己的解釋處理資料與視覺化之間的對映(mapping)關係,由於使用者可能會對資料做任意的解釋,而我們不可能一一為每一種資料型態實作出使用者所期待的VM。如果一個工具面對一種新的視覺化,就要進行程式撰寫,測試,與除錯,這樣的工具其可用性是存疑的。因此,我們的目標是提供一個介面讓使用者可以輕鬆且直覺的建立任意的VM,而這樣的VM是不需要撰寫任何的程式碼(如果需要撰寫程式碼,則必然牽涉到了編譯、除錯等問題),只需要簡單的拖曳和選擇即可達成。
    除此之外,這些VM也可以在Mapping Dialog直接使用,透過Mapping Dialog的存在能將資料與VM之間做到去除耦合(decoupling),解決傳統視覺化方法,如 model view,observer pattern,所面臨的困境。另外,Mapping Dialog提供一個簡易的操作介面讓使用者自行決定資料與VM之間的對映關係並且加以組合VM。經由VM之間的組合,一個複雜的VM可以由許多基礎的VM組合而成,以達到可組合性以及視覺化彈性。
    在處理資料對映到視覺化的過程中,為了能做到任意的視覺化,必然會需要處理一些資料之間相依的關係(例如位置、大小等等)。因此我們也設計了一個可以處理任意數學方程式的對映,使用者可以藉由輸入方程式以處理資料之間相依的關係。藉由以上這些彈性的對映設定,大大的提升了VM的擴充速度,我們不需要再仰賴撰寫程式碼的方式增加VM,而是可以利用組合的方式輕易的達成。如此一來,xDIVA的實用性更進一步,絕大部分新的VM的建構可以在不用撰寫任何程式的情況下完成。

    圖表目錄 4 摘要 6 Chapter 1 緒論 8 Motivation 8 Section 1.1 8 1.1.1. 問題描述 9 1.1.2. xDIVA的目標 10 Section 1.2 論文架構 14 Chapter 2 研究背景 15 Section 2.1 Debugger 15 2.1.1. JDB 16 2.1.2. GDB 17 2.1.3. DDD 17 2.1.4. ODB 19 Section 2.2 軟體視覺化(Software Visualization) 20 2.2.1. 視覺化隱喻(Visualization Metaphor) 22 2.2.2. Graphviz 22 2.2.3. BLOOM 23 2.2.4. VIZZ 3D 25 Section 2.3 2D VS 3D 26 Section 2.4 Why visualization tools are not used in a programmer’s daily life 27 Chapter 3 xDIVA 29 Section 3.1 Platform 29 3.1.1. Command Agent 31 3.1.2. WOPM 32 3.1.3. DIVA UI 33 3.1.4. DIVA VM 34 Section 3.2 Minerva 38 3.2.1. User Interface 39 3.2.2. Network 40 3.2.3. Record Processor 41 3.2.4. Debugger Bridge 42 3.2.5. Command Center 43 3.2.6. 和DIVA的溝通命令 44 Chapter 4 Mapping Engine 47 Section 4.1 資料與VM的mapping 47 Section 4.2 Mapping GUI 50 Section 4.3 Mapping Node 51 Section 4.4 Mapping in xDIVA 53 Section 4.5 Create arbitrary mappings from a drag-and-drop GUI 54 Section 4.6 Compose arbitrary VM from UBVMs in your dialog 58 Chapter 5 Auxiliary Mapping Node 63 Section 5.1 An example by using math mapping node 64 Section 5.2 An overview of math node 65 Chapter 6 結論及未來展望 68 Section 6.1 結論 68 Section 6.2 未來展望 68 Reference 70

    [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
    [5] M. Lanza, CodeCrawler – An Extensible and Language Independent 2D and 3D Software Visualization Tool, 2004
    [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] http://en.wikipedia.org/wiki/Software_metrics
    [8] Paul V. Gestwicki and Bharat Jayaraman. Methodology and architecture of jive. In SOFTVIS, pages 95–104, 2005.
    [9] 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.
    [10] Katharina Mehner. Javis: A uml-based visualization and debugging environment for concurrent java programs. In Software Visualization, pages 163–175, 2001.
    [11] Moreno, A., Myller, N., Sutinen, E., and Ben-Ari, M.: Visualizing Programs with Jeliot 3. In the Proceedings of the International Working Conference on Advanced Visual Interfaces AVI 2004, Gallipoli (Lecce), Italy, 25-28 May, 2004 © ACM, 2004.
    [12] Andreas Zeller and Dorothea Lutkehaus. DDD - a free graphical front-end for UNIX debuggers. SIGPLAN Notices,31(1):22–27, 1996.
    [13] 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.
    [14] A. Kolawa, Parasoft, The Evolution of Sofrware Debugging,http://www.parasoft.com/jsp/products/article.jps?articleID=490
    [15] B. Lewis, Debuggin backwards in time, in M. Ronsse, K. De Bosschere (eds), proceedings of the Fifth International Workshop on Automated Debugging, 2003
    [16] H. Agrawal R. A. DeMillo and E. H. Spafford, An Execution-Backtracking Approach to Debugging, IEEE Software (1991), Page: 21-26, 1991
    [17] P. Crescenzi, C. Demetrescu, I. Finocchi and R. Petreschi, Reversible Execution and Visualization of Programs with LEONARDO, Journal of Visual Languages & Computing, 11 (2000), pages: 125-150,2000
    [18] R. M. Stallman, R. Pesch and S. Shebs, Debuggin with GDB: The GNU Source-Level Debugger, Copyright (C) 1988-2006 Free Software Foundation, Inc.http://www.gnu.org/software/gdb/documentation
    [19] Wim De Pauw, Erik Jensen, Nick Mitchell, Visualization the Execution of Java Programs, IBM T.J. Watson Research Center
    [20] Emden Gansner and Eleftherios Koutsofios and Stephen North, Drawing Graphs with DOT, 2006
    [21] J. Carlsson, Optimisation of a Graph Visualization Tool: Vizz3D

    下載圖示
    QR CODE