7
|
1 \section{ デバッグするには?}
|
|
2
|
|
3 Federated Linda 上でデバッグする一つの方法は、デバッガ
|
|
4 からタプルスペースへ問い合わせの通信を行なうことである(図\ref{集中型デバッガ})。
|
9
|
5 \begin{figure}[tb]
|
|
6 \begin{center}
|
|
7 \includegraphics[width=7cm]{fig/comDebug.eps}
|
|
8 \caption{集中型デバッガ}
|
|
9 \label{集中型デバッガ}
|
|
10 \end{center}
|
7
|
11 \end{figure}
|
|
12
|
|
13
|
|
14 この方法では、Linda Serverのad-hocな改変が必要であり、
|
|
15 デバッガは各Linda Serverへ1対多の集中的な通信を行なう
|
|
16 必要がある。この方法では、デバッガはLinda Server への
|
|
17 直接の通信路を持つ必要があるが、分散環境では、ファイアウォール
|
|
18 などの関係で、それが可能であるとは限らない。
|
|
19
|
|
20 デバッグ自体は、
|
|
21 タプル空間に直接アクセス出来るプロトコルエンジンと
|
|
22 考えることができ、Federated Lindaのメタエンジン
|
|
23 ととらえることができる。メタエンジンのAPIを
|
|
24 Linda にそろえることにより、Linda Serverへの
|
|
25 ad-hoc な改変を、決まったAPI上のデバッグプロトコル
|
|
26 の設計にすることができる(図\ref{Debugger})。
|
9
|
27 \begin{figure}[tb]
|
|
28 \begin{center}
|
|
29 \includegraphics[width=7cm]{fig/debugger.eps}
|
|
30 \caption{Debugger}
|
|
31 \label{Debugger}
|
|
32 \end{center}
|
7
|
33 \end{figure}
|
|
34
|
|
35
|
|
36 デバッグ自体をScalableにして、分散計算への影響を少なく
|
|
37 するためには、デバッグ用の通信自体がScalable である必要が
|
|
38 ある。
|
|
39
|
|
40 それには、デバッグプロトコル自体が、Federated Linda に
|
|
41 よってScalable だと示されたプロトコルであることが望ましい。
|
|
42 つまり、最初に情報収集などに適したプロトコルをFederated
|
|
43 Linda で作成し、それをそのままデバッガのプロトコルに
|
|
44 採用できることが望ましい。
|
9
|
45 \begin{figure}[tb]
|
|
46 \begin{center}
|
|
47 \includegraphics[width=7cm]{fig/obj2meta.eps}
|
|
48 \caption{メタへの移行}
|
|
49 \label{メタへの移行}
|
|
50 \end{center}
|
7
|
51 \end{figure}
|
|
52
|
|
53
|
|
54
|
|
55
|
|
56
|