
MDAのしくみ(3)
MDAはどのように作動するか
ボーランド
樫山友一
2004/4/23
第1回「MDAのメリットを考える」と第2回「開発の流れにMDAを取り込む」で、MDAの利用方法の紹介を終了しました。今回は、MDAがどのように働くかを解説します。実際にMDAの技術の利用者が詳細まで理解する必要はありませんが、利用しているテクノロジがどのようなものなのかはぜひ知っておいていただきたいと思います。
◆MDAの全体像
図1にMDAの動作の概要を示しました。第1回の繰り返しになりますが、再度概要を解説します。実際にMDAを利用して開発者が開発を行う場合、テクノロジとして意識して利用するのは、図にあるPIM、PSM、UML Profileです。
![]() |
| 図1 MDAの概要 |
第1回で解説したように、分析段階でPIMを作成します。これをMDA対応ツールがPSMへと自動変換します。さらに、MDA対応ツールは、PSMからソースコードへも自動変換を行います。MDA対応ツールは、この自動変換を逆方向に対しても行います。
- - PR -
◆UML プロファイル(UML Profile)の例
UML Profile for CORBA
UMLを使って、CORBA IDLの意味を表現するためのものです。これによって、UMLのツールを使うことが可能になります。
UML Profile for EJB
UMLを使ってEJBアーキテクチャに基づいたシステムの設計を行うためのものです。JCP(Java Community Process) の中で UML/EJB Mapping Specification として始まったものです。Java 言語仕様に基づくものや EJB 仕様に基づくものをモデル上に表現するためのステレオタイプやタグ付き値が提案されています。図2にEntity Beanの例を示します。リモートインターフェイスには、<<EJBRemoteInterface>>というステレオタイプ、ホームインターフェイスには、<<EJBEntityHomeInterface>>、実装クラスには、<<EJBImplementation>>のステレオタイプが付いています。
![]() |
| 図2 UML Profile for EJBの例 |
◆UMLプロファイルを用いた変換
PIMからPSMの変換をUMLプロファイルを用いて行う場合、あるステレオタイプの付いているクラスを認識して、あるステレオタイプのクラスへ変換するといった動作をすることになります。実際には、<<entity>>のステレオタイプの付いたクラスから、<<EJBRemoteInterface>> <<EJBEntityHomeInterface>> <<EJBImplementation>>の3つのクラスが生成されることになります。
![]() |
| 図3 変換前のPIMのクラス |
図3のCustomerクラスから、図2の3つのクラスが生成されます。このように、UMLプロファイルを用いてPIMからPSMの変換を行うためには、どのクラスがどのクラスにマッピングされているかを定義する必要があります。変換を行うためには、このマッピングを定義する必要があります。これは、ツールがデフォルトで持っているケースもありますが、独自のUMLプロファイルを適用する場合は、マッピングを新たに定義する必要があります。
次にMDAを構成する技術的な要素について解説します。ここからの解説は、実際にMDAを利用するエンジニアにとって必須となる知識ではありませんが、MDAがどのような仕組みで成り立っているかは、知っておいても損はないと思います。
|
1/2
|
|
INDEX |
||
|
第3回 MDAはどのように作動するか |
||
| Page1 MDAの全体像 |
||
| Page2 MDAの構成要素 |
||
| IT Architect 連載記事一覧 |
ホワイトペーパー(TechTargetジャパン)
|
|




