POT Prototype Systemの実装(2) など1

伊戸川暁2

今日は主に、 自分がどういう勘違いをしていたことに気づいたかについて話そうと思います。

マクラ: Xanaduのソース

1999年8月27日、かのXanaduのソースが部分的ながら公開された ので(参考資料1)、取ってきて[1]少しいじってみた。

当初筆者は、

のレベルで批評しようと思ったのだが、 きちんと動かないようなので少し中身を覗いてみたところ、 「構想40年の末に公開」したはずのソースの あまりの完成度の低さに目を覆ってしまったのだった。例えば、 などなど。

ちなみに、最もひどいと思った1行は、

system("cat /usr3/xu/requests.j");
である3

ひどい感想になるが、 どうして世間でXanaduがあまりまともに扱われないのか、少し分かった気がした。

1. コンセプトの再確認 - (無謀にも)Xanaduと比較して

そもそもなぜXanaduのソースなどをチェックしようと思ったかだが、 それは、目的が比較的似ているからである。

1.1 共通点

1.2 向こうにあってこっちにないもの

1.3 向こうになくてこっちにあるもの

2. 実装した点

現在作成したコードの分量は1300行程度 4

最近したことは:

しかし上記作業中、以下のようなことどもに次々と気づき、 相当部分がナンセンスであると分かったところで本日の発表を迎えた。

3. 僅かながらも手を動かしてみて気づいたことども

今日の本題はむしろここです。 なんだか当たり前のことばかり言っているようですが、 本人にとっては新鮮な発見だったので勘弁して下さい。

3.1 層と文書の対応関係

文書の姿は、「層」ではなく、「層の間」に対応する(図1)。 層同士が「文書」をやりとりするのだと考えれば当然そういうことになる。

層の中にある「文書」は、バイト列というよりはむしろ Objectとして存在しており、それが層の上面と下面とで 異なった表現を取ると考えた方がよい。

図1: 層と文書の対応の正誤
[図1]

3.2 層の切り分け図最新版

実装で試行錯誤中、層の切り分けにも仕様変更が生じた (図2を参照)。

図中の矢印は情報(=文書)のやりとりがある、すなわち プロトコルが存在することを示し、破線は、その両側のやりとりが クライアント/サーバを介することを表している。

図: 階層構造図(1999年9月14日現在)
[図2]

3.3 各々のプロトコルにおいて、「文書」はどのように表現されるべきか?

前回の見本xml(参考資料2)は、 図2の番号でいえば「4」でやりとりされるべき文書を考えていたものの、 の両者によく気づいていなかったために、中途半端なものになってしまった。

従って、各箇所のプロトコル用の「文書」の定義を決めなければならないのだが、 現在策定中。

4. やるべきこと

参考文献

1
roger@xanadu.com: Udanax Green, http://www.udanax.com/green/.



... など1
KTYYゼミ発表資料
...伊戸川暁2
川合研M2
... である3
おまけに配布物中には、`requests.j'という名前の ファイルが全く存在しない。
... 現在作成したコードの分量は1300行程度4
思いついた順番に、極めて場当たり的に開発しています。
... caseとしての協力文書募集5
当初はこの発表で、ゼミとかの資料をPOTに入れたい旨 皆様にご協力をお願いしようと思っていたのだが、 発表に至る考察の結果、その予定は遠のいてしまった。


ITOGAWA Akira 1999年11月10日