astahのM+プラグインでモデル間のトレーサビリティが実現できる
astahのM+プラグインがいい感じで使えるのでメモ。
【参考】
M PLUSプラグイン | astah* プラグイン
astahのM+プラグインは、多種類のソースコードをクラス図から自動生成するだけ、と思っていた。
(引用開始)
1. ソースコード出力
C++ / C# / Crystal / Golang / Java / JavaScript / Kotlin / Python / Ruby / Scala / Swift / TypeScript / Alloy / VDM++に対応。
Acceleo, MOFScript, Xpandのように手書きのコードを維持するため、繰返しのコード生成が可能です。
(引用終了)
しかし、便利な機能があることが分かった。
(引用開始)
2. モデルプレビュー
構造ツリー上のパッケージを選択して、パッケージ内のモデル構造をプレビューできます。
3. ダイアグラムマップ
プロジェクト内の複数の図を1箇所に表示し、図をまとめて見れるだけでなく、図要素をマウスオーバーすると、同じ型のモデル要素同士が ハイライト線で繋がる為、図を跨いだ要素のトレースができます。
4. 依存関係マトリクス
プロジェクト内のモデル間の依存関係をExcelに出力します。
(引用終了)
モデルプレビューは、パッケージを選択すると、パッケージ内のダイアグラムをEnterpriseAcrchitectのようにパッケージ図にダイアグラムアイコンをHTMLで表示してくれる。
astahのパッケージは、ダイアグラムを階層化するための機能なので、モデル間のトレーサビリティ機能として欲しかった機能だった。
ただし、ダイアグラムのハイパーリンクはないので、単に表示するだけなのは残念。
ダイアグラムのハイパーリンクがあれば、下方追跡が実現できるのに。
モデルの粒度とトレーサビリティ、変更管理の問題は、モデリングツールではなくUMLそのものに真因があるのではないか: プログラマの思索
モデル間のトレーサビリティと粒度、変更管理に関するastahのあるべき姿: プログラマの思索
ダイアグラムマップは、2個以上のダイアグラムを含むパッケージを元に、複数のダイアグラムにあるクラスなどの要素が同じであれば、ハイライト線でつないでくれる。
つまり、ハイライト線はモデル間のトレーサビリティを実現した機能になる。
この機能を使えば、クラス図、シーケンス図、コンポーネント図などで、クラスがあちこちに散らばっていたとしても、同じクラスであれば、ハイライト線で該当箇所を見つけることができる。
つまり、ハイライト線でモデル同士の要素をトレースできるので、なぜこんな所にあるのか?とか、モデリング作業中の気づきを増やせる。
依存関係マトリクスとは、RelationshipMatrixというExcelを出力して、モデル間の依存関係を出力してくれる。
これを使えば、本来あるべき依存関係がない、とか、本来ない依存関係があるぞ、とか、モデルをリファクタリングしたり、モデルを精査する時に役立つ。
astah上でモデルのトレーサビリティを実現してほしいな、と思っていたけれど、このプラグインでどこまで対応できるのか、試してみたいと思う。
| 固定リンク
「astahによるUMLモデリング」カテゴリの記事
- 「System of Systems(SoS)の統合テストは不可能だ」という言説を聞いた(2026.08.16)
- チケット駆動でAIを制御する仕組みのアイデア(2026.08.13)
- AIが設計も思考も代替する時代ではエンジニアはモデルを理解するだけの存在なのか?(2026.07.25)
- 愛憎のUML~なぜ「設計図」は消え、「スケッチ」として生き残ったか(2026.05.03)
- AIエージェントとastahが変える真のモデル駆動開発とは何か(2026.04.12)


コメント