プロジェクトへのアクセス
astah* System Safetyの各ファセットを参照、編集するためには、まずプロジェクトにアクセスすることが必要です。
プロジェクトへアクセスする
プロジェクトへアクセスするにはProjectAccessorを使用します。
ProjectAccessorを使用することで、下記のような操作が可能です。
- プロジェクトを作成・開く・閉じる・保存
- プロジェクトに変更の有無があるか確認
- プロジェクトの開閉確認
- プロジェクトの各種情報取得
astah* APIでは、一度にひとつのプロジェクトのみ処理することが可能です。
複数のプロジェクトを処理する場合は、元のプロジェクトを閉じてから、次のプロジェクトを開くようにしてください。
ProjectAccessorに登録したプロジェクトは必ず閉じてから終了してください。
以下に、ProjectAccessorの使用例を示します(例外処理は省略しています)。
// プロジェクトアクセサの取得
= AstahAPI.getAstahAPI().getProjectAccessor();
ProjectAccessor projectAccessor
try {
// プロジェクトアクセサにプロジェクトを登録
if (new File(PROJECT_PATH).exists()) {
System.out.println(PROJECT_PATH + " を開きます");
.open(PROJECT_PATH);
projectAccessor} else {
System.out.println(PROJECT_PATH + " にプロジェクトを作成します");
.create(PROJECT_PATH);
projectAccessor.save();
projectAccessor}
// 参照(省略)
// 編集(省略)
// 保存
if (!projectAccessor.isProjectModified()) {
return;
}
System.out.println("変更を保存します");
.save();
projectAccessor
} finally {
// プロジェクトを閉じる
.close();
projectAccessorSystem.out.println("プロジェクトを閉じました");
}
ファセットを取得する
SysMLやGSN,STAMP/STPAなどの記法は、異なるファセットによって管理されます。 各ファセット内の全モデル、プレゼンテーションは、ファセットを表すモデル(以下、ファセットモデル)の下に存在します。
ファセットモデルは、ProjectAccessorからgetFacets()を用いて取得します。
public List<IFacet> getProjectFacets(ProjectAccessor projectAccessor) throws ProjectNotFoundException {
return projectAccessor.getFacets();
}