Unified Architecture Frameworkの入力支援プラグイン紹介

皆さんこんにちは!

今回は,Unified Architecture Framework(略してUAF)に基づくアーキテクチャモデルをastah* System Safetyで記述する際に,少しだけ便利になるプラグインを紹介します。

UAFについては,過去三回このブログで紹介していますので参考にしてみてください(第1回UAFの概要第2回ドメインメタモデルの概略:ケーパビリティを例に第3回ストラテジックビュー)。

UAFに基づいて実際にモデルを書いてみようとすると,すぐにいろいろなことに気付いてきます。

  • 使用するステレオタイプが多数あり,毎回入力するのは面倒
  • UAFの公式サンプル問題(sample problem)ではビューポイント毎に,図要素の大まかな色が決まっており,作成するモデルにも色を付けてみたいが,毎回入力するのは面倒
  • モデルを書き進めると,作成される図が多数になり,目的の図を探し出すのがだんだん時間がかかるようになってくる

ここでは,そのような課題をある程度解消するようなプラグインを紹介します。プラグインはまだ公開はしていませんが,「試してみたい」など少しでも興味を持った方には配布します。ぜひこちらまでご連絡ください。

(2024/03/12追記)
UAF入力支援プラグインを公開しました。無償でお使いいただけます。ぜひご活用ください。
UAF入力支援プラグインをダウンロード

プラグインのインストールに成功すると次のような拡張タブを見ることができます。

プラグインを使う前にもうひとつ準備があります。第1回UAFの概要でも見たように,多数のビューポイント及びアスペクトによってアーキテクチャを記述します。

(Unified Architecture Framework(UAF) Domain Metamodel Version1.2から引用)

このようなマトリックスの構造は,モデリングツール上では,複数階層のパッケージによって表現します。

マトリックス構造を複数段のパッケージで表現した例

UAFではビューポイントとアスペクトは上記マトリックスの図で示した範囲では決まっていますので,これに対応したパッケージ構造のみを含むastah*のファイルも用意しています。プラグインと合わせて配布いたしますのでテンプレートとしてお使いください。

このテンプレートを使って,まずはケーパビリティを一つ導入してみましょう。

ケーパビリティの定義は,ビューポイントはStrategic,アスペクトは,Taxonomyに置いておくことになっています。これは,上に示したパッケージ構造でいうと,01 Example Architecture下の,02 Strategicのさらに下の,02 Taxonomyというところに記述することになります。ここでブロック定義図を作成しましょう。

ケーパビリティを定義するために作成したブロック定義図

ここで,ケーパビリティとして「消火能力」を導入してみましょう。ケーパビリティはブロックとして導入します。

ケーパビリティを定義するために,ブロックを導入したところ

ここで,導入したブロックがケーパビリティであることを表すために,ステレオタイプとして《Capability》を付加し,できればサンプル問題(sample problem)と同じように,緑色を付けたいとします。このような時に,ケーパビリティにしたい図要素(この例では消火能力)を選択した状態でUAF入力支援プラグインのCapabilityボタンを押すと,ワンアクションで次のような状態になります。

UAF入力支援プラグインの「Capability」ボタンを押したところ

この機能は,複数の図要素を選択してもいっぺんにケーパビリティにすることができます。また,ケーパビリティだけでなく,UAFで定義されている他の概念についても主要なものは同様に入力が簡単になります。これらのボタンは,モデルにおいて定義されている概念を探すときにも使えます。モデルが巨大になると,目当てのモデル要素を探すのがだんだん面倒になるのを経験している人も多いと思います。このような時に次に紹介する機能が有用です。例えば,何の図も開いていない状態で,Capabilityボタンを押すと次のようになります。

なにも選択していない状況でCapabilityボタンを押下したところ

ここで,右下に赤い四角で示しているところに「消火能力」という文字が現れているのが分かると思います。これは,現在モデル上で存在する《Capability》というステレオタイプを持つモデル要素をすべて列挙してます。ここで,目当ての要素を選択して「Go to Occurrence」ボタンを押すと,そのモデル要素が出現する図を一つ自動で開いて,そのモデル要素に対応する図要素の箇所を開いてくれます。

右下ウィンドウの「消火能力」を選択した状態で「Go to Occurrence」ボタンを押下したところ

また,たくさんあるブロック定義図へのアクセスも,次のようにプラグインが提供するタブ「UAF Overview」で提供される表から直感的にアクセスできます。

プラグインが提供するタブ「UAF Overview」から,目的の図へアクセスする様子

具体的には,表示された表に対して,見たいセルにマウスカーソルを移動し,右クリックをすることにより,そのセルに対して定義されたモデル図の一覧がプルダウンで表示され,見たい図を選択するとその図を開くことができます。モデルの構造ツリーから探すよりも格段にアクセスが早くなりました。

いかがでしたでしょうか。UAFは見た目が大がかりで導入を躊躇している方がいらっしゃるかも知れませんが,ツール支援である程度カバーできる面もあります。ぜひ気軽にお問い合わせください。

(2024/03/12追記)
UAF入力支援プラグイン(無償)を公開しました。ぜひダウンロードしてご活用ください。
ご不明な点がございましたら、お気軽にお問い合わせください。

コメントを残す