学位論文要旨



No 111494
著者(漢字) ジェフ,マカファー
著者(英字)
著者(カナ) ジェフ,マカファー
標題(和) オブジェクトシステムのプロトタイピングのためのメタアーキテクチャ
標題(洋) A Meta-Level Architecture for Prototyping Object Systems
報告番号 111494
報告番号 甲11494
学位授与日 1995.09.29
学位種別 課程博士
学位種類 博士(理学)
学位記番号 博理第2975号
研究科 理学系研究科
専攻 情報科学専攻
論文審査委員 主査: 東京大学 助教授 平木,敬
 東京大学 教授 小柳,義夫
 東京大学 助教授 萩谷,昌己
 東京大学 講師 品川,嘉久
 慶應義塾大学 教授 所,真理雄
内容要旨

 応用プログラムの大規模化と複雑化にともない,システムの各部分が異なった計算モデルを使用することが,しばしば必要になる.複雑な応用プログラムにおいてシステム内で複数の異なったモデルを使用する事は,これまで詳しくは研究されていない.この研究では,研究者やシステムの設計者が,計算モデルと独立に,オブジェクト指向に基づいて応用プログラムのプロトタイプを構築できるメタレベルアーキテクチャ環境を提案する.これにより設計者は,応用プログラムの挙動やオブジェクト間の相互作用を,利用者のプログラムを大きく変更することなく改良・改変することができるようになる.特にこの研究では,細粒度の,オブジェクト毎のメタレベルの分割という原理を基礎とするメタレベルアーキテクチャを設計し,実装した.他のメタレベルアーキテクチャと違い,我々はオブジェクトの挙動の再利用や,複数のオブジェクトモデルの合成や組合せを容易にし,それらを促進する.これは,システム内の仕事を明確に分割し,それらをメタレベルオブジェクトに割り当てる,という通常のオブジェクト指向ソフトウェア工学の原則に従うこと,およびオブジェクト間の共同作業を可能にするための基盤を提供することで達成される.このアーキテクチャにより,全く異なったオブジェクトモデルが素早くかつ簡潔に表現でき,かつそれらが利用者のプログラムにほとんど変更を与えることなく提供できる.本論では,分散コンピューティングにおけるいくつかの例を詳細に説明する.それらの例においては,いくつかの逐次の単一プロセッサ用プログラムが,メタレベルの変更により並行,分散アプリケーションに変換される.このような例によって,本研究によるアーキテクチャが,新しいオブジェクトモデルを記述し,それらの有用性を標準的な利用者のアプリケーションに適用しながら,プロトタイプを構築するための強力な環境を提供することが示される.

審査要旨

 応用プログラムの大規模化と複雑化にともない、システムの各部分が異なった計算モデルを使用することが,しばしば必要になる。複雑な応用プログラムにおいてシステム内で複数の異なったモデルを使用する事は、これまで詳しくは研究されていない。

 本研究では、研究者やシステムの設計者が、計算モデルと独立に、オブジェクト指向に基づいて応用プログラムのプロトタイプを構築できる、CodA/Tjと呼ぶメタレベルアーキテクチャ環境を提案している。特にこの研究では、細粒度の、オブジェクト毎のメタレベルの分割という原理を基礎とするメタレベルアーキテクチャを設計し、実装している。このアーキテクチャにより、全く異なったオブジェクトモデルが素早くかつ簡潔に表現でき、かつそれらが利用者のプログラムにほとんど変更を与えることなく提供できる。また、オブジェクトの挙動の再利用や,複数のオブジェクトモデルの合成や組合せを容易にするため、これらの機能の利用を促進する。

 論文は9章から構成されている。

 第1章は、全体の序論であり、研究分野と、その分野における主要な問題点、及び、本研究でとり扱う問題の範囲について述べている。

 第2章では、関連する研究、及び、一般的にとられているおのおの異なるアプローチの長所、短所を論じていつる。

 第3章では、CodAアーキテクチャの提案を行なっている。特に、「操作による分割」(Operational Decomposition)よるメタレベル構成法に焦点をあて、オブジェクトの振舞いを抽象化するために用いられるオブジェクトモデルの概念について詳説している。また、メタレベルでの振舞いの抽象的記述を管理し、組み合わせる手法についても議論している。

 第4章では、データフロー形式の上で行なわれる計算をCodAで表現する手法の一つの例としてPorted Objectと名付けられたモデルの表現を示している。これは、既存のオブジェクトの振舞いに変更を加えることにより、全く異なる計算の枠組の実現できることを例証しているといえる。

 第5章では、CodAを用いて作成された分散オブジェクトシステムであるTjについて詳説している。Tjを用いることにより非分散環境におけるオブジェクトに分散計算に必要な機能を付け加えることができる。分散計算となるために付け加える必要のある機能として、遠隔参照/メッセージの引渡し,マーシャリング,オブジェクト移住(migration)、複製(replication)などがある。こうして出来たTjは、完全に既存の環境に統合され、利用者に分散環境であることを余り意識させないですむいわゆるトランスペアレントな分散環境である。

 第6章では、Smalltalk環境下でのCodAの実現方法と使用方法について述べている。CodAはSmalltalkに統合されており、CodAのオブジェクトとSmaltalkのオブジェクトとが、相互作用および、協調的に動作する(inter-operate)ことが可能である。また、実際のプログラムの例を挙げ、CodAアーキテクチャをサポートにするメカニズムについて概観している。

 第7章では、N体問題、エキスパートシステム、データ解析などを含む実世界問題へのCodA/Tjシステムの応用についてのべている

 第8章では、既存のアーキテクチャの代表的なものを取り上げ、それらの能力とCodAのそれとを比較し、評価している。

 第9章では、本研究で得られた結果をまとめ、今後の展望について述べている。

 以上要するに、本研究は、(1)「操作による分割」という新しい方式によるオブジェクト指向に基づいたメタレベルアーキテクチャを提案し、(2)広範なオブジェクトモデルとそれらの応用システムが、(3)比較的容易な変更・改変により実現可能であることを実証した。この意義は大変高く、博士(理学)を与えるに十分値するものと、審査員全員一致で認めた。

UTokyo Repositoryリンク