透過您的圖書館登入
IP:18.221.53.209
  • 學位論文

設計與實作視覺化追蹤點以支援xDIVA進行程式動畫

Program Animation with Visual Tracepoint Support in xDIVA

指導教授 : 鄭永斌
若您是本文的作者,可授權文章由華藝線上圖書館中協助推廣。

摘要


Program animation是個困難的問題,這項研究是希望能夠將程式執行的過程以動畫的方式呈現,在產生動畫的過程中,勢必要取得程式內部動態資料來進行視覺化。要取得程式內部動態資料有許多種方法,直覺的兩個方法就是由程式人員增加額外程式碼,以便在程式執行過程中擷取變數資料以產生動畫,但這會造成程式人員的負擔,使得程式人員不願意使用;另一種方法則是跟除錯器溝通,由除錯器取得變數資訊。 本研究選擇第二種方法,以類似追蹤點(tracepoints)的方式為目標。程式人員(programmer)在程式中插入追蹤點,可指定要觀看的程式執行資訊(例如:變數值、目前所在的函式名稱等)。追蹤點是中斷點(breakpoints)的進階應用,當程式以除錯模式(debug mode)下執行過追蹤點時,程式執行不中斷,然後在輸出視窗印出指定觀看的程式執行資訊。 本論文提出一種新形式的追蹤點 - Visual Tracepoints。Visual tracepoints維持了追蹤點的特性,程式人員可在程式碼中設置visual tracepoints的位置,然後搭配使用xDIVA(eXtreme Debugger Information Visualization Assistant) 除錯視覺化系統,在xDIVA畫面中產生代表程式狀態變化的程式動畫。本研究提出的visual tracepoints能在不中斷程式之狀況持續更新變數資訊給xDIVA系統,再加上xDIVA原有的layout interpolation功能,有了這兩部份的支援,將可以達到任意的program animation的目標。

並列摘要


Program animation is a hard task. The goal of program animation is to render program execution with animation. To produce program animation, it is necessary to acquire the internal state of a program. Technically, there are two ways to achieve such a goal. The first one is to insert auxiliary code into the source code in order to collect the information from the program. However, inserting code causes extra efforts, which make programmers reluctant to use. The other way is to retrieve needed information from the debugger, which is the approach adopt in this work. A tracepoint is a non-stop breakpoint that displays the internal state of a program specified by programmer. Programmers may insert several tracepoints in their program to display interested run-time information such as the value of variables or current function name in the debugging process. When a program is executed in debug mode and reaches a tracepoint, the output window displays the interested information and then continues the execution. In this paper, we propose a new kind of tracepoints – visual tracepoints. Programmers insert visual tracepoints in their program and program animation is generated together with xDIVA(eXtreme Debugger Information Visualization Assistant) system. In our approach, visual tracepoints keep updating the run-time information to xDIVA system without suspending the program execution. Together with the layout interpolation animation feature in xDIVA, we propose a practical way toward to generic program animation.

參考文獻


[4] Yung-Pin Cheng, Han-Yi Tsai, Chih-Shun Wang, and Chien-Hsin Hsueh, “xDIVA: automatic animation between debugging break points” SOFTVIS Proceedings of the 5th international symposium on Software visualization, pp. 221-222, 2010.
[7] Guido Rosling, Bernd Freisleben, “Experiences in using animations in introductory computer science lectures” SIGCSE Proceedings of the thirty-first SIGCSE technical symposium on Computer science education, pp. 134-138 ,2000
[8] Jorma Sajaniemi, Marja Kuittinen, “Program Animation Based on the Roles of Variables” SOFTVIS Proceedings of the 2003 ACM symposium on Software visualization, pp. 7-ff , 2003
[10] John T. Stasko, Eileen Kraemer, “A Methodology for Building Application-Specific Visualizations of Parallel Programs” Journal of Parallel and Distributed Computing, Vol 18 Issue 2, pp. 258-264, 1993
[11] John T. Stasko, “Tango: A framework and system for algorithm animation” ACM SIGCHI Bulletin, Vol 21 Issue 3, pp. 59-60, 1990

被引用紀錄


謝玉筠(2015)。資料結構的展示函式庫〔碩士論文,淡江大學〕。華藝線上圖書館。https://doi.org/10.6846/TKU.2015.00646

延伸閱讀