はじめに

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

対象製品
astah* SysML

astah* APIとは

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

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

使用許諾事項

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

利用要件

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

  • astah*本体がインストールされていること
  • 実行環境がastah* システム要件を満たしていること
  • 下記へクラスパスが通っていること
パス 必須
astah* API インストールフォルダ/astah-api.jar コンパイル、実行
astah*の本体 インストールフォルダ/astah-sys.jar 実行

注意事項

  • astah* APIは複数スレッドからの同時アクセスに対応しておりません。複数スレッドから利用する場合は、アプリケーション側で排他制御をしてください。
  • astah* APIのクラス構造は、簡素化したUML メタモデルの基礎部分をベースにしています。
  • 実行時にファイルサイズが大きなastah*プロジェクトファイルを扱う場合は、Java VMのメモリ管理オプション設定が必要です。
    メモリ不足のエラーが発生する場合、最大ヒープサイズ2Gバイトを指定する例:-Xmx2g

API利用のヒント

astah* APIはスクリプトエディタを用いると気軽に試すことができます。
スクリプトエディタはastah* APIを使用してモデルにアクセス可能となるスクリプトエディタを表示するプラグインです。
スクリプト言語で astah*にアクセスでき、プロジェクトを開いた状態で操作ができるため、APIの挙動を簡単に確認することができます。

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

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

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