このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
デジタル スレッドを使用したアーティファクト トレーサビリティの監視と古くなった結果の検出
業界標準およびガイドラインに適合したソフトウェアを開発する場合、多数のアーティファクトを作成して管理する責任を負います。こうしたアーティファクトには、多くの場合、要件、モデル、テスト、および生成された結果が含まれます。通常、これらのアーティファクト間には依存関係があります。つまり、あるアーティファクトを変更すると、下流のアーティファクトや派生アーティファクトを作り直したり再解析したりする必要が生じることがあります。これらのアーティファクトおよびそれらの関係に関する情報を使用して、開発アクティビティのステータスを評価できます。たとえば、プロジェクトのデジタル スレッドを有効にすることができます。"デジタル スレッド" は、プロジェクト内のアーティファクトおよび関係に関する情報を格納した一連のメタデータです。
このページでは、デジタル スレッドのメリット、デジタル スレッドの仕組み、およびプロジェクトに対してデジタル スレッド サポートを有効にする方法について説明します。
デジタル スレッドのメリット
デジタル スレッドを使用すれば、プロジェクト内のアーティファクト、アーティファクト構造、およびアーティファクト間の関係に関するデータにアクセスできます。プロジェクトに対して変更を行う際に、デジタル スレッドに格納されている情報を解析できます。
デジタル スレッドを利用すれば、以下が可能です。
アーティファクトの変更を追跡する
アーティファクト間の関係を追跡する
古くなった結果を特定する
結果の増分更新の実行
プロジェクト内のアーティファクトに対して変更を行うと、デジタル スレッドによってその変更が特定され、メタデータ情報が増分的に更新されます。これにより、トレーサビリティ情報およびメトリクス結果の一元的な情報源が得られ、そうした情報や結果をチームに共有できます。
複数の MathWorks® アプリおよびツールでデジタル スレッド内の情報を使用して、トレーサビリティ関係を特定したり、メトリクス結果を集計したり、インクリメンタル ビルドを実行したりします。
アプリケーション | 機能 | 例 |
---|---|---|
トレーサビリティ | モデル設計およびモデル テスト ダッシュボードで [トレース ビュー] をクリックする | Explore Traceability Information Using Trace Views |
メトリクスおよびダッシュボード |
| モデル テスト ダッシュボードを使用してテスト アクティビティのステータスと品質を調査 |
インクリメンタル ビルド | プロセス アドバイザー アプリ (CI/CD Automation for Simulink Check サポート パッケージ) |
デジタル スレッド解析
デジタル スレッドは、設計に対して 2 つの主な操作 (アーティファクトのトレースと派生アーティファクトの追跡) を実行します。
アーティファクトのトレース
"アーティファクトのトレース" では、デジタル スレッドは以下を行います。
プロジェクト フォルダー内にあるアーティファクトを特定する
可能性のあるソフトウェア ユニットおよびコンポーネントを特定する
各アーティファクトの汎用一意識別子 (UUID) を作成する
設計構造のインデックスを作成する
各アーティファクトの表現、内部構造、他のアーティファクトとの関係を保存する
アーティファクト解析により、デジタル スレッドは設計内の多数のアーティファクトおよび関係を有益なアーティファクトとトレーサビリティの情報に変換できます。
ダッシュボードでトレース ビューを使用して、デジタル スレッドからのアーティファクトおよびトレーサビリティ情報のサブセットを表示できます。"トレース ビュー" は、プロジェクト内のアーティファクトの特定の事前設定されたトレーサビリティ情報を表示する対話型の図です。たとえば、デジタル スレッドがプロジェクト内のソフトウェア ユニットまでトレースした要件リンクおよび設計アーティファクトを表示できます。図内のアーティファクトにカーソルを合わせると、そのアーティファクトに関する詳細情報を確認し、そのアーティファクトを直接開くことができます。詳細については、Explore Traceability Information Using Trace Viewsを参照してください。
設計に対する変更について、デジタル スレッドはプロジェクト フォルダー内のファイルを監視し続け、アーティファクトの表現およびアーティファクト関係を増分的に更新します。デジタル スレッドは、プロジェクト ファイルが移動したときにそれを検出でき、アーティファクトとアーティファクト内の要素に対して同じ UUID を維持します。デジタル スレッドは、アーティファクトまたは関係を解析できない場合、警告またはエラー メッセージを返します。詳細については、View Artifact Issues in Projectを参照してください。
派生アーティファクトの追跡
デジタル スレッドは、Requirements Toolbox™ の要件エディターのような MathWorks アプリからの出力を追跡して、新しいアーティファクトを特定したり、設計に影響する要件、ユニット、テスト、および結果に関する最新情報を維持したりできるようにします。たとえば、設計内の要件を変更すると、デジタル スレッドはその変更を検出し、その要件および再実行する必要が生じる可能性があるテストを実装している下流の設計アーティファクトに対する影響を特定できます。
デジタル スレッドを使用して一般的なトレーサビリティの問題を特定して対処できるようにする方法の例については、要件に基づくテストの問題を修正を参照してください。
デジタル スレッド サポートの有効化
プロジェクトに対してデジタル スレッド サポートを有効にするには、プロジェクトに対してアーティファクトのトレースを有効にする必要があります。モデル テスト ダッシュボードのようなアプリを使用している場合、初めてアプリを開いたときにプロジェクトに対してアーティファクトのトレースを有効にするように求めるメッセージが自動的に出されます。
また、[デジタル スレッド設定] ダイアログ ボックスを使用して、プロジェクトに対してデジタル スレッドを手動で有効にすることができます。モデル設計ダッシュボードまたはモデル テスト ダッシュボード アプリを開き、ダッシュボードのツールストリップで [オプション] をクリックして [デジタル スレッド設定] をクリックします。[デジタル スレッド設定] ダイアログ ボックスで [ツールの出力を追跡] を選択します。
デジタル スレッドを必要とするアプリまたはツールを次回使用したときに、デジタル スレッド ソフトウェアはプロジェクトの初期解析を実行し、デジタル スレッドを格納する派生ファイルを作成します。
デジタル スレッドの作成
デジタル スレッドを必要とするアプリを初めて開くか、そうした API を初めて使用したときに、デジタル スレッド ソフトウェアは、プロジェクト内の各アーティファクト、内部構造、およびアーティファクト間のトレーサビリティ関係を特定する初期解析を実行します。
デジタル スレッドはプロジェクト内に新しいフォルダー (derived
) を作成し、derived
フォルダー内の 2 つのファイルに解析を格納します。
artifacts.dmr
— プロジェクト内のアーティファクト、その内部構造、およびアーティファクト間のトレーサビリティ関係に関する情報を格納します。resultservice.dmr
— メトリクス結果を格納します。
初期解析が終わると、デジタル スレッドはプロジェクト内のアーティファクトに対する変更を追跡し、DMR ファイル内に格納されているメタデータ情報を増分的に更新できます。DMR ファイルはプラットフォームに依存せず、MATLAB セッションをまたいで保持されます。そのため、デジタル スレッドは、アーティファクトをローカルに読み込んだりアーティファクトにアクセスしたりすることなく、各種アーティファクト全体に対してトレーサビリティ解析を実行できます。
メモ
デジタル スレッドは、異なる MATLAB リリース間で移植可能ではありません。プロジェクトに以前のリリースの DMR ファイルが含まれている場合、デジタル スレッドはその DMR ファイルの名前を artifacts.dmr.old
および resultservice.dmr.old
に変更し、現在のリリース用の新しい DMR ファイルを作成します。
解析時間の短縮
デジタル スレッドを使用してトレーサビリティ情報をアーティファクト自体にキャッシュすることで、より効率的にアーティファクトとその関係を解析できます。キャッシュは [デジタル スレッド設定] ダイアログ ボックスから有効にできます。
モデル設計ダッシュボードまたはモデル テスト ダッシュボードを開いたときに情報バナーが表示されるようになりました。このバナーで [デジタル スレッド設定の表示] をクリックして [デジタル スレッド設定] ダイアログ ボックスを開くことができます。
[デジタル スレッド設定] ダイアログ ボックスで、[ユーザー設定] 、 [トレース情報] にある [トレース情報をキャッシュ] を選択してキャッシュを有効にします。
あるいは、プロジェクトの [デジタル スレッド設定] ダイアログ ボックスは、ダッシュボードのツールストリップで [オプション] をクリックして [デジタル スレッド設定] をクリックしても表示できます。
CI でのデジタル スレッドの共有
継続的インテグレーション (CI) システムを使用している場合、デジタル スレッドの DMR ファイルを派生アーティファクトとして扱うことで、プロジェクトのデジタル スレッドをチーム全体で共有できます。チーム メンバーはソース管理からプロジェクトをクローンすると、プロジェクトの最新の解析を含む既存のデジタル スレッドなど、最新の派生ファイルをダウンロードできます。その後、チーム メンバーは通常どおりプロジェクトに対して作業できます。チーム メンバーはソース管理に変更を送信する際、派生アーティファクトをソース管理にチェックインしません。そうではなく、CI システムがデジタル スレッドに対して増分的な更新を行います。CI システム内のデジタル スレッドを更新するには、関数 execute
を使用して CI システムによってメトリクス エンジンを実行するか、関数 updateArtifacts
を使用してトレース情報を更新します。次に、データベースまたはリポジトリ管理ツールを使用して、派生 DMR ファイルを管理できます。
参考
metric.Engine
| execute
| updateArtifacts