「Slides - A Remote Access Protocol for the X Window System」
図の外の説明部分を訳出。
----slide 1:
著者
W. Keith Edwards(Georgia Tech)
Susan H. Liebeskind(同上)
Elizabeth D. Mynatt(同上)
William D. Walker(Digital)

----slide 2
RAP の切っ掛け
・DACX - Disability Action Committee for X
・Georgia Tech におけるメルカトル計画
図画(graphical)の出力を非視覚的情報へ翻訳
視力の弱い人でも X を扱えるようにする
・初期の取組みでは擬似サーバと Editres を使用
実行速度の問題
情報の質
ツールキットに依存

----slide 3
RAP の目標
・外部のエージェントがクライアントのユーザ・インタフェイスの情報を集められるようにすること。可能であれば同インタフェイスを操作できるようにもする。
・X に基づくアプリケーションをリアルタイムに非視覚的表現へ翻訳する。

--slide 4
RAP の用途
・画面読取りアプリ(screen reading applications)
・電話からの操作
・自動試験ツール
・Editres on Steroids(Editres 強化版)
・音声による入力応答
・文脈と(context-sensitive)発声による操縦
・((ここにあなたの案を入れる))

----slide 5
RAP 設計の要件
・透過性
・自由な待合せ順序
・複数エージェント
・複数プロトコル
・Xt 限定でない
・情報の濾過
・軽量であること

----slide 6
RAP の構成要素
・ICE
・ICE ランデヴ機構
・R6 フック機能
・RAP

----slide 7
ICE
・R6 で新登場
・Inter-Client Exchange プロトコル
・独自プロトコル開発のための汎用な骨組み
・使用例はセッション管理
・ClientMessage を用いるより、はるかに高効率。

----slide 8
ICE ランデヴ機構
・半自動
・エージェントは何時でもクライアントとの ICE 接続を確立できるようになる(逆も同様)
・エージェントとクライアントは同時に複数のプロトコルを使用できるようになる
・クライアントの側でソース・コードを修正する必要がない

----slide 9
ICE ランデヴ機構(詳細)

----slide 10
ICE ランデヴ機構(エージェントが ICE 接続を待ち受ける)

----slide 11
ICE ランデヴ機構(エージェントが ClientMessage を送信する)

----slide 12
ICE ランデヴ機構(Xtea が ClientMessage を処理する)

----slide 13
ICE ランデヴ機構(プロトコルの接続が完了する)

----slide 14
R6 のフック機能
・R6 の Xt で使えるもの
XtHooksOfDisplay()
様々なウィジェット・アクションのコールバック
・CreateHook
・ChangeHook
・ConfigHook
・GeometryHook
・DestroyHook

----slide 15
R6 フック機能
(続き)
・R6 の Xlib で使えるもの
XESetBeforeFlush()
クライアント側の拡張フック
Xlib リクエスト・バッファが放流される度に呼び出される。
Xlib リクエストの大量の情報を漉すことができる

----slide16
Remote Access Protocol
・ICE を基層とする
・ICE ランデヴ機構を使って開始する
・R6 のフック機能から得られるユーザ・インタフェイスの情報
・クライアントとエージェントの間のメッセージの標準系

----slide 17
RAP
(情報の型)
・オブジェクトの階層
・リソースの情報
・位置情報
・ウィンドウ<-->オブジェクトの変換
・情報の選別の仕様

----slide 18
RAP
(メッセージの型)
・要求(requests)
エージェント-->クライアント
・返答(replies)
同期的、返事が要る(synchronous)
クライアント-->エージェント
・通知(notifications)
非同期的、一方的(asynchronous)
クライアント-->エージェント

----slide 19
RAP メッセージ
(返答を伴う要求)
・GetResources {Request | Reply}
・QueryTree {Request | Reply}
・GetValues {Request | Reply}
・ObjectToWindow {Request | Reply}
・WindowToObject {Request | Reply}
・LocateObject {Request | Reply}
・GetActions {Request | Reply}

----slide 20
RAP メッセージ
(通知)

----slide 21
RAP メッセージ
(通知の続き)
・AddNotifyRequest
CreateNotify、ChangeNotify、ConfigNotify、
GeometryNotify、DestroyNotify
・SelectEventRequest
EventNotify
・SelectRequestRequest
RequestNotify

----slide 22
RAP メッセージ
(返答を伴わない要求)
・SetValuesRequest
・RemoveNotifyRequest
・DoActionRequest
・CloseConnectionRequest

----slide 23
現状
ICE ランデヴ機構
・雛形は既に使用可能
・間もなく発表できる
・R7 への採用案も

----slide 24
現状
RAP
・メルカトル(Mercator)
ソケットから RAP へ移行
営利目的の資金提供を受けている
・k-Edit
Bull France が開発
発想がよく似ているので、取組みを合流させることも可能
・Xm
簡易手続きは、Xt フックを呼び出すように修正する必要がある(例えば XmListDeselectPos)

----slide 25
質問・意見
・Keith Edwards keith@cc.gatech.edu
・Beth Mynatt beth@cc.gatech.edu
・Sue Liebeskind shl@cc.gatech.edu
・Will Walker wwalker@zk3.dec.com
参加するには x-agent-request@x.org にメール。
