茨城大学工学部情報工学科 上田研究室


新しいソフトウェア開発

メタ階層アーキテクチャパラダイム



 メタ階層アーキテクチャは「新ソフトウェア開発パラダイム」に成り得るか?

 本研究室では,かなり以前よりメタ階層アーキテクチャに取り組んできています.

 ソフトウェアを記述するには様々な言語が使われます. プログラムを記述するには対象領域に合わせて適切なプログラミング言語が使われます. 要求仕様や設計仕様を記述するためには,各種の仕様記述言語や図表や自然言語が用いられます.各種文書類を記述するには図表と共に自然言語が使われます.
ソフトウェア開発工程を通して生成されるプロダクトは必ず何らかの記述言語で表現されています.これらの記述言語を体系的に捉えることはできないでしょうか? そこに,この研究の出発点があったのです.

 ソフトウェアをモデルと捉え,このモデルを記述するモデルをメタモデルとして提供します.様々なアプリケーションがモデルであり,同類のアプリケーションを記述できる範囲を領域(ドメイン)として定め,それに対応する記述言語がメタモデルです.ドメインはその抽象度に応じて階層を構成するので,当然,メタモデルも階層性を有します.これらメタモデルを記述するモデルが,メタメタモデルとなります. こんな風に考えていくと,“メタメタモデルを記述するモデルがあるはずだ”と考えられます.それは,メタメタメタモデルになるの? その通りです.しかし,このままでは無限にメタ階層ができあがってしまいます.そこで,メタメタモデルはメタメタモデル自身で記述することにするのです.そうすれば,メタメタモデル以上のモデルは必要なくなります.実際,自然言語の記述は自然言語で行われていますよね. だからと言って,自然言語そのものをメタモデルやメタメタモデルにするには,あまりにも曖昧で抽象的過ぎますから,現段階では研究対象から除外しています.

 本研究室の構想をまとめると下図のようになります.赤系色の項目が特に関わりを持っている部分です.

モデリング世界の概念と記法・方法 [1]
対象世界 コンピュータ
世界
人間世界
  問題世界    システム世界    利用世界    開発世界 

実体と関連
時間
空間
事象
振舞い
因果関係
行為主体
データ
データ型
プロセス
手順
トランザクション
オブジェクト
クラス
メソッド
オフィス活動
ヒューマン
 エージェント
仕事
資源
コミュニケーション
依存関係

インタフェース
ライフサイクル
ソフトウェア
 プロセス

目標
決定
因果関係




ノードとアーク
意味論データモデル
知識表現
要求モデリング言語
形式仕様言語
意味論データモデル

オブジェクト指向
 仕様言語
プログラミング言語
分散AI
マルチエージェント
 フレームワーク
分散計算モデル
CSCW モデル
組織モデル
プロジェクトモデル
プロセスモデル
品質モデル

討論モデル
版管理スキーマ
構成管理スキーマ



モデル記述言語(Bramble)ERFモデル

参考文献:[1] 落水浩一郎:ソフトウェア・レポジトリ, 情報処理, Vol.35, No.2, pp.140-149 (1994)


 ソフトウェア開発の工程に関わらず統一的に対象を記述するための言語を開発しています.これは,オブジェクト指向を取り入れた言語であり,環境でもあるといったものになる予定です.この環境は,CASE環境としての役割も担っており,単なるプログラミング環境ではなく,ソフトウェア開発環境なのです.しかも,Unix上だけでなく,WindowsNTやMacOS上でも稼働するものを目指しています.これにより,マルチプラットフォームにおけるグループ開発も可能となるはずです.環境として構築するためにオブジェクト指向データベースとの連携も図り,ソフトウェアリポジトリとして実現する計画です.
 この研究は平成8年度より,MoMAプロジェクトとして推進されています.あなたもプロジェクトメンバとなって開発に取り組んでみませんか?

《表紙》に戻る
Count: 454

Copyright: Yoshikazu Ueda, 1999