english japanese

はじめに

astah*のプラグイン機構は、astah*に自作機能を追加し、機能拡張を実現する仕組みです。プラグインを作成することで、メニューや拡張ビューなど、 astah*のGUIに独自のコンポーネントを追加できます。本チュートリアルでは、サンプルを中心にプラグインの作り方を紹介します。尚、本チュートリアルは、下記環境バージョンを使って作成しました。


ソフトウェア バージョン
OS Windows10, Ubuntu Linux 11.10
Java Oracle JDK7
astah* professional, UML, community 6.8, SysML 1.1
Eclipse 3.7.1
IntelliJ IDEA 11.1


astah* プラグイン機構の仕組み

astah* plugin architecture

astah*のプラグイン機構は、起動時にastah*インストールフォルダ配下のpluginsフォルダにあるプラグインファイルをロードします。プラグインは、OSGi Bundle形式のjarファイルである必要があります。

プラグインの開発中、プラグインフォルダ配下にコピーしなくても良いよう、また、Bundleへのパッケージングを自動的に行うなど、開発を楽にする開発環境を用意しています。
それでは早速astah*のプラグイン開発環境を構築してみましょう。


開発環境の構築

astah*のプラグイン開発環境として、astah* Plug-in SDKを配布しています。 このSDKはMaven3をベースにカスタマイズしたものです。ここではastah*のプラグインの開発環境を構築しましょう。
なお、プラグイン開発環境のシステム要件は、astah*に準じます。 まず配布されているPlug-in SDKを適当なフォルダに展開します。次に以下に挙げる環境変数を設定します。


注意
プラグインSDKを展開するフォルダはスペースを含まないフォルダにするようにしてください。


・環境変数「ASDK_HOME」を追加し、展開したフォルダを指定する

例: set ASDK_HOME=C:\dev\astah-plugin-SDK-1.0

・環境変数「PATH」にastah* Plug-in SDKの実行ファイルがある「%ASDK_HOME%\bin」フォルダを追加する(Linux/Mac OSXでは「$ASDK_HOME/bin」)

例: set PATH=%ASDK_HOME%\bin;%PATH%

以上の作業が終了したら、次のコマンドを入力してみましょう。

 > asdk

以下のような出力が得られれば、astah* Plug-in SDKのインストールは完了です。

> astah* Plug-in SDK version: 1.0

次にastah* Plug-in SDKからastah*が起動できることを確認するために、下記のコマンドを入力してみましょう。

> astah-launch

うまく行くと、お使いのastah*が起動されます。

注意
astah*を起動できない場合は、下記の設定を試してください。%ASDK_HOME%\conf\settings.xmlの中の <profile>タグに囲まれた部分を設定します。お使いの「エディション」と「OS」に対応する ID「astah- <エディション>- 」のプロファイルを適切なパスに修正してください。


<profile>
	<id>astah-professional-windows</id> 
<!-- このIDの[professional]はastahのエディション、
[windows]はosです --> <activation> <activeByDefault>false</activeByDefault> <file> <exists>
C:/Program Files/astah-professional/astah-pro.jar
</exists> <!--- ココ --> </file> </activation> <properties> <astahPath>
C:/Program Files/astah-professional
</astahPath><!--ココ --> <astahEdition>professional</astahEdition> </properties> <pluginRepositories> <pluginRepository> <id>local_astah_repository</id> <name>Local Astah* Plugin Repository</name> <url>file://${env.M2_HOME}/repository/</url> <layout>default</layout> <snapshots> <enabled>true</enabled> </snapshots> <releases> <updatePolicy>never</updatePolicy> </releases> </pluginRepository> </pluginRepositories> </profile>

Note
astah* Plug-in SDKは、内部でMaven 3を利用しています。


プラグインを作ろう!


作成したプラグインをastah*にインストールする

作成したプラグインは、astah*プラグインプロジェクトにあるtargetフォルダの中に[artiactId]-[version].jarという名前で生成されています。この.jarファイルを、astah*インストールフォルダ\pluginsへコピーすればインストールは完了です。 プラグインがインストールされたかどうかの確認は、astah*の[ヘルプ]-[プラグイン一覧]を開いて確認します。
作成したプラグインをインストール
astah* バージョン7.2から[プラグイン一覧]の開き方が変わりました


プラグインをリリースする

プラグインのリリース前に、開発したastah*のバージョンと、動作対象エディションを設定しておきましょう。設定を行うと、対象外のastah*環境では、プラグインを起動しなくなります。
pom.xmlを開き、<properties>タグのastah-versionとastah-editionに指定します。

<properties>
	<bundle.symbolicName>
com.change_vision.astah.sample
</bundle.symbolicName> <bundle.namespace>
com.change_vision.astah
</bundle.namespace> <plugin.install>true</plugin.install> <astah.version>6.6</astah.version> <astah.edition>all</astah.edition> </properties>

astah.versionには開発に利用したastah*のバージョンを書きましょう。空欄にした場合は、全てのバージョンが動作対象となります。astah-editionに指定するキー名は、下記の表を参照してください。

Edition Value
全エディション対応 空欄、またはallか、* (astah.versionは1.1にしてください)
professional pro、またはprofessional
UML uml、またはUML
SysML sysml
community com、またはCommunity
think think


メニューID一覧


Name ID
ファイル file
編集 edit
diagram
整列 alignment
表示 view
ツール tool
ウィンドウ window
ヘルプ help
プロジェクトの新規作成 file/new
テンプレートからプロジェクトの新規作成 file/new_template
プロジェクトを開く file/open
プロジェクトを保存 file/save
プロジェクトの別名保存 file/saveas
プロジェクトを閉じる file/close
プロジェクトをマージ file/import_model_by_uuid
参照プロジェクト管理 file/refer_model_management
プロジェクトの簡易比較 file/compare_project
印刷設定(プロジェクト) file/print_setup
印刷設定(図) file/print_setup_dgm
印刷プレビュー file/print_preview
印刷 file/print
まとめて印刷プレビュー file/preview_multi
図をまとめて印刷 file/print_multi
終了する file/exit
編集を取り消す edit/undo
編集をやり直す edit/redo
コピー edit/copy
クリップボードにコピー edit/copys
貼り付け edit/paste
スタイルのコピー edit/style_copy
スタイルの貼り付け edit/style_paste
モデルの削除 edit/delete_from_model
図からの削除 edit/delete_from_diagram
線のスタイル edit/line_style
共有表記 edit/shared_style
アイコン変更 edit/stereotype
色の設定 edit/set_color
線色の設定 edit/set_line_color
文字色の設定 edit/set_font_color
ステレオタイプ指定の色設定 edit/stereotype_color
ダイアグラム上の検索 edit/dgm_search
全選択 edit/select_all
順序 edit/arrange_depth
クラス図 diagram/class_diagram
ユースケース図 diagram/usecase_diagram
ステートマシン図 diagram/state_chart_diagram
アクティビティ図 diagram/activity_diagram
シーケンス図 diagram/sequence_diagram
コミュニケーションズ diagram/collaboration_diagram
コンポーネント図 diagram/component_diagram
配置図 diagram/deployment_diagram
合成構造図 diagram/compositestructure_diagram
フローチャート diagram/flow_chart_diagram
データフロー図 diagram/data_flow_diagram
ER図 diagram/er_diagram
CRUD diagram/crud_diagram
マインドマップ diagram/mind_map_diagram
要求図 diagram/requirement_diagram
要求テーブル diagram/requirement_table
横の整列 alignment/align_horizontally
縦の整列 alignment/align_vertically
サイズ揃え alignment/align_size
全図要素の自動レイアウト alignment/auto_layout
選択図要素の自動レイアウト alignment/partial_layout
標準の倍率にする view/zoom
拡大する view/zoom_in
縮小する view/zoom_out
全体表示 view/fit_window
前の図 view/drop_down_back_list
次の図 view/drop_down_forward_list
プロジェクトビューの表示/非表示 view/show_hide_project_view
プラグインビューの表示/非表示 view/show_hide_plugin_view
ルック&フィールの変更 view/ui
別名の表示 view/alias
図を画像ファイルに出力 tool/export_image
HTML作成(javadoc) tool/export_html
クラス一覧 tool/export_csv
XML入出力 tool/xmi
RTFドキュメント作成 tool/export_rtf
マインドマップ tool/mindmap
Java tool/java
C# tool/c_sharp
C++ tool/c_plus
ER図 tool/er
CRUD tool/crud
要求 tool/requirement
トレーサビリティマップ tool/traceability
テンプレートの設定 tool/template
リンク切れハイパーリンクの検索 tool/search_invalid_hyperlinks
ユーザー定義タグ付き値の反映 tool/update_custom_taggedvalue
外部ツール tool/external_tool
モデル補正 tool/correct_model
ライセンス設定 tool/check_license
プロジェクト設定 tool/project_property
システムプロパティ tool/system_property
閉じる window/close_current
左側のタブを全て閉じる window/close_left
右側のタブを全て閉じる window/close_right
他のタブを閉じる window/close_other
全て閉じる window/close_all
整列 window/alignment
astah* ウェブサイト help/jude_home
astah* コミュニティサイト help/jude_community
astah* リファレンスマニュアル help/jude_help
ようこそastah* professionalへ help/welcome
バグ報告 help/bug_info_community
サポートへの問い合わせ help/jude_support_site
プラグイン一覧 help/plugin_list
ソフトウェアの更新確認 help/check_version
バージョン情報 help/version


SDKコマンド一覧


Command Description
asdk バージョンを表示
astah-generate-project プラグインプロジェクトを生成
astah-sysml-generate-project astah* SysMLプラグインプロジェクトを生成
astah-launch プラグインファイルを読み込んでastah*を起動
astah-debug デバッグ用44000ポートを開いて起動


参考サイト

astah* APIについて


    

Mavenについて

astah* Plug-in SDKは内部でMavenを利用しています。 Mavenに関する設定や利用方法は下記のサイトを参照してください。