MDAスタイルの変換

<< 目次を表示 >>

ページ位置:  UMLのモデリング >

MDAスタイルの変換

 

モデル駆動アーキテクチャ(Model Driven Architecture : MDA)の変換機能は、モデル要素に対して、あるドメインから別のドメインへ変換する機能です。一般的な活用方法として、プラットフォーム独立モデル(PIM)から、プラットフォーム依存モデル(PSM)への変換が挙げられます。PIMの1つの要素から、PSMの複数の要素への変換も可能です。

 

モデル変換の機能を利用することで、特定の実装ドメインに対応するモデルを手作業で作成する必要が無くなり、また作成したモデルの漏れ・抜けや矛盾の確認作業も不要となります。例えば、論理的なクラスモデルから、データベーステーブルの要素を自動生成できます。さらに、変換して生成した要素に対して、自動的にソースコード生成を実行することも可能です。

 

 

項目

説明

概要

MDAスタイルの変換機能ではモデル要素を別の要素に変換することができます。この変換ルールは自由にカスタマイズすることができます。

この機能は、基本的にはプラットフォーム独立モデル(PIM)の要素をプラットフォーム依存モデル(PSM)の要素に変換することに利用することを想定しています。

例えば、あるPIMモデルからいくつかの変換ルールを利用することで、Javaモデル・C++モデル・C#モデルを生成することができます。また、クラスからDDLモデルに変換することも可能です。この場合、クラスの属性はデータベースの列に割り当てられ、型も対応するDBMSの型に変換されます。

 

また、変換した結果から、自動的にソースコードを生成することもできます。モデルの変換ダイアログの設定項目を有効にしてください。

 

Enterprise Architectの変換機能は、コード生成テンプレートの機能を応用しています。コード生成テンプレートと同じ仕組みで中間言語を生成し、その内容からPSMを生成(あるいは同期)します。

変換前後の関係の維持

 

変換機能を実行すると、変換後のPSMモデルと変換元のPIMモデルの間に内部的な関係が定義されます。これにより、PIMモデルに変更があった場合に、対応するPSMモデルに対して同期更新を行うことができます。変換処理は複数回行われる可能性があり、PIMモデルへの追加や削除をPSMモデルに反映させることができます。

例えば、PIMモデルに属性を追加すると、PSMモデルにもその変更を反映することができます。この関係は、トレーサビリティサブウィンドウで確認することができます。

 

Enterprise Architectの変換では、変換によって生成されたのではない属性や操作などは、PSMモデルからは削除しません。よって、PSMモデルに属性や操作を追加することができます。

既定で提供されている変換ルール

 

既定の変換機能を利用すると次のような処理が可能です。

  • C# -プラットフォーム独立のクラスをC#クラスに変換します。
  • C++ -プラットフォーム独立のクラスをC++クラスに変換します。
  • DDL - プラットフォーム独立のクラスをプラットフォーム依存のテーブル要素に変換します。
  • EJB Entity - プラットフォーム独立のクラスをEJBエンティティビーンを構成するクラスやインターフェース要素に変換します。
  • EJB Session - プラットフォーム独立のクラスをEJBセッションビーンを構成するクラスやインターフェース要素に変換します。
  • Java - プラットフォーム独立のクラスをJavaクラスに変換します。
  • PHP -プラットフォーム独立のクラスをPHPクラスに変換します。
  • VB.Net -プラットフォーム独立のクラスをVB.Netクラスに変換します。
  • XSD - プラットフォーム独立のクラスをXSD要素に変換します。
  • Data Model to ERD - データベースモデリング要素から実体関連図へ変換します。
  • ERD to Data Model - 実体関連図からデータベースモデリング要素へ変換します。
  • シーケンス図からコミュニケーション図への変換
  • コミュニケーション図からシーケンス図への変換
  • JUnit - JUnit既存のクラスからテスト用のクラスを生成します。
  • NUnit - 既存のクラスからNUnitテスト用のクラスを生成します。
  • WSDL - プラットフォーム独立のクラスをWSDLのパッケージ構成に変換します。

 

 

 

変換ルールのカスタマイズ

MDA変換したPSMクラスからは、自動的にソースコードを生成する処理を続けて実行することもできます。詳細は生成結果のソースコードを生成オプションをご覧下さい。

MDA変換のルールはEnterprise Architectのコード生成テンプレートと同じ仕組み・文法を利用して定義します。テンプレートの内容を処理した結果、中間的な生成結果を生成します。Enterprise Architectはこの中間生成結果を基にPSMモデルを生成・同期します。

 

 

変換の依存関係

MDA変換機能を利用すると、PIMモデルとPSMモデルの間には内部的に追跡可能な関係 (変換の依存)が自動的に作成されます。これにより、PIMからPSMへの変換を複数実行した場合には、同期処理を行うことができます。例えば、PSMモデルのクラスに新規に属性を追加します。変換を実行すると、PSMモデルにこの属性に対応する項目が追加されます。この内部的な依存関係はトレーサビリティサブウィンドウを利用することで確認できます。このサブウィンドウを利用することで、PIM変更時の影響範囲を追跡することができます。逆に、PSMに問題があった場合に、どのPIM要素を修正すればよいかを確認することができます。

 

Enterprise Architectでは、MDA変換機能によって作成されていない要素や属性・操作は、変換では削除しません。よって、PSMモデルの要素に追加で属性や操作を追加することができます。変換を実行しても、これらの追加した属性・操作には影響しません。

 

次のダイアグラムはどのように変換処理が行われるかを示しています。:

 

注意:

アクセス権(セキュリティ)機能が有効になっている場合には、パッケージの変換のアクセス権が必要です。

 

変換機能についての詳細は次のページをご覧ください。