Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

デジタル スレッドを使用したアーティファクト トレーサビリティの監視と古くなった結果の検出

業界標準およびガイドラインに適合したソフトウェアを開発する場合、多数のアーティファクトを作成して管理する責任を負います。こうしたアーティファクトには、多くの場合、要件、モデル、テスト、および生成された結果が含まれます。通常、これらのアーティファクト間には依存関係があります。つまり、あるアーティファクトを変更すると、下流のアーティファクトや派生アーティファクトを作り直したり再解析したりする必要が生じることがあります。これらのアーティファクトおよびそれらの関係に関する情報を使用して、開発アクティビティのステータスを評価できます。たとえば、プロジェクトのデジタル スレッドを有効にすることができます。"デジタル スレッド" は、プロジェクト内のアーティファクトおよび関係に関する情報を格納した一連のメタデータです。

このページでは、デジタル スレッドのメリット、デジタル スレッドの仕組み、およびプロジェクトに対してデジタル スレッド サポートを有効にする方法について説明します。

デジタル スレッドのメリット

デジタル スレッドを使用すれば、プロジェクト内のアーティファクト、アーティファクト構造、およびアーティファクト間の関係に関するデータにアクセスできます。プロジェクトに対して変更を行う際に、デジタル スレッドに格納されている情報を解析できます。

デジタル スレッドを利用すれば、以下が可能です。

  • アーティファクトの変更を追跡する

  • アーティファクト間の関係を追跡する

  • 古くなった結果を特定する

  • 結果の増分更新の実行

プロジェクト内のアーティファクトに対して変更を行うと、デジタル スレッドによってその変更が特定され、メタデータ情報が増分的に更新されます。これにより、トレーサビリティ情報およびメトリクス結果の一元的な情報源が得られ、そうした情報や結果をチームに共有できます。

Diagram showing digital thread connecting requirements, design artifacts, tests, and test results

複数の MathWorks® アプリおよびツールでデジタル スレッド内の情報を使用して、トレーサビリティ関係を特定したり、メトリクス結果を集計したり、インクリメンタル ビルドを実行したりします。

アプリケーション機能
トレーサビリティモデル設計およびモデル テスト ダッシュボードで [トレース ビュー] をクリックするExplore Traceability Information for Units and Components
メトリクスおよびダッシュボード
  • モデル保守性ダッシュボード

  • モデル テスト ダッシュボード

  • SIL コード テスト ダッシュボード

  • PIL コード テスト ダッシュボード

  • 設計コスト メトリクス (Fixed-Point Designer™)

  • コード品質ダッシュボード (MATLAB® Test™)

モデル テスト ダッシュボードを使用してテスト アクティビティのステータスと品質を調査
インクリメンタル ビルドプロセス アドバイザー アプリ (CI/CD Automation for Simulink Check サポート パッケージ)

デジタル スレッド解析

デジタル スレッドは、設計に対して 2 つの主な操作 (アーティファクトのトレースと派生アーティファクトの追跡) を実行します。

アーティファクトのトレース

"アーティファクトのトレース" では、デジタル スレッドは以下を行います。

  • プロジェクト フォルダー内にあるアーティファクトを特定する

  • 可能性のあるソフトウェア ユニットおよびコンポーネントを特定する

  • 各アーティファクトの汎用一意識別子 (UUID) を作成する

  • 設計構造のインデックスを作成する

  • 各アーティファクトの表現、内部構造、他のアーティファクトとの関係を保存する

アーティファクト解析により、デジタル スレッドは設計内の多数のアーティファクトおよび関係を有益なアーティファクトとトレーサビリティの情報に変換できます。

Diagram showing files in project folder being used to create a trace view that shows the relationship between a software unit and a data dictionary file

ダッシュボードでトレース ビューを使用して、デジタル スレッドからのアーティファクトおよびトレーサビリティ情報のサブセットを表示できます。"トレース ビュー" は、プロジェクト内のアーティファクトの特定の事前設定されたトレーサビリティ情報を表示する対話型の図です。たとえば、デジタル スレッドがプロジェクト内のソフトウェア ユニットまでトレースした要件リンクおよび設計アーティファクトを表示できます。図内のアーティファクトにカーソルを合わせると、そのアーティファクトに関する詳細情報を確認し、そのアーティファクトを直接開くことができます。詳細については、Explore Traceability Information for Units and Componentsを参照してください。

設計に対する変更について、デジタル スレッドはプロジェクト フォルダー内のファイルを監視し続け、アーティファクトの表現およびアーティファクト関係を増分的に更新します。デジタル スレッドは、プロジェクト ファイルが移動したときにそれを検出でき、アーティファクトとアーティファクト内の要素に対して同じ UUID を維持します。デジタル スレッドは、アーティファクトまたは関係を解析できない場合、警告またはエラー メッセージを返します。詳細については、View Artifact Issues in Projectを参照してください。

派生アーティファクトの追跡

デジタル スレッドは、Requirements Toolbox™ の要件エディターのような MathWorks アプリからの出力を追跡して、新しいアーティファクトを特定したり、設計に影響する要件、ユニット、テスト、および結果に関する最新情報を維持したりできるようにします。たとえば、設計内の要件を変更すると、デジタル スレッドはその変更を検出し、その要件および再実行する必要が生じる可能性があるテストを実装している下流の設計アーティファクトに対する影響を特定できます。

デジタル スレッドを使用して一般的なトレーサビリティの問題を特定して対処できるようにする方法の例については、要件に基づくテストの問題を修正を参照してください。

デジタル スレッド サポートの有効化

プロジェクトに対してデジタル スレッド サポートを有効にするには、プロジェクトに対してアーティファクトのトレースを有効にする必要があります。モデル テスト ダッシュボードのようなアプリを使用している場合、初めてアプリを開いたときにプロジェクトに対してアーティファクトのトレースを有効にするように求めるメッセージが自動的に出されます。

また、以下のいずれかの方法を使用して、プロジェクトに対してデジタル スレッドを手動で有効にすることができます。

  • MATLAB の [プロジェクト] タブで [起動とシャットダウン] をクリックします。[プロジェクトの起動とシャットダウンの管理] ダイアログ ボックスの [環境] セクションで、[ツールの出力を追跡して期限切れの結果を検出] を選択します。

  • MATLAB Online™[プロジェクト] タブで [設定] をクリックします。[プロジェクトの設定] ダイアログ ボックスの [Simulink] セクションで [ツールの出力を追跡して期限切れの結果を検出] を選択します。

デジタル スレッドを必要とするアプリまたはツールを次回使用したときに、デジタル スレッド ソフトウェアはプロジェクトの初期解析を実行し、デジタル スレッドを格納する派生ファイルを作成します。

デジタル スレッドの作成

デジタル スレッドを必要とするアプリを初めて開くか、そうした 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 ファイルを管理できます。

Diagram showing workflow for sharing digital thread using CI and a database or repository management tool

参考

| |

関連するトピック