第 182 回 PTT のお知らせ


日時: 1993年 1月 21日 (木) 18:30 から
場所: 東京大学工学部 6号館中会議室 (地下鉄千代田線根津駅下車徒歩10分.または 地下鉄丸ノ内線本郷三丁目駅下車徒歩10分)
話者: 立山 義祐 (東大)
題目: タプル通信を使ったユーザインターフェイス
概要: プログラミングの際に, 簡単なウィンドウをちょっと出してみたいということ もあるかもしれない. しかし, 簡単なウィンドウを出すだけでも, かなり煩雑 なプログラミング (Xlib, Xt 等) を要求される. そこで, ウィンドウ等のユー ザインターフェイス部分を一つ一つの部品 (UNIX プロセス)に分解し, それぞ れの部品の間をタプル通信で結んで, 簡単なウィンドウを手軽に取り扱えるよ うにした.
食事: 17:00までに,03-3812-2111 ext.7411 岩崎迄.

	      葉書の残りは   枚です

差出人(幹事):
113  文京区本郷 7-3-1
     東京大学工学部計数工学科  岩崎英哉
     03-3812-2111  ext. 7411
     iwasaki@wadalab.t.u-tokyo.ac.jp

第 182 回 PTTメモ


日時: 1993年 1 月 21 日 (木)
場所: 東京大学工学部 6号館中会議室
題目: タプル通信を使ったユーザインターフェイス
話者: 立山 義祐 (東京大学大学院工学系研究科)
出席者: 和田 英一 (nil), 川平 吉樹 (ソニー), 佐々木 崇郎 (慶大・理工), 大塚 由里子, 渡辺 恵子, 白倉 悟子 (津田塾), イクラム フセイン, 三好 祉夫, 多田 好克 (電通大), 岩崎 英哉, 山下 伸夫, 寺田 実, 石井 裕一郎, 長橋 賢児 田中 哲朗, 田中 久美子, 尾上 能之, 木下 毅 (東大・工), 伊知地 宏, 倉部 淳 (富士ゼロックス), 石畑 清 (明大・理工)
質疑応答:
人間にとって解りやすい UI (ユーザインターフェイス) というものが,時とし
て重要なキーを担っている場合がある.そのような UI として, 最近, ウィン
ドウシステムが広く普及しつつある.プログラミングの際に, (数字や文字の羅
列ではなく) 一目で理解できるようなウィンドウをちょっと出してみたいとい
うこともあるかもしれない.

しかし実際には, 決まりきった簡単なウィンドウを出すだけでも,
かなり煩雑なプログラミング (Xlib, Xt 等のノウハウ) を要求される.

そこで, ウィンドウ等のユーザインターフェイス部分を一つ一つの部品
(UNIX プロセス)に分解し, それぞれの部品の間をタプル通信で結ぶことにより,
ウィンドウプログラミングの知識がなくても, 簡単なウィンドウを手軽に取り
扱えるようにした.

なお, タプル空間通信とは, 共有メモリ空間を介して, メッセージを蓄積, 
(パターンマッチに基づく)配送を行なうするシステムのことである.

そのような, タプル部品システム(仮称)を試みに構築してみて, 実際に
具体的にアプリケーション (CD-ROM 辞書びきシステム) を組み,
その実用性と問題点について考察してみた.

タプル部品としたことにより, 次のような利点があった.

o ウィンドウを簡単に扱えるようになった.
o タプル通信でむすんでいるため, デバッグが容易である.
o カスタマイゼーションが容易になった.
	. 好きな部品と取り替えることが出来る.
	. top level script を書きかえれば, 動作環境(X, tty等)を変更できる.
o ウィンドウを出したまま, 複数のプロセスが使い回すことができる.
o 異なる入出力を適用できる.


当日挙げられた質問, 意見など ---------------------------------------------

  挙げられた問題点を, (思い出せるかぎり) 以下に挙げます.

o 例で挙げられたアプリケーションの top level の shell script が割と繁雑である.
o fork, signal に頼った非同期問題の解決法がきれいではない.
o 部品の終了の仕方を系統だてた方がよい.
o 部品同士の通信の可能性を, 挙げられた例では用いていない.
o タプル空間通信システムの read に改良を加えるとよいかもしれない.

  これらについては, これから適宜考えていきたいと思います.

  また, 質問のあった速度の話ですが, 発表後に計測を行ないましたので
その結果を簡単に以下に挙げます.

o 計算機環境
	1) Sparc LT 1台.
	2) SS2, Sparc IPC, Sparc LT それぞれ1台ずつ.

o 走らせたプロセス
	. tsd (タプル空間を実現するサーバ)
	. ts_measure (時間計測を開始し, ある複数のタプルを out する)
	. ts_draw.m (お絵書き用の部品 ts_draw の計測用 version)

	これらを, 1) では 1台の machine 上で, 2) では複数の machine に
	それぞれ 1つずつプロセスを実行させた.

o 計測方法
	1000個のタプルを ts_measure が生成 & OUT し始めてから, 	それらを
	ts_draw.m がそれらすべてに対して, IN , 解釈, 描画を行なうまでの
	経過時間を計測した.

o 結果
	1) 4.8秒
	2) 3.8秒

	(参考) タプル空間操作なしで単に 1000 本の線を引かせた場合,
	       (場合によって値はまちまちであるが) 0.1秒くらいである.

終りに -----

  稚拙な発表を聞いていただきました皆様, どうもありがとうございました.
また, 数多くの貴重な意見をいただき, 感謝致します.
- --
立山 義祐 @ 東京大学大学院工学系研究科機械工学専攻 修士課程1年
 算法設計研究室  E-mail:tateyama@sanpo.t.u-tokyo.ac.jp