[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[b-free: 1370] Re: BTRON2はオブジェクト指向OS か?
隆一です。
# ネットワーク上のやりとりに移ったので、実身/仮身モデルの話というより、
# ほとんど「場のモデル」の話にすりかわっています。
From: Takanori Hayashi <takanori@ohsaki.meidensha.co.jp>
Subject: [b-free: 1367] Re: BTRON2はオブジェクト指向OS か?
Date: Thu, 16 Apr 98 16:10:28 +0900
> 林です。
>
> In message <19980416153225Y.night@soft.hitachi.co.jp>
> "[b-free: 1364] Re: BTRON2はオブジェクト指向OS か?"
> "Ryuichi Naitoh <naitoh_r@soft.hitachi.co.jp>" wrote:
> naitoh_r> うーん、これは UNIX のスペシャルファイルでも同じことが起こるし、
> naitoh_r> Plan9 でもその辺の事情は同じなので、アクセスによって振舞いが変わること
> naitoh_r> をもってオブジェクト的とは言えないような気が。。。たしかに、オブジェク
> naitoh_r> トも内部状態は操作によって変わることがありますけど。。。
>
> UNIXのファイルもオブジェクトだと思いますけど。
おぉ。いや、そう言われると何というか話が終わってしまうような。。。
そういえば、私も同じようなことを [b-free: 1209] で言ったなー。
ただ、少なくとも Plan9 の開発者は Plan9 のことをオブジェクト指向 OS と
は言っていなかったと思います。
> naitoh_r> それと、オブジェクト指向の場合、オブジェクトの読む「場所」という概念
> naitoh_r> はないのでは?
> naitoh_r> 何というか、オブジェクト指向でいうモノというのは処理の要求を受けつける
> naitoh_r> 対象であって、それ自体を触ることはできないと思いますけど。。。
>
> しかしオブジェクトへの要求にも引数を持たせられるので、動作と
> しては変わらないと思います。引数がレコードとフィールドという
> 固定のものである点でオブジェクト指向とは一線を画すのは間違い
> のないところですけど。
ふむふむ。
Plan9 のファイルも引数が固定という点では同じですね。
> naitoh_r> 分散オブジェクトは全然くわしくないのですが、分散オブジェクトへの操作要
> naitoh_r> 求には、オブジェクトの位置を指定することが必要じゃないでしょうか?
> naitoh_r> このオブジェクトの位置を表現するのは、ホスト名でも論理的な名前でも何で
> naitoh_r> もいいと思いますが、その位置を指定する必要があるのかないのかで、オブジェ
> naitoh_r> クト指向的なのかそうでないのかが決まってくるような気がします。
> naitoh_r>
> naitoh_r> つまり、オブジェクト指向の場合には、「オブジェクト」に対する「操作要求」
> naitoh_r> というのが最低限の概念としてあって、どうしても「オブジェクト」というの
> naitoh_r> を何らかの方法で指定する必要があると思います。
>
> そのオブジェクトを探す機能が目玉の一つになっているような気が
> しますけど。要するに必要なサービス(機能)を指定してそれを提供
> できるオブジェクトを得る機構があったと思います。
うーん、というかやりたいことは、オブジェクトへの通信ではなく、オブジェ
クトの処理だと思うんです。
つまり、オブジェクトがどこにあるかというのは本質ではなく、オブジェクト
へ何かをやってもらうことが本質ではないかと思います。
たとえば、時刻を知りたい場合に時計を探すことは本質ではなく、結局は、そ
の時計の表示している時刻を知ることができればいいのだと思います。時計を
探すために複雑なことをするのは全然本質ではないわけです。
たとえば、
1) 「今の時刻を知りたい!」
2) 今いるところから一番近い人に「今の時刻を知る方法」を教えてもらう。
「今の時刻を知る方法」-> 時計の表示を見る
3) 時計の場所を知っている人に、場所を教えてもらう。
4) 時計の場所までいく。
5) 時計を見て、今の時刻を知る。
ということは全然やりたいことではなくて、
1) 「今いる時刻を知りたい!」と叫ぶ
2) どこからか、今の時刻が返ってくる。
としたいわけです(あるいは、「時計を見ろ!」と返ってくるかもしれないが)。
オブジェクト指向だとオブジェクトに要求を送る必要があるので(この場合は
「時計オブジェクト」)、オブジェクト(時計)を探すという本質ではないこと
をする必要があります。
# 多分、要求を送る対象(オブジェクト)を意識しないようなオブジェクト指向(?)
# もそのうち出てくるんじゃないでしょうか?(すでに出ていたりして)
で、これが「場」のモデルだと
1) 「今いる時刻を知りたい」と床に書く
2) 床に時刻が表示される(なんといい加減な)。
となるんじゃないでしょうか? (いやまぁ、別に床でなくてもいいですけど)
> naitoh_r> これは、「オブジェクト」となるモノの数が増えると大変になってくるのでは
> naitoh_r> ないでしょうか(モノがたくさんあるとき、すべてのモノに対してそれぞれユ
> naitoh_r> ニークな名前をつけるのは大変。個々のモノに対して、それぞれ同じ指示を何
> naitoh_r> 回も与えるのもまた大変。モノを追加するとまた名前を考えなきゃいけないの
> naitoh_r> も大変)。
>
> 確かに大変でしょうね。ただマルチキャストメッセージ通信などの
> 手法を用いて特定のグループのオブジェクトに一斉に指示を与える
> 方法なんかも検討されていくと思いますよ。
たしかに、同報通信は必要になってくると思います。
> naitoh_r> ブロードキャストの概念がある分散オブジェクトがあると、また別のような気
> naitoh_r> がします。しかし、やっぱり個々の通信という形なので共通な「環境」に対す
> naitoh_r> るアクセスとは同じではないような気がします。
>
> パラダイムとしては違うと思いますよ。でも環境アクセスの実現と
> なると方法が見えてこないし、最終的に実現されるものが違うかと
> 聞かれると同じじゃないかなと思えてしまう(^_^;)。
うーん、どうやって実現するかを聞かれると厳しい。たしかに、実装となると、
分散オブジェクトのような形になってしまうかもしれません(ぉぃぉぃ)。
結局、通信をするには物理的な媒体に頼るしかないですから。
仮身/実身モデルもそうでしたが、実装となるとまだ分からない部分が多いです。
オブジェクト指向 OS だと資源をパッケージングする「オブジェクト」という
モノを考えて、それを実際の OS でどうやって実現するかを考えるだけでいい
ので(それだけでも大変ですが)、まだ楽なんですけどね。
「場」となると、どういうモノになるか、どういう形で実装するのか、全然見
えていません。
p----------------------------------------------------------------------q
| FROM R.Night |
| E-mail: |
| rnaitoh@st.rim.or.jp |
| Key fingerprint = 89 EB 77 95 40 C0 3C CC 37 A1 A7 FA 1C 66 FF D0 |
b----------------------------------------------------------------------d