簡易檢索 / 詳目顯示

研究生: 王安平
論文名稱: DIVINE之視覺化隱諭設計架構
A Device Independent Visualization Metaphor Programming Framework for Debugging Information Visualization in 3D Immersive Environment
指導教授: 鄭永斌
Cheng, Yung-Pin
學位類別: 碩士
Master
系所名稱: 資訊教育研究所
Graduate Institute of Information and Computer Education
論文出版年: 2006
畢業學年度: 94
語文別: 英文
論文頁數: 62
中文關鍵詞: 視覺化視覺化隱諭軟體視覺化DIVINE
英文關鍵詞: Visualization Metaphor, Debugging information vsualization, visualization, software visualization, program comprehension, DIVINE
論文種類: 學術論文
相關次數: 點閱:239下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 除錯器對於程式的開發,已經成為一種不可或缺的工具,然而現今的除錯器大多仍停留於文字模式的階段。文字模式的除錯訊息雖然能精確的表達程式狀態,但是卻很難幫助程式設計人員快速理解程式的行為。程式設計人員常常要從文字顯示的除錯訊息中自行建構出資料結構的模型來幫助除錯。
    為了提供一個視覺化的除錯環境,本實驗室實做了一個三維空間的視覺化除錯環境-DIVINE(Debugging Information Visualization in 3D Environment)。它透過本實驗室的另一個程式-YAJDB,所提供的除錯資訊進行視覺化。為了讓使用者對於視覺化的內容,有更多的選擇,DIVINE分離了視覺化隱喻(Visualization Metaphor, VM)設計與系統功能。提供另外一種角色稱之為視覺化隱喻程式設計師(VM Programmer)來專心設計視覺化隱喻 。 DIVINE 是一個易於撰寫視覺化隱喻的環境,新的設計有利於在DIVINE中加入新的視覺化隱喻。讓使用者可以根據程式的內容,選擇更適合的視覺化呈現方式。
    本論文的目的即在於提供視覺化隱喻程式設計師,一個獨立於硬體設備之外的設計環境,使設計者能專心於視覺化隱喻內容及呈現方式的計設,而不需深入了解視覺化環境的內容與硬體設備之間的溝通等等問題。

    Debugger has been an important tool for software development. However, most debuggers still show the debugging information in textual form. However, programmers can have better comprehension of the program states if they are shown in graphic model directed graph in most text books.
    To provide a visualized debugging environment, we develop a 3D debugging environment – DIVINE (Debugging Information Visualization in 3D Environment). It communicates with a tool called YAJDB. YAJDB can provide the debugging information for visualization. In order to provide users more choices in visualization, we propose to separating visualization metaphors (VM) programming from DIVINE. The idea allows visualization metaphors to be programmed by the so-called VM programmer. Our framework encourages an easy visualization metaphor programming paradigm. Tool users can choose the suitable visualization metaphors to suit their needs.
    The goal of this thesis is to provide a new Visualization Metaphor Programming Paradigms that is independent of input device, system architecture, and the data store. Using this design, VM programmers can concentrate on designing visualization metaphors to render datum in different ways.

    摘 要 I ABSTRACT II TABLE OF CONTENTS III LIST OF FIGURES VI LIST OF TABLES VII CHAPTER 1 INTRODUCTION 1 1.1 OVERVIEW 1 1.2 OBJECTIVE 2 1.3 RELATED WORK 2 1.4 THESIS ORGANIZATION 4 CHAPTER 2 BACKGROUND 6 2.1 VISUALIZATION 6 2.1.1 What is Visualization 7 2.1.2 Software Visualization 9 2.1.3 Why 3D (3D versus 2D) 13 2.2 RENDERING ENGINE 14 2.2.1 Game Engine 14 2.2.2 OGRE – Object-oriented Graphics Rendering Engine 15 2.3 SCENE GRAPH 17 2.4 MANIPULATION OF 3D ENVIRONMENT 19 2.5 3D NAVIGATION (TRAVEL) 23 2.6 METAPHOR 24 2.7 DESIGN PATTERN 26 CHAPTER 3 DIVINE AND PREVIOUS WORK 28 3.1 WHAT IS DIVINE? 28 3.2 SYSTEM ARCHITECTURE 28 3.3 PREVIOUS WORK - DEVICE-INDEPENDENT FRAMEWORK 30 CHAPTER 4 A NEW VISUALIZATION METAPHOR PROGRAMMING PARADIGM 32 4.1 RATIONALE 32 4.2 THE OBJECT-ORIENTED FRAMEWORK OF VM PROGRAMMING PARADIGM 33 4.2.1 An example of programming VM in Divine 33 4.2.2 An overview of Mapping Engine (to connect VM object and debugging object) 36 4.3 THE CATEGORIZATION OF VM 37 CHAPTER 5 DESIGN AND IMPLEMENTATION 43 5.1 THE OBJECT ORIENTED STRUCTURE 43 5.2 THE INTERACTION OF DEBUGGING OBJECTS AND VM OBJECT 45 5.3 THE COMPOSITE OBJECT 48 5.4 THE DESIGN OF LAYOUT VM 50 CHAPTER 6 SYSTEM ENVIRONMENT 52 6.1 MANUAL 52 6.2 EXAMPLES 54 CHAPTER 7 CONCLUSION AND FUTURE WORKS 57 7.1 CONCLUSION 57 7.2 FUTURE WORKS 58 REFERENCES 59

    [1] Yi-wei Peng, Interactive 3D Debugging Information Visualization for Linked-List Data Structure, Master Thesis, Dept. Information and Computer Education, National Taiwan Normal University, 2002.
    [2] Ji Long, High-Level Computer-Aided Debugging Tool, Master Thesis, Dept. Information and Computer Education, National Taiwan Normal University, 2003.
    [3] Jiun-hau Fan, DIVINE: An Immersive 3D Debugging Information Visualization System Using Metaphor, Master Thesis, Dept. Information and Computer Education, National Taiwan Normal University, 2004.
    [4] Ke-Di Feng, A device-independent Object-oriented Framework for 3D Visualization Metaphor programming in DIVINE, Master Thesis, Dept. Information and Computer Education, National Taiwan Normal University, 2005.
    [5] C. Knight, “Visualization for Program Comprehension: Information and Issues,” University of Durham, Computer Science, Technical Report 12, 1998.
    [6] R. M. Friedhoff, W. Benzon.Visualization “The Second Computer Revolution. Published” 1991, W. H. Freeman and Company. ISBN 0-7167-2231-3.
    [7] J. Wyatt, “Software visualization and Program understanding,” University of Pittsburgh, 1999.
    [8] J. Stasko, M. H. Brown, and B. A. Price, “Software Visualization,” MIT press, 1998.
    [9] A. Nganou, R. Al-Amad, S. Shi and X. Xian, “Software Visualization 2D versus 3D,” Department of Computer Science Concordia University, 2001.
    [10] K. Alfert and A. Fronk, “Manipulation of 3-dimensional Visualizations of Java Class Relations”, Proceedings of the 2002 IDPT Conference - The Sixth World Conference on Integrated Design & Process Technology, Pasadena, CA, June 2002.
    [11] H. Boecker, and H. Nieper, “Making the Invisible Visible: Tools for Exploratory Programming,” Proceedings of the First Pan Pacific Computer Conference, The Australian Computer Society, Melbourne, Australia, 1985.
    [12] P. Young, “Software Visualization,” Visualization Research Group Centre for Software Maintenance, Department of Computer Science, University of Durham, 18 June, 1996.
    [13] H. Koike, “The Role of Another Spatial Dimension in Software Visualization,” ACM Transactions on Information Systems, 11(3), pages 266-286, 1993.
    [14] OGRE, http://www.ogre3d.org/
    [15] Projects using OGRE, http://www.ogre3d.org/wiki/index.php/Projects_using_OGRE/
    [16] Wikipedia, http://en.wikipedia.org/wiki/Main_Page
    [17] Directron.Org, http://www.directron.com/videoglossary.html
    [18] D. A. Bowman, E. Kruijff, J. J. LaViola Jr., I. Poupyrev, “3D User Interfaces – Theory and Practice,” Addison-Wesley, 2005.
    [19] I. Poupyrev, M. Billinghurst, S. Weghorst, and T. Ichikawa, “The go-go interaction technique: non-linear mapping for direct manipulation in VR,” Proceedings of the 1996 ACM symposium on User interface software and technology, ACM Press, pages 79-80, 1996.
    [20] R. Stoakley, M. Conway, and R. Pausch, “Virtual reality on a WIM: interactive worlds in miniature,” Proceedings of the 1995 ACM Conference on Human Factors in Computing Systems, ACM Press, pages 265-272, 1995.
    [21] D. Bowman and L. Hodges, “An Evaluation of Techniques for Grabbing and Manipulating Remote Objects in Immersive Virtual Environments,” Proceedings of the 1997 IEEE Virtual Reality Annual International Symposium, IEEE Press, pages 45-52, 1997.
    [22] M. R. Mine, F. P. Brooks. Jr. and C. H. Sequin, “Moving Objects in Space: Exploiting Proprioception In Virtual-Environment Interaction,” In SIGGRAPH ’97, ACM Press, pages 19-26, 1997.
    [23] J. Pierce, B. Stearns, and R. Pausch, “Voodoo Dolls: Seamless Interaction at Multiple Scales in Virtual Environments,” Proceedings of the 1999 ACM Symposium on Interactive 3D Graphics, ACM Press, pages 141-145, 1999.
    [24] I. Poupyrev, S. Weghorst, M. Billinghurst, T. Ichikawa, “Egocentric Object Manipulation in Virtual Environments: Empirical Evaluation of Interaction Techniques,” Computer Graphics Forum, EUROGRAPHICS, 17(3), pages 41-52, 1998.
    [25] A. Forsberg, K. Herndon, and R. Zeleznik, “Aperture Based Selection for Immersive Virtual Environments,” Proceedings of the 1996 ACM Symposium on User Interface Software and Technology (UIST `96), ACM Press, pages 95-96, 1996.
    [26] J. Pierce, A. Forsberg, M. Conway, S. Hong, R. Zeleznik, and M. Mine, “Image Plane Interaction Techniques in 3D Immersive Environments,” Proceedings of the 1997 ACM Symposium on Interactive 3D Graphics (I3D `97), ACM Press, pages 39-44, 1997.
    [27] P. Reiss. “An overview of BLOOM.” In Proceedings of the 2001 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering, pages 2–5. ACM Press, 2001.
    [28] K. Zhang. “Software Visualization: From Theory to Practice.” Kluwer Academic Publishers, 2003
    [29] W. De Pauw, D. Kimelman, and J. Vlissides. “Modeling object-oriented program execution.” In Lecture Notes in Computer Science, volume 821, pages 163–182, Bologna, Italy, July 1994. European Conference for Object Oriented Programming, Springer Verlag.
    [30] W. De Pauw, N. Mitchell, M. Robillard, G. Sevitsky, and H. Srinivasan. “Drive-by analysis of running programs.” In Proceedings for Workshop on Software Visualization, Toronto, Canada, May 2001. International Conference on Software Engineering.
    [31] G. Sevitsky,W. De Pauw, and R. Konuru. “An information exploration tool for performance analysis of java programs.” In Proceedings for TOOLS Europe 2001, Zurich, Switzerland, March 2001. Technology of Object-Oriented Languages and Systems (TOOLS) Conference Series.
    [32] C. Anslow. “3D Software Visualization: Evaluating X3D for Visualizing Reusable Component.” A thesis submitted to the Victoria University of Wellington in fulfillment of the requirements for the degree of Master of Science in Computer Science. Victoria University of Wellington 2006
    [33] S. Mukherjea and J. T. Stasko, "Applying algorithm animation techniques for program tracing, debugging, and understanding," in Proceedings of the 15th international conference on Software Engineering Baltimore, Maryland, United States IEEE Computer Society Press, 1993 pages 456-465
    [34] S. Mukherjea and J. T. Stasko, "Toward visual debugging: integrating algorithm animation capabilities within a source-level debugger," ACM Trans. Comput.-Hum. Interact. vol. 1, pages 215-244, 1994.
    [35] P. CRESCENZI, C. DEMETRESCU, I. FINOCCHI, and R. PETRESCHI, "Reversible Execution and Visualization of Programs with LEONARDO," Journal of Visual Languages & Computing, vol. 11, pages 125-150, 2000.

    QR CODE