はじめに

本書ではastah* APIについて説明します。 astah* APIを利用することでastah*をより有効に活用することができます。

最終更新日
2017年11月21日

astah* APIとは

astah* APIは、astah*のモデルデータを活用するためのJavaインタフェース群です。
本APIは、プラグインの作成や、スクリプトエディタでも利用可能です。

astah* APIでサポートしている機能  
  • astah* community: モデル、プレゼンテーションの参照のみ
  • astah* UML、professional: モデル、プレゼンテーションの参照、作成、編集

使用許諾事項

  • astah* APIの.jar形式ファイルであるastah-api.jarの再配布を禁止します。
  • その他のastah* API使用上の許諾事項は「astah*使用許諾契約書」に準じます。

利用要件

astah* APIを利用したアプリケーションを利用するには、下記の要件を満たすことが必要です。

  • astah*本体がインストールされていること
  • 実行環境がastah* システム要件を満たしていること
  • astah*の本体およびAPI、ならびにインストールフォルダのlib配下にあるjarへクラスパスを通すこと
    • アプリケーションのコンパイルに最低限必要なファイル
      • astah-api.jar
    • アプリケーションの実行に最低限必要なファイル
      • astah-api.jar
      • astah-pro.jar / astah-uml.jar / astah-community.jar のいずれか
      • lib/slf4j-api-1.6.6.jar
      • lib/logback-loader-1.0.9b.jar

注意事項

  • astah* APIは複数スレッドからの同時アクセスに対応しておりません。複数スレッドから利用する場合は、アプリケーション側で排他制御をしてください。
  • astah* APIのクラス構造は、UMLメタモデルの一部を省略した簡素化した構造になっています。
  • 実行時にファイルサイズが大きなastah*プロジェクトファイルを扱う場合は、Java VMのメモリ管理オプション設定が必要です。
    VMの起動オプションとしての初期ヒープサイズ16Mバイト、最大ヒープサイズ256Mバイトを指定する例:-Xms16m -Xmx256m

API利用のヒント

astah* APIはスクリプトエディタを用いると気軽に試すことができます。
スクリプトエディタはastah* APIを使用してモデルにアクセス可能となるスクリプトエディタを表示するプラグインです(astah* professional、UML 7.2以降をご利用の場合、製品に同梱されています)。
スクリプト言語で astah*にアクセスでき、プロジェクトを開いた状態で操作ができるため、APIの挙動を簡単に確認することができます。

モデルとプレゼンテーション

astah*のプロジェクト内には、モデルと、図要素を描画するための情報を持つプレゼンテーションを保持しています。
例えば、クラス図のあるクラスの属性を参照、編集するならモデルへの操作ですし、クラス図の図要素であるクラスの色を参照、編集するならプレゼンテーションへの操作となります。
また、モデルとプレゼンテーションの対応は必ずしも1:1ではありません。共通のモデルを持つプレゼンテーションもあれば、モデルを持たないプレゼンテーションもあります。
詳しくは、対応モデル/プレゼンテーション一覧、ならびに、Javadocをご覧ください。

モデルとプレゼンテーションの関係