Eclipse Modeling勉強会で知ったEuGENiaを早速使ってみました。
設定手順を簡単にまとめました。
epsilon開発環境のダウンロード
epsilonのダウンロードサイトからEclipseの環境をダウンロードします。
EuGENiaやemfatic変換などのプラグインが入っています。
ecoreファイルの作成
空のEMFプロジェクトを作成します。modelフォルダ内にecoreを作成します。
今回のモデルは勉強会で作成したecoreと同じです。
ecoreからemfaticファイルへ変換
ecoreファイルを選択して、右クリックをして、"Generate Emfatic Source"を選択します。
拡張子emfファイルが作成されます。
gmfannotationの設定
拡張子emfファイルを開いて、下記のようなgmfのannotationを追加します。
@namespace(uri="http://network/1.0", prefix="network")
@gmf(foo="bar")
package network;
@gmf.diagram(foo="bar")
class Network {
val Node[*] nodes;
val Link[*] links;
}
@gmf.node(label = "name")
class Node {
attr String name;
}
@gmf.link(source="source", target="target",target.decoration="arrow", style="dot", width="2",name="name")
class Link {
ref Node[1] source;
@gmf.link(target.decoration="arrow", style="dash")
ref Node[1] target;
attr String name;
}
GMF Editorの自動生成
拡張子emfファイルを選択し、右クリックメニューで、Eugenia > Generate GMF editorを選択します。下記拡張子のファイルが自動生成&ソースコード生成まで行ってくれます。
これにて、GMFの設定は完了です
- gmfgen
- gmfgraph
- gmfmap
- gmftool
動作確認
右クリックでEclipse Applicationを指定して、起動します。ウィザードでExamplesカテゴリのNetworkDiagramを作成します。GMF用のエディタで開くと下の図のようなものが書ける画面が作成されます。
これで完了!!!
GMFというと非常に色々設定しなければ行けないというイメージがあって、取っ付きにくかったという印象があったので、上記対応だけ行えば、GMFの設定が自動設定されるというのは非常に素晴らしく、GMFを使う機会が増えるのではないかと思う。
プロトタイプ等を作成するときには非常に有効だと思う。