はじめに
いつも弊社Understandブログをご購読いただきありがとうございます。
今回は弊社エンジニアがお客様先や弊社テクニカルサポートにおいて、よくご質問をいただく内容について、その回答を記事にしていきたいと思います。
本ブログ記事はUnderstandをメインに扱っておりますが、今回は姉妹ツールであるアーキテクチャ分析ツール「Lattix」のプロジェクトに対し、外部からタグを定義する方法について、解説したいと思います。
今回取り上げるご質問
「Gitのコミット差分ファイルセットなど、何らか外部情報源から得た複数の要素(ファイルや関数)セットについて、それらをまとめてLattix上で分析したいと考えています。タグを使えばLattixの外部で作成した要素セットをLattixプロジェクトに読み込ませることは可能ですか?」
タグとは
タグは、Lattix上で任意のサブシステム・要素のグループなどに付けることができる、任意のラベルです。
タグを利用することで複数の要素をまとめて扱うことができますが、タグは要素1つから作成できます。
タグを利用するメリット
タグを使えば、タグ付けされた要素のみをDSMにフィルター表示(タグフィルター)したり、複数の要素に対する影響分析レポートを一括で出力するといった使い方が可能です。
さらに、本記事の主題である外部定義ファイルから読み込む方法を利用すれば、CI環境でレポート出力を自動化する場合などに便利です。パイプライン上で要素名を直接扱わず、タグを利用して要素を扱う処理構成にしておくと、タグ定義ファイルの内容を変更するだけでタグを構成する要素を変更できます。その結果、パイプラインを修正する必要がなくなり、変更が容易になります。
タグ機能の詳細
タグについて詳しくは、LattixユーザーズガイドのP.84 [検索とタグを使う]の項をご確認ください。
※ユーザーズガイドはLattix Architectを開き、[ヘルプ]-[ヘルプ]-[ユーザーズガイド]から表示いただけます。(表示するにはPDFビューアーが必要です。)
準備
今回使用するサンプル
今回使用するサンプルは以下よりダウンロードし、内容をご確認ください。
ブラウザーの設定によってzipファイルをダウンロードできない場合があります。(右クリックメニューの[名前を付けてリンク先を保存]等からダウンロードできる場合があります。)
ダウンロード時に警告が表示される場合やその他ご質問などありましたら、SciTools 製品カスタマーセンター までお気軽にお問合せください。
スクリプトファイルの適用
タグを外部定義ファイルからインポートするには、TagElements.groovyというスクリプトが必要です。
以下の手順によりスクリプトを適用してください。
なお、TagElements.groovyは、LattixのバージョンによってはLattixインストールに同梱されている場合があります。(Lattix2025.1.7では同梱されています。)
同梱されている場合には本操作は不要です。同梱されている場合には(Lattixインストールフォルダー)\scriptsに配置されています。
- LattixArchitectを起動します。
- メニューより[表示]-[設定]-[スクリプト]より追加したいスクリプトが存在するフォルダーを追加します。
タグ定義ファイル
今回使用するタグ定義ファイル(tagsample.txt)の内容は以下の通りです。
このタグ定義ファイルでは”TEST”および”TEST2″というタグが定義されています。定義するタグ名に続いてそのタグを構成する要素の要素名が列挙されています。
TEST
C:.work.src.c.fastgrep.fastgrep.fastgrep.regexp\_c.regstartp
C:.work.src.c.fastgrep.fastgrep.fastgrep.regexp\_c.regsize
TEST2
C:.work.src.c.fastgrep.fastgrep.fastgrep.regexp\_c.regparse
C:.work.src.c.fastgrep.fastgrep.fastgrep.regexp\_c.reginput
なお、Lattixの要素名は、以下のように、LattixArchitectを開きDSM上において対象要素を選択し、[インフォメーション]タブを開くことで確認いただけます。
例えば、C/C++(Understand)モジュールの場合には、要素名は下記のように変換される仕様です。
・フォルダ階層識別子(“\”)は、ドット(“.”)に変換
・ドット(“.”)は、円マーク(_)とアンダースコア(_)に変換

タグを外部定義ファイルから読み込む方法(GUI利用の場合)
- メニューより[スクリプト]-[入力ファイルで指定された構成でタグを付与]を選択します。
- ダイアログの[InputFile]の参照からタグ定義ファイル(tagsample.txt)を指定し、[OK]を押します。
成功していれば以上の手順により、タグが読み込まれます。
以下は正常に読み込まれた場合の様子です。

タグを外部定義ファイルから読み込む方法(コマンドライン利用の場合)
以下のコマンドを実行することで、fastgrep.ldzに該当要素にタグを生成し、該当プロジェクトを上書き保存します。
ldcscript "fastgrep.ldz" -script:TagElements -file:"tagsample.txt" -save:"fastgrep.ldz"
終わりに
今回はLattixでタグを外部定義ファイルから読み込む方法をご紹介いたしました。
その他、ご不明な点やご質問などありましたら、Lattix 製品カスタマーセンター までお気軽にお問合せください。
