Eclipse Modeling Tools メモ(2)

先ほどと同様にモデルと Java コードの関係も図形式のメモにしてみました。他にもありますが、私の使っている範囲ということです。これからは生成対象を JavaScript/TypeScript にしないといけないのでしょうね。memo2.png

 

広告
Eclipse Modeling Tools メモ(2)

Eclipse Modeling Tools メモ

Eclipse Modeling Project には多くのツールがありますが、私がよく利用するのは基本的な EMF, Xtext, Sirius, Papyrus などです。Java コード生成などとの関係を除いて、よく使う部分の関連図をメモとして作成してみました。色々抜けがあると思います(例えば SysML が入っていない、など)が大雑把にこんな感じかなという図です。

memo.png

色々突っ込めると思いますが限定された範囲のメモということでお願いします。

Eclipse Modeling Tools メモ

How to MoDisco

今回は「検索で見つけたブログ記事」をネタにしたものです。

Javaコードを入力にして元のものに近いモデルを再生するのは、ある種 reverse engineering です。KDM 標準はそういうケースを想定して制定された OMG 標準です。これは MDA の逆をゆく行為なので ADM (Architecture Driven Modernization (TM)) という OMG 内のグループで作成されました。現在では ISO 標準にもなっています。

ただ、標準があってもそれを実装したツールがないと役に立ちません。出来ればオープンソースが良いですよね。Eclipse Modeling Project にはそのツールがあります。名前を MoDisco と言います。今回ちょっと利用する機会があり、改めて使い方を調べてみました。チュートリアルがなかったか検索したところ、有難いことに日本語のブログ記事(シリーズもの)が見つかりました。:)

記事自体は少し古そうでしたが、ポイントはちゃんと書かれています。流れとしては、Eclipse IDE に MoDisco と Papyrus (UML tool) のプラグインをインストールし、対象プロジェクトの右クリックから KDM モデル(xmi)を生成し、その KDM モデルから UML モデル(.umlファイル)を生成し、最後に UML  ツールの Papyrus に持ち込むというものです。記事で Xtext と Acceleo のインストールが要るようだと書かれていましたが、Oxygen 版で試したところ、これら無しでも動作しました(軽い使い方だったので問題が起きなかっただけかもしれません)。

スクリーンショット 0029-08-09 23.54.32

いつものモデルベース開発とは逆方向ですが、レガシーコードの分析などで利用できます。JavaコードからUMLモデルを導きたい方はお試しください。

 

How to MoDisco