Translate

2020/07/14

Eclipse MDT/UML2モデルのPapyrusでの読み込み確認

このブログでも前から書いている内容ではありますが、Papyrus は Eclipse の EMF (Eclipse Modeling Framework)ベースの UML2 モジュールに基づいて構成されています。

この UML2 モジュールは Eclipse のプロジェクトカテゴリとしては「MDT」(Model Development Tools) に属しており、そのプロジェクトのURLは以下になっています:
MDT/UML2
https://wiki.eclipse.org/MDT/UML2
なおこのサイトに「List of UML2-compatible UML Tools」という情報が掲載されています。UMLツールとして良く聞く「Enterprise Architect」や「IBM RSM/RSA」、「MagicDraw」などの間でUML2モデルとしてのコンパチビリティがリスト化されています。
MDT-UML2-Tool-Compatibility
https://wiki.eclipse.org/MDT-UML2-Tool-Compatibility

さて、前々から
「Eclipse の UML2 モジュールで作成されたモデルは、どの程度、問題なく Papyrus に取り込み出来て、どの程度、問題なく図として再現できるのか」
が気になっており、今回、少し試してみました。

サンプルとしては、Papyrus の新規ファイル作成で「Examples」から生成可能な
「UML2 Example Projects」
→「Getting Started with UML2」
プロジェクト中にある「ExtendedPO2.uml」を用いました。

同プロジェクトは File→New→Other から以下で生成できます。


生成されたプロジェクトの名前は
org.eclipse.uml2.examples.gettingstarted
となっています。

同プロジェクトは、MDT/UML2のJavaクラスライブラリを用いてJavaコードから「UMLモデル」(XMI)を生成するためのサンプルコードプロジェクトで、そのコードを実行して出来たファイルが
ExtendedPO2.uml
となります。

またプロジェクトフォルダ内に同モデルのpngファイルが置かれています。どのツールにより図を生成したのかは分かりませんが、以下の図となっています。


この「ExtendedPO2.uml」を Papyrus のプロジェクトに Import し、Papyrus のクラス図で表示してみました。

その結果図が以下です。

Papyrusでモデルインポートする際にエラーも出ませんでしたし、図としても十分再現されています。

簡単な例ではありますが、MDT/UML2のモデルは Papyrus 上で問題なく扱えそうです。
ある部分、当たり前かもしれませんが、確認できました。

これにより、MDT/UML2のExampleプロジェクトのサンプルコードから見て取れる
JavaプログラムからUML2のPapyrusモデルの生成
までが繋げられそうです。

PapyrusやMDT/UML2の関連ツールで出来ることも多いですが、モデル生成の意味では、この MDT/UML2 モデルの直接生成も使えそうな手段に思えます。