メタ階層アーキテクチャパラダイム メタ階層アーキテクチャは「新ソフトウェア開発パラダイム」に成り得るか? 本研究室では,かなり以前よりメタ階層アーキテクチャに取り組んできています. ソフトウェアを記述するには様々な言語が使われます. プログラムを記述するには対象領域に合わせて適切なプログラミング言語が使われます. 要求仕様や設計仕様を記述するためには,各種の仕様記述言語や図表や自然言語が用いられます.各種文書類を記述するには図表と共に自然言語が使われます. ソフトウェア開発工程を通して生成されるプロダクトは必ず何らかの記述言語で表現されています.これらの記述言語を体系的に捉えることはできないでしょうか? そこに,この研究の出発点があったのです. ソフトウェアをモデルと捉え,このモデルを記述するモデルをメタモデルとして提供します.様々なアプリケーションがモデルであり,同類のアプリケーションを記述できる範囲を領域(ドメイン)として定め,それに対応する記述言語がメタモデルです.ドメインはその抽象度に応じて階層を構成するので,当然,メタモデルも階層性を有します.これらメタモデルを記述するモデルが,メタメタモデルとなります. こんな風に考えていくと,“メタメタモデルを記述するモデルがあるはずだ”と考えられます.それは,メタメタメタモデルになるの? その通りです.しかし,このままでは無限にメタ階層ができあがってしまいます.そこで,メタメタモデルはメタメタモデル自身で記述することにするのです.そうすれば,メタメタモデル以上のモデルは必要なくなります.実際,自然言語の記述は自然言語で行われていますよね. だからと言って,自然言語そのものをメタモデルやメタメタモデルにするには,あまりにも曖昧で抽象的過ぎますから,現段階では研究対象から除外しています.
本研究室の構想をまとめると下図のようになります.赤系色の項目が特に関わりを持っている部分です.
参考文献:[1] 落水浩一郎:ソフトウェア・レポジトリ, 情報処理, Vol.35, No.2, pp.140-149 (1994) ソフトウェア開発の工程に関わらず統一的に対象を記述するための言語を開発しています.これは,オブジェクト指向を取り入れた言語であり,環境でもあるといったものになる予定です.この環境は,CASE環境としての役割も担っており,単なるプログラミング環境ではなく,ソフトウェア開発環境なのです.しかも,Unix上だけでなく,WindowsNTやMacOS上でも稼働するものを目指しています.これにより,マルチプラットフォームにおけるグループ開発も可能となるはずです.環境として構築するためにオブジェクト指向データベースとの連携も図り,ソフトウェアリポジトリとして実現する計画です. この研究は平成8年度より,MoMAプロジェクトとして推進されています.あなたもプロジェクトメンバとなって開発に取り組んでみませんか? |
《表紙》に戻る | Count: 454 |