SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

特集記事

Eclipse GMFを利用した状態遷移図エディタの作成

グラフィカルなエディタをコーディングレスで作成する


  • このエントリーをはてなブックマークに追加

GMF(Graphical Modeling Framework)はEclipse Foundationがリリースを予定している新しいプロダクトです。GMFを利用することにより、これまで手軽に作ることが難しかったグラフィカルなモデリングツールを簡単に作成することができるようになります。本稿では、GMFを利用した状態遷移図エディタの作成を通して、簡単なGMFの使い方について説明します。

  • このエントリーをはてなブックマークに追加

完成図
完成図

はじめに

 Eclipse 3.2のリリースに合わせて、Eclipse FoundationではEclpse GMF(Graphical Modeling Framework)というツールをリリースします。今回はこのGMFを使ってモデリングツールを作成する方法を紹介します。まだEclipse 3.2、GMF共にリリースされたばかりで実開発ではまだまだ利用されていない現状ではありますが、こんなツールもあるんだなと思っていただければ幸いです。

対象読者

 MDA(モデル駆動アーキテクチャ)、DSL(ドメイン特化言語)と言ったキーワードに関心のある方をターゲットにしています。また、そういった小難しい概念を知らずともモデリングツールを自作したいといった方にも有益な情報かと思います。

必要な環境

  • Eclipse 3.2
  • Eclipse GMF 1.0

Graphical Modeling Framework

 「GMF」は、UMLモデリングツールやE-R図のようなツールを簡単に作るためのフレームワークです。簡単というのは、ほとんどコーディングをすることなく、モデリングツールを自動生成できることです。本稿では、エディタ生成がいかに簡単かについて実証していきたいと思います。

Domain-Specific Language Tools
 分かる人には、GMFはDSL ToolsのEclipse版と言えば一発でしょう。.NETではGMFに先駆けて同等の概念を持ったDomain-Specific Language Toolsを開発し、Visual Studio 2005に同梱という形で提供しています。

インストール

 まずは、Eclipse 3.2をダウンロードします。ダウンロードしたEclipseを展開し、実行してください。Eclipseが起動したら、[Help]-[Software Updates]-[Find and Install]を実行して、GMFのダウンロードとインストールを行います。[Search for new features to install]を選択し、更新画面が開いたら[Callisto Discovery Site]を選択して[Models and Model Development]のカテゴリ内にある[Graphical Modeling Framework]をチェックしてください。このとき、[Select Required]をクリックするとGMFが依存するプラグインも同時にインストールされます。

GMFのインストール
GMFのインストール

はじめてのGMF

 インストールが完了したら、早速GMFを試してみましょう。添付ファイルのサンプルGMFプロジェクトをプロジェクトとしてインポートしてください。下図のようなディレクトリ構成になっているかと思います。

サンプルGMFプロジェクト(コード生成前)
サンプルGMFプロジェクト(コード生成前)

 ここで、次の作業を行ってください。

  • 「statechart.genmodel」ファイルを開いてルートノードを右クリック
  • [Generate All]を選択
  • 「statechart.gmfgen」ファイルを選択して右クリック
  • [Generate diagram code]を選択
サンプルGMFプロジェクト(コード生成後)
サンプルGMFプロジェクト(コード生成後)

 これで状態遷移図を記述できるエディタが完成しました。後はEclipse Applicationとして実行して状態遷移図エディタを試してください。[New]-[Example]-[Statechart Diagram]で状態遷移図を生成、編集することができます。

自動生成されたモデリングツール
自動生成されたモデリングツール

状態遷移図の機能

 自動生成された状態遷移図は次のモデルを記述することができます。

状態遷移図の仕様
モデル名説明子要素
ステートチャート状態遷移図自体を表現するステート、コンポジットステート
ステート状態を表す状態は次の状態に遷移できる入場アクション、退場アクション
コンポジットステート子要素としてステートを持つことができる状態入場アクション、退場アクション、ステート
開始ステート状態遷移の開始を表す-
アクション状態に入場、または退場した場合に実行されるアクションを表現するステートメント
イベント遷移イベントによる状態の遷移を表現する-
条件付き遷移ある条件に合致した場合の状態の遷移を表現する-
ステートメントアクションの内容を表現する。変数の宣言であるvar、条件分岐であるif、変数の割り当てであるassignといった種類がある。ステートメント

 これらの状態遷移図を構成する要素は、特に規定されているものではなく、私の独断と偏見によって決めたものです。GMFを利用する場合、このように「何を編集したいのか」を自由に定義することができます。

 また、GMFによって自動生成されたエディタは次の機能を持ちます。

  • アンドゥ、リドゥのサポート
  • ズーム機能(ズームイン、ズームアウト、指定値ズーム)のサポート
  • イメージへのエクスポート(BMP、JPG、GIF、PNG、SVG)
  • 高機能な印刷のサポート(ページ区切り、用紙サイズ、余白の設定)
  • ノードの自動レイアウト
  • ポップアップによる要素作成ヘルパー
  • ルーラー、グリッドサポート
  • フォント、カラー変更機能
  • 直角線、ベジェ曲線によるコネクタ
  • などなど...

 通常のGEFで作るエディタの機能に加えて、GMFオリジナルの機能が数多く追加されます。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
添付ファイルの説明

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
特集記事連載記事一覧

もっと読む

この記事の著者

NTTデータ先端技術株式会社 志田 隆弘(シダ タカヒロ)

<NTTデータ先端技術株式会社について>データベース、ネットワーク、OS、ミドルウェアの基盤技術を武器にシステムの技術面でのコンサルテーションや最新製品の調査を行う専門家集団。<筆者について>Ja-Jakartaプロジェクトの末席にこっそりと参加しています。たまにJavaなイベントに出没します。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/417 2006/08/02 09:56

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング