PR

システムの設計情報である「モデル」から、コンピュータで動作するプログラムを自動的に生成するソフトウエア開発手法。開発や運用・保守を軽減すると期待されている。

 システムエンジニア(SE)にとって、情報システムの修正ほど、厄介な作業はありません。ほかのエンジニアが書いた膨大なプログラムのソースコードを追って、どこがどんな役割を果たしているかを理解するという難行をこなさなければならないからです。

 SEを、こうした面倒な作業から解放すると期待されているのが「MDA(モデル駆動アーキテクチャー)」です。MDAとは、情報システムに求められる機能を図式化した「モデル」を基に、プログラムのソースコードを自動的に生成する開発手法です。現在は技術開発が進んでいる途中ですが、完全な自動化が実現できれば、ソースコードを記述する作業を経なくても、情報システムを構築することが可能になります。

◆効果
保守作業を軽減

 情報システムのモデル化(モデリング)は、通常のシステム開発でも上流工程で実施する作業です。ここでの成果物を基に、プログラムのソースコードを記述するというのが一般的な開発工程になります。すなわち、一般的な開発工程では、モデリングは最終成果物であるプログラムの作成を支援する工程に位置付けられます。

 これに対して、MDAの理想像では人間が携わる最終工程の成果物がモデルになります。このため、システムが備える機能の修正や追加といった保守作業は、モデルを修正するだけで済みます。ソースコードを修正するのに比べて、保守作業が格段に軽減されることになります。

 さらに、MDAでは、OS(基本ソフト)や開発ツールに依存しないような仕組みを目指しているため、過去に作成したモデルを再利用できることが期待されています。モデルの作成には、オブジェクト技術の標準化団体である米OMG(オブジェクト・マネジメント・グループ)が標準化を進めるUML(統一されたモデリング言語)を利用します。

◆課題
完成度の向上がカギ

 モデルからプログラムを自動生成するという概念は古くからあります。1990年前後に大手ソフトメーカーが製品化を進めていたCASE(コンピュータによるソフトウエアエンジニアリング支援)ツールも同様な機能を目指したものでした。

 CASEツールがメーカー各社が提供していたOSやハードウエアを対象にしていたのに対して、MDAは実行環境に依存しないという違いはあります。ただ、現段階で「MDA対応」とうたう市販ツールのほとんどが、実行環境を限定しているのが実情です。市販ツールが、MDAの理想像にどこまで近づくかが、普及のカギを握るものと見られます。

(吉川和宏)