view debug.tex @ 1:78a12584e841

reduce 1st section
author one
date Wed, 18 Feb 2009 23:02:19 +0900
parents 39af8ab46cbb
children
line wrap: on
line source

\section{デバッグツール}

\subsection{Network Simulator}
REPの接続プロトコルの検証や、マージアルゴリズムの検証を行うためのツールとしてJavaPathFinderの利用を検討した。
しかし、JavaPathFinderでは実際の分散プログラムを検証することができないため、分散プログラムをシミュレーションするためのツールとしてNetwork Simulatorを導入した。
今回、JavaPathFinderでの検証までは至ってないが、Network Simulationを用いて、Session Managerを記述することにより、実際にソケットを呼び出すことなく分散プログラムをデバッグすることができた。

このNetwork Simulatorはソースコードを変更することなく、プログラム起動時の引数によって実際のソケットを使った通信を行うか、シミュレーションを行うかを選択することができる。

\subsection{簡易エディタ}
REP の接続シーケンスのデバッグや、マージャのデバッグを行う際、実際に REP 実装されたエディタ (Eclipse や Vim、Emacs) を立ち上げて、GUI 操作やコマンドを打ち込むことよる、接続のテストや、テキストを編集して、編集結果がプロトコルどうり反映されているか、マージがうまくいっているかをテストするには、テスト方式も煩雑であるし、また、Eclipse などは立ち上げに時間がかかるといった問題点もあった
そのため、これらのデバッグを自動で行うツールとして Java 版の簡易エディタを作成した。 
簡易エディタには、テキストの編集結果やマージの結果を可視化するツールや、送受信したコマンドをエディタごとに切り分けて表示する機能を追加した。
また、自動的にランダムに編集コマンドを生成する機能を実装し、マージのデバッグなどに利用した。