研究課題/領域番号 |
10139238
|
研究種目 |
特定領域研究(A)
|
配分区分 | 補助金 |
研究機関 | 日本大学 |
研究代表者 |
杉山 安洋 日本大学, 工学部・工学部, 助教授 (70246841)
|
研究期間 (年度) |
1998
|
研究課題ステータス |
完了 (1998年度)
|
配分額 *注記 |
1,100千円 (直接経費: 1,100千円)
1998年度: 1,100千円 (直接経費: 1,100千円)
|
キーワード | 計算機科学 / 計算機ソフトウェア / ソフトウェア発展 / バージョン管理 / 動的ライブラリ / ソフトウェア開発環境 / プログラミング言語 |
研究概要 |
本研究では、昨年度の本研究の研究成果であるライブラリ関数のバージョン管理機能を発展させ、オブジェクトの動的バージョン管理による実行中のソフトウェアの発展機構を実現した。 オブジェクトのバージョン管理を実現するにあたっては、オブジェクトのバージョンをrevisionとvariationの2種類に分類して実現方式を検討した。Variationの実行時のバージョン管理の方式として、代理オブジェクトを用いたメカニズムを考案し実現した。本方式では、複数のバージョンを持つオブジェクトを使用するユーザプログラムを、そのオブジェクトの特定のバージョンと直接リンクするわけではなく、代理オブジェクトとリンクする。その代理オブジェクトが、ユーザプログラムからの要請に応じて、必要なオブジェトのバージョンをアクセスし、その結果をユーザプログラムに返す。これにより、オブジェクトが複数のバージョンを持つことが可能となり、それらを実行時に選択して使用することが可能となった。 Revisionのバージョン管理では、基本的には、variationの切り替えと同様に代理オブジェクトを用いた。さらに、オブジェクトの新バージョンを作成する時に、既存のバージョンの状態、すなわちインスタンス変数の値を受け継ぐために、Derivationをもとにしたメカニズムを考案し実現した。本方式では、既存のオブジェクトに変更を加えたい場合には、新バージョンのオブジェクトを表すクラスを、既存のオブジェクトのクラスの導出クラスとして定義する。さらに、オブジェクトの新バージョンを、既存のバージョンを親オブジェクトとする導出クラスのインスタンスとして生成する。これにより、既存のバージョンの状態を失うことなく、新バージョンへ切り替えることが可能となった。
|