動的適応可能なソフトウェアの系統的構成方式と言語の研究開発

DASクラスライブラリ

in English

概要 キーワード ダウンロード ソフトウェア使用許諾書

概要
開放型分散システム環境や移動計算機環境の普及にともない,プログラマは 設計の段階でソフトウェアの実行環境およびその動的な状態変化を完全に予測 することができなくなった.しかし,多様な実行環境とその動的な状態変化が プログラムの実行に与える影響は大きく,これを無視することはできない. それゆえ,今日のソフトウェアは多様な実行環境で動作し,その動的な状態 変化に適応できることが要求される.本研究では,このようなソフトウェアを 指して動的適応可能なソフトウェアと呼ぶ. 一般に,こうした動的適応可能なソフトウェアを作成することは困難であり, その有効な構成手法が望まれている. 本研究では,動的適応可能なソフトウェアのためのモデル DASを提案し, DASモデルにもとづくプログラミング言語の基本機構を設計・開発する. DASモデルは,さまざまな実行環境やその動的な状態変化に適応する機構を 持ち,DASモデルにもとづくプログラミング言語は,動的適応可能な ソフトウェアの柔軟な記述を支援する.本研究では,こうしたDASモデル およびその記述言語の有効性を示すとともに,DASモデルにもとづく動的適応 可能なソフトウェアの有効性を示す. 動的適応可能なソフトウェアを実現する上で,各ソフトウェア自身の振舞いを 実行環境の状態に応じて変えることは有効な方法である.しかし,言うまでも なく同一のソフトウェアに対して実行環境ないしその状態ごとに振舞いの 異なるバージョンを多数作成することは現実的ではない.その上,実行環境や その状態変化に対するソフトウェアの振舞いは,各ソフトウェアの性質, さらにはその個々の処理の性質に依存する場合が多く,これを外部から汎用的 に制御することは困難である.このため,各ソフトウェア自身が実行環境や その動的な状態変化に対処(適応)する能力を持つ必要がある.本研究では, このソフトウェアの能力を指して動的適応可能性 と呼ぶ.適応適応可能 なソフトウェア,すなわち動的適応可能性を持つソフトウェアは,さまざまな 実行環境やその動的な状態変化に適応できるだけでなく,その適応動作により 各実行環境固有の特性を最大限に活かすことができるようになると考えられる. しかし,プログラマが事前に予測可能な実行環境とその状態には限界がある ため, プログラマが事前にソフトウェアに与えることができる動的適応可能 性にもやはり限界がある.このため,ソフトウェアの動的適応可能性は, 拡張が可能な構造で実現され,事前に予測できなかった実行環境やその動的な 状態変化に対して,拡張/変更できる必要がある.本研究では,そのような 拡張可能な動的適応可能性を備えたソフトウェアのモデルDAS(以下, DASモデル)を提案する.以下は,DASモデル の主要な概念である.
  • ソフトウェアにおける適応動作の単位を手続きとし,手続き呼び出しに もとづいて適応動作の制御を行なう.
  • DASモデルは,適応可能手続きと呼ばれる 実行環境の状態にもとづく総称手続き(総称関数)を持つ.
  • 適応可能手続きの制御機構は,自己反映計算 を利用して実現される.
  • DASモデルにもとづく動的適応可能なソフトウェアは, メタレベルアーキテクチャを形成する.
これらの概念は,本研究の以下の目標にもとづいている.
  • 既存言語によるソフトウェアへの高い親和性.
  • 柔軟性の高い動的適応可能性の実現.
  • 高い可読性,保守性,拡張性の実現.
既存のソフトウェア資産を開放型分散システム環境や移動計算機環境で有効に 利用したいという要求は大きい.それゆえ,既存のプログラミング言語で記述 されたさまざまなソフトウェアに動的適応可能性を導入できる方式が望ましい. DASモデルでは,ソフトウェアにおける適応動作の単位を手続きとし, ソフトウェアの適応動作は適応可能手続きと呼ばれる実行環境の状態に もとづく総称手続き(総称関数)として実現される.ひとつの適応可能手続き は,実行環境の状態に応じた実行コードを持つ複数の 適応可能メソッド から構成される.適応可能手続きが呼び出されると,実行環境の状態に応じて 適切な適応可能メソッドが選択され,実行される.この手法は,原理的に 手続き呼び出しの機構を持つ多くの既存言語により記述されたソフトウェアに 適用できる.この結果,既存のソフトウェア資産を有効利用できる可能性が 高まる.本研究では,DASモデルの基本機構をJava言語のクラスライブラリ (以下,DASクラスライブラリ)として設計・ 実装した.そして,実際にDAS クラスライブラリを用いてJavaのアプリケーションに動的適応可能性の導入を 行なった.これらの実装を通じて,DASモデルが既存言語およびその ソフトウェア対して高い親和性を持つことを実証した. 本研究の手法において,ソフトウェアの柔軟な動的適応可能性を実現するには, 適応可能手続きの制御機構を実行環境の状態に応じて柔軟に変更できることが 求められる.DASモデルでは,この制御機構自体が適応可能手続きを用いて 自己反映的に実現される.そのため,この 制御機構自体も実行環境の 状態変化に適応することができる(実行環境の状態変化に応じて変化する). 実行環境の状態変化に応じて,この制御機構を変えることで,ソフトウェアの 柔軟な適応動作を実現することが可能となる.たとえば,実行環境の状態に 応じたソフトウェアの機能の一時的な制限やその解除といった適応動作を, プログラムを修正することなく実現することができるようになる. さらに この制御機構が,適応可能手続きを用いて実現されるため,この機構の カスタマイズは,その構造を修正することなく,適応可能メソッドの インクリメンタルな追加で実現できる.これらの利点について,DASクラス ライブラリを用いた例題の実装を通して,実際に確かめることができた.また, ソフトウェアにおける柔軟な適応動作の有効性も実際に例題を用いて示した. DASモデルにもとづく動的適応可能なソフトウェアは, メタレベルアーキテクチャを形成する.その メタレベルは, ソフトウェアにおける適応動作の制御を実現する機構の記述からなり,ベース レベルは,各ソフトウェアにおける問題領域の記述からなる.つまり,適応 動作の制御機構は,ベースレベルの記述から完全に分離され,メタレベルに 隠蔽される.この記述の分離は,動的適応可能なソフトウェアの可読性, 保守性,拡張性を向上させる.この利点についても例題の実装を通して,実際 に確かめることができた.

キーワード
動的適応,自己反映計算,メタレベルアーキテクチャ,メタオブジェクト プロトコル,総称関数,メソッド,拡張,共有,再利用,可読性,保守性, モーバイルコンピューティング,モーバイルエージェント

ダウンロード

ソフトウェア使用許諾書
  • 著作権 本ソフトウェアの著作権は,情報処理振興事業協会(IPA)および 天野憲樹が所有しています.
  • 著作者の免責 本ソフトウェアが,直接または間接的に損害を生じさせても,著作者は一切の 責任を負いません.また,機器や媒体が原因の損害につきましても,著作者は 一切の責任を負いません.よって,著作者は本ソフトウェアに関するいかなる 保証も行ないません.さらに,本ソフトウェアを使用した結果の影響に関して も一切の責任を負わないものとします.
  • 本件に関する問い合わせ先 天野憲樹 n-amano@jaist.ac.jp

この研究は,情報処理振興事業協会(IPA)「高度 情報化支援ソフトウェアシーズ育成事業」の一環として行なわれた ものである.

作者のホームへ