• 沒有找到結果。

doLayout 去從新計算移動狀態並計算摩擦力的影響,慢慢的使移動中的物件趨向 靜止。

60

61

程式碼 5-5 animation_behavior 方法

Section 5.6 成果

依照第五章的方法,我們運用第三章說明的彈性程式架構成功的建構出了一 個符合虎克定律的彈簧力系統,其中物件的運行方式遵守牛頓三大運動定理。

當使用者啟動彈簧陳列之後,他可以立即看到各物件之間的彈簧將它們推遠 或拉近,漸漸地摩擦力將所有的物件靜止在自然的位置。使用者只要變動其中一 個彈簧系統中物件的位置,依照其拖曳滑鼠的速度與方向,將會造成不同的彈簧

62

長度變化,產生的彈簧力將會帶給彈簧系統不同的能量與不同的變動方式。

圖 5-c 彈簧陳列的效果(連環圖的時間順序為左至右,上到下)

圖 5-c 彈簧陳列的效果(連環圖的時間順序為左至右,上到下)裡,我們將一 個節點往畫面的左上方拖拉,這個節點帶動了與它連結的節點,其中彎曲的線也 說明了這些節點帶有簡協運動的移動軌跡。

63

Chapter 6 結論與未來工作 

Section 6.1 結論

我們在 xDIVA 之中建構了彈性的 Layout 系統,並實作出用於 Graph 陳列並 含有動畫呈現的彈簧陳列法。這個陳列法可以做為未來 xDIVA 陳列設計者的參 考樣本,它示範了如何使用動畫與彈性架構,以及如何運用物理方法。

與傳統的靜態的 Graph 陳列相比,彈簧陳列法更注重與使用者的互動,在節 點素量龐大的情況下,彈簧陳列法不會為了一次性地讓 Graph 完美陳列而耗費大 量時間,也讓使用者有了更多的空間去自行調整。並且,使用者可以利用彈簧力 牽引想要同時移動的節點,當一個 Graph 擁有複雜的結構甚至是擁有許多各自獨 立的子 Graph 時,一個滑鼠拖曳就能清楚的了解節點之間的路徑關係。

另外,彈簧陳列方式在文中被歸類為 Graph 的陳列方式僅因方便說明與了解。

在 xDIVA 之中,即使使用者的 pointer 參考關係(或者其他連結方式)不被視覺 化為線狀物體,彈簧陳列仍然是可以作用的,其演算法沒有指定的資料形式,符 合 xDIVA 的正交性的設計概念(斷絕與資料結構的相依性)。

利用動畫在節點之間加入物理應用可以更生動地協助使用者了解各種類 Graph 的視覺化物件,提升吸收資訊的速度。彈簧力不一定是最好的方法,我們

64

期待 xDIVA 的 Latout 系統能夠提供更多的選擇以因應更多的需求,也期望未來 xDIVA 的 Layout VM 設計者能夠設計出更有助於理解、更有趣的 Layout 方法。

xDIVA 的 Layout 系統仍在發展階段,希望本論文的彈性架構能夠幫助 Layout 系統的成長,讓未來的開發者能夠在我們建立的彈性程式結構上更順利的實現自 己的演算方式。最後,我們希望 xDIVA 成為一個具備實用性與創新技術的軟體 工程工具。未來將視研究的結果,把 xDIVA 以 open source 的形式推廣到學術 界以及產業界。對於學術研究及其他應用方面預期之貢獻。

Section 6.2 未來工作

xDIVA 的 Layout 系統仍然有一些缺乏彈性的部分,最明顯的便是我們使用 的 Dialog,目前 Layout 系統使用的 Dialog 並不是動態的,這將造成未來設計者 的不便。在 xDIVA 的 Layout 系統的規畫裡,我們不準備讓 Layout 設計者為了自 己的陳列方法必須做出自己的 Dialog(這代表設計者必須了解一點 Win32 SDK), 而提高了設計者的門檻。譬如圖 3-e 決定陳列範圍的 Dialog),我們只提供了關 於物件之間參考關係的選項。但是陳列範圍不一定是以參考關係作為依據,如果 設計者不希望使用參考關係做為陳列的連結,那麼就需要自己另外去作 Dialog 了。未來,我們將會把這些 Dialog 設計為彈性的,動態的讀取設計者定義的敘 述資料而改變。

65

Reference 

[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] T. Biedl ,McGill University. J. Marks,MERL. K.Ryall University of Virginia.

S.Whitesides, McGill University. Graph Multidrawing: Finding Nice Drawings Without Defining Nice. TR-98-15 October 1998. MITSUBISHI ELECTRIC RESEARCH LABORATORIES CAMBRIDGE RESEARCH CENTER. .

[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] Steven P. Reiss, An Overview of Bloom, Department of Computer Science Brown University

[6] 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

[7] http://en.wikipedia.org/wiki/Software_metrics

66

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

[9] A. Kolawa, Parasoft, The Evolution of Sofrware Debugging, http://www.parasoft.com/jsp/products/article.jps?articleID=490

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

[11] H. Agrawal R. A. DeMillo and E. H. Spafford, An Execution-Backtracking Approach to Debugging, IEEE Software (1991), Page: 21-26, 1991

[12] 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

[13] 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

[14] The Data Display Debugger (ddd), available on http://www.gnu.org/software/ddd

[15] 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, New York,NY,USA,2005 ACM Press

[16] Wim De Pauw, Erik Jensen, Nick Mitchell, Visualization the Execution of Java Programs, IBM T.J. Watson Research Center

67

[17] Katharina Mehner. Javis: A uml-based visualization and debugging environment for concurrent java programs. In Software Visualization, pages 163–175, 2001.

[18] Graphviz, http://www.graphviz.org/

[19] Emden Gansner and Eleftherios Koutsofios and Stephen North, Drawing Graphs with DOT, 2006

[20] J. Carlsson, Optimisation of a Graph Visualization Tool: Vizz3D

[21] Projects using OGRE, http://www.ogre3d.org/wiki/index.php/Projects_using_ogre

[22] T. Biedl ,McGill University. J. Marks,MERL. K.Ryall University of Virginia.

S.Whitesides, McGill University. Graph Multidrawing: Finding Nice Drawings Without Defining Nice. TR-98-15 October 1998. MITSUBISHI ELECTRIC RESEARCH LABORATORIES CAMBRIDGE RESEARCH CENTER. .

[23] Tyson R. Henry Scott E. Hudson Department of Computer Science University of Arizona, Tucson AZ 85721 * . Interactive Graph Layout. UIST’91 Hilton Head, South Carolina, Pages 55-64.

[24] David P. Dobkin *, Alejo Hausner t, Princeton University, Princeton, NJ 08544, dpd,[email protected]. Emden R. Gansner, Stephen C. North, AT&T Laboratories, Florham Park, NJ 07932,{erg,north}@research.att.com.

Uncluttering Force-Directed Graph Layouts.

[25] Toshiyuki MASUI, Software Research Laboratories,SHARP.Corporation2613-1 Ichinomoto-cho, Tenri, Nara 632, Japan. Evolutionary Learning of Graph Layout Constraints from Examples. UIST ’94 Marina del Rey, California. Page

68 103-108.

[26] JOSEP D´IAZ, JORDI PETIT AND MARIA SERNA, Universitat Polit`ecnica de Catalunya. A Survey of Graph Layout Problems. ACM Computing Surveys, Vol.

34, No. 3, September 2002, pp. 313–356.

[27] Prefuse, information visualization toolkit, http://prefuse.org/