Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

システム開発用の検証および確認

システム開発の検証方法は V モデルです。

システム開発用の V モデル

V モデルとは、システム開発の表現で、システム開発プロセスでの検証ステップに注目したものです。V の左側は、システム仕様と詳細なソフトウェア設計を含め、コード生成に至るステップを特定します。V の右側は、ソフトウェアやシステム統合を含め、左側で示したステップの検証に焦点を当てています。

プロセスでのアプリケーションと役割に応じて、1 つ以上のステップに焦点を当て V を呼び出すか、V モデルの複数のステージにおいてステップを繰り返します。コード生成技術と関連製品には、システム開発用に V モデルに適用できるツールが用意されています。MathWorks® コード生成技術と関連製品を V モデル プロセスに適用する方法の詳細については、以下を参照してください

V モデルのシミュレーションとプロトタイピングのタイプ

ラピッド シミュレーション、システム シミュレーション、ラピッド プロトタイピング、ターゲット ハードウェア上のラピッド プロトタイピングなどさまざまなタイプのシミュレーションとプロトタイピングのシステム開発には V モデルを使用します。この表は、システム開発用の V モデルに示す V モデル図の左側で確認される、シミュレーションとプロトタイピングの種類の比較です。

 シミュレーションラピッド シミュレーションシステム シミュレーション、ラピッド プロトタイピングターゲット ハードウェア上のラピッド プロトタイピング
目的概念モデルの機能をテストし検証する 概念モデルの機能を非リアルタイムで改良、テスト、および検証する 新しいアイデアとリサーチをテストする開発プロセスで設計を改良しキャリブレーションする
実行ハードウェア開発用コンピューター

開発用コンピューター

スタンドアロン実行可能プログラムは、MATLAB® と Simulink® 環境外で実行される

PC または非ターゲット ハードウェアEmbedded Computing Unit (ECU) またはプロトタイプ
コード効率と I/O レイテンシ適用不可適用不可コード効率と I/O レイテンシは重要視されないコード効率と I/O レイテンシは重要視される
使いやすさとコスト

コンポーネント (アルゴリズムまたはコントローラー) と環境 (またはプラント) をシミュレーションできる

Simulink でのノーマル モード シミュレーションでは、検証中にデータへのアクセス、表示、および調整が可能

Simulink シミュレーションを高速化できる

コンポーネントと環境モデルを含むハイブリッドな動的システムのモデルを簡単にシミュレーションできる

バッチまたはモンテ カルロ シミュレーションに最適

シミュレーションをさまざまなデータセットで、対話的またはスクリプトを使用してプログラム的に、モデルのリビルドなしで繰り返せる

Simulink に接続して、信号をモニターし、パラメーターを調整できる

カスタムのリアルタイム シミュレーターとハードウェアが必要となる場合がある

安価な市販の PC ハードウェアと I/O カードで実行できる場合がある

コスト削減と利便性向上のため、既存のハードウェアを利用できる場合がある

V モデルのインザループ テストのタイプ

この表は、システム開発用の V モデルに示す V モデル図の右側で確認される、検証用インザループ テストの種類の比較です。

 SIL シミュレーション組み込みハードウェア上の PIL シミュレーション命令セット シミュレーター上の PIL シミュレーションHIL シミュレーション
目的コンポーネントのソース コードの確認 コンポーネントのオブジェクト コードの確認コンポーネントのオブジェクト コードの確認システム機能の確認
忠実度と正確性

2 つのオプション:

ターゲットと同じソース コードだが、数値が異なる場合がある

ソース コードを変更して、ワード サイズをエミュレートするが、固定小数点演算用にビット単位で正確

同じオブジェクト コード

固定小数点演算用にビット単位で正確

コードはハードウェア上で実行されるため、サイクル単位で正確

同じオブジェクト コード

固定小数点演算用にビット単位で正確

サイクル単位で正確でない場合がある

同じ実行可能コード

固定小数点演算用にビット単位で正確

サイクル単位で正確

実際およびエミュレートされたシステム I/O を使用する

実行プラットフォーム開発用コンピューターターゲット ハードウェア開発用コンピューターターゲット ハードウェア
使いやすさとコスト

デスクトップの利用可

Simulink でのみ実行

ハードウェア コストを低減

デスクトップまたはテスト ベンチで実行

ハードウェアを使用 — プロセス ボードとケーブル

デスクトップの利用可

Simulink と統合開発環境 (IDE) を搭載した開発用コンピューターで実行

ハードウェア コストを低減

テスト ベンチ上またはラボ内で実行

ハードウェアを使用 — プロセッサ、Embedded Computer Unit (ECU)、I/O デバイス、およびケーブル

リアルタイム機能リアルタイムではないリアルタイムではない (サンプル間)リアルタイムではない (サンプル間)ハード リアルタイム

コード生成の目的の概要

これらの表は、コード生成技術を適用する際の目的と、それを実現するための情報ソースの場所の一覧です。

以下にリンクされている例を開いて実行し、コードを生成できます。

要件のドキュメント化および検証

目的関連製品情報

要件をドキュメント、スプレッドシート、データ ベース、または要件管理ツールに取り込む

Simulink Report Generator

Microsoft® WordMicrosoft Excel®、生の HTML、IBM® Rational® DOORS® などのサードパーティ ベンダー ツール

 

要件ドキュメントを概念モデル内のオブジェクトと関連付ける

モデルに関連付けられている要件に関するレポートを生成する

要件管理インターフェイス (Simulink Requirements)

Microsoft WordMicrosoft Excel、HTML および IBM Rational DOORS での双方向トレース

slvnvdemo_fuelsys_docreq
生成コードに要件リンクを含める

要件リンクの確認と維持 (Simulink Requirements)

rtwdemo_requirements
モデル要素やサブシステムから生成コードまで、またはこの逆のトレースを行う

コードのトレース

rtwdemo_hyperlinks
開発用コンピューター上で非リアルタイムに概念モデルを確認し、改良し、テストする

モデル アーキテクチャと設計

モデル アーキテクチャと設計

シミュレーション

高速化

Stateflow チャートを使用した空燃比制御システム

スタンドアロン ラピッド シミュレーションを実行する

バッチまたはモンテカルロ シミュレーションを実行する

シミュレーションをさまざまなデータセットで、対話的またはスクリプトでプログラム的に、モデルのリビルドなしで繰り返す

パラメーターを調整し、対話的に信号をモニターする

可変ステップ ソルバーとゼロクロッシング検出を必要とするコンポーネントと環境またはプラントを含む、ハイブリッドな動的システムのモデルをシミュレーションする

RSim システム ターゲット ファイルを使用したホスト コンピューターでのハイブリッド動的システムの高速化、調整およびテスト

エクスターナル モード シミュレーションによるパラメーターの調整と信号の監視

パラメーター値の範囲に対するラピッド シミュレーションの実行

生成コードを再コンパイルしないバッチ シミュレーションの実行

MAT ファイルを利用した、ラピッド シミュレーションに対応する Inport ブロックへのデータ入力

シミュレーション実行を複数のコンピューターに渡って分散させる

Simulink Test

MATLAB Parallel Server

Parallel Computing Toolbox

 

システム仕様の開発

目的関連製品情報

レビューおよびアーカイブ化するために、MATLAB コードで開発するアルゴリズムの設計アーティファクトを生成する

MATLAB Report Generator

 

レビューおよびアーカイブ化するために、Simulink モデルと Stateflow® モデルから設計アーティファクトを生成する

システム設計の説明 (Simulink Report Generator)

コード生成レポートの生成

システム シミュレーション用に 1 つ以上のコンポーネントを別の環境に追加する

コンポーネント モデルを改良する

統合されたシステム モデルを改良する

非リアルタイムでモデルの機能を確認する

概念モデルをテストする

リアルタイム ラピッド プロトタイピングのためのアルゴリズム モデルの展開 

生成コードをスケジュールする

絶対時間と経過時間の計算

時間ベースのスケジューリングとコード生成

非同期イベント

時間ベースのスケジューリング モデル例

システムの機能範囲を指定する

サブシステム

rtwdemo_atomic
rtwdemo_ssreuse
rtwdemo_filepart
rtwdemo_exporting_functions

設計とインクリメンタルなコード生成用のコンポーネントと範囲を指定する

コンポーネントベースのモデル化

コンポーネントベースのモデル化

rtwdemo_mdlreftop

外部ソフトウェアで生成コードをコンパイル、ビルド、および呼び出しできるように関数インターフェイスを指定する

C データと C 関数の構成

rtwdemo_configinterface
rtwdemo_configdefaults
rtwdemo_fcnprotoctrl
rtwdemo_cppclass

データの統合とパッケージ化のために、生成コードのデータのパッケージ化を管理する

C データと C 関数の構成

rtwdemo_ssreuse
rtwdemo_mdlreftop
rtwdemo_configinterface

生成コードのコメントと識別子の形式を生成および制御する

コード コメントの構成

生成される識別子の構成

rtwdemo_comments
rtwdemo_symbols

ユーザーのホスト コンピューター以外の環境で生成コードをビルドするための生成コード ファイル、静的ファイル、および従属データを含む zip ファイルを作成する

別の開発環境にコードを移動する場合

rtwdemo_buildinfo

共有ライブラリを使用しているシステム シミュレーターでの検証用にモデルをエクスポートする

生成コードを共有ライブラリとしてパッケージ化

rtwdemo_shrlib

アルゴリズム設計とプロトタイピング間で迅速に反復を行い、コンポーネントと環境モデルの設計を改良する

コンポーネントで物理システムを非リアルタイムで適切に制御できるかどうかを確認する

ハードウェアのレイアウト、制作ソフトウェアのコーディング、または固定設計への確定を行う前に、システム性能を評価する

ハードウェアをテストする

配布

配布

 

ラピッド プロトタイピング用のコードを生成する

非バーチャル サブシステムのモジュラー関数コードの生成

rtwdemo_counter
rtwdemo_counter_msvc
rtwdemo_async
PC を使用してハード リアルタイムでのラピッド プロトタイピング用のコードを生成する

Simulink Real-Time

Create and Run Real-Time Application from Simulink Model (Simulink Real-Time)
PC を使用してソフト リアルタイムでのラピッド プロトタイピング用のコードを生成する

Simulink Desktop Real-Time

sldrtex_vdp (など)

詳細なソフトウェア設計の開発

目的関連製品情報
生成コード内のデータの表現とストレージ用のモデル設計を改良する

プロトタイピングとデバッグのためのデータ アクセス

データの表現とアクセス

 

配布用にコード生成機能を選択する

ランタイム環境の構成

ランタイム環境の構成

ユーティリティ コードの共有

AUTOSAR コードの生成

rtwdemo_counter
rtwdemo_counter_msvc
rtwdemo_async
AUTOSAR ワークフローの例 (AUTOSAR Blockset)
ターゲット ハードウェアの設定を指定する

ランタイム環境の構成

ランタイム環境の構成

rtwdemo_targetsettings
モデル バリアントを設計する

バリアントの定義、設定および有効化

バリアント システム

 
Simulink、Stateflow、およびコード生成のための MATLAB 言語サブセットで固定小数点アルゴリズムを指定する

生成されたコードにおけるパラメーターのデータ型

固定小数点コードの生成のサポート (Fixed-Point Designer)

rtwdemo_fixpt1
Air-Fuel Ratio Control System with Fixed-Point Data
浮動小数点のモデルまたはサブシステムを固定小数点表現に変換する

Simulink での固定小数点の反復的変換 (Fixed-Point Designer)

fxpdemo_fpa
オートスケーリングを使用して最適な固定小数点設計の取得を反復する

生成されたコードにおけるパラメーターのデータ型

fxpdemo_feedback
アプリケーションに固有のデータ型を作成するか、データ型の名前を変更する

Control Data Type Names in Generated Code

rtwdemo_udt
生成コード内の識別子の形式を制御する

生成される識別子の構成

rtwdemo_symbols
生成コードでの信号、調整可能なパラメーター、ブロック状態、およびデータ オブジェクトの宣言、保存、および表現方法を指定する

Struct ストレージ クラスを使用してパラメーター データを構造体に整理する

rtwdemo_cscpredef
モデル用のデータ ディクショナリを作成する

データ ディクショナリとは

rtwdemo_configinterface
キャリブレーションとデータ アクセス用に #pragmas を使用して、生成された関数とデータのデータ セグメントを再配置する

Control Data and Function Placement in Memory by Inserting Pragmas

rtwdemo_memsec
アプリケーションおよび予想されるランタイム環境に基づくモデル コンフィギュレーション パラメーターを評価し、調整する

モデル コンフィギュレーション

モデル コンフィギュレーション

Simulink® Coder™ を使用したコード生成
Embedded Coder® を使用したコード生成
基本的なモデリング ガイドラインに対してモデルをチェックする

モデル アドバイザーを使用したモデルのチェック

rtwdemo_advisor1
カスタム チェックを Simulink モデル アドバイザーに追加する

モデル アドバイザー チェックの作成 (Simulink Check)

モデル アドバイザー カスタム コンフィギュレーションの作成と配布 (Simulink Check)
カスタムの標準またはガイドラインに対してモデルをチェックするモデル アドバイザーを使用したモデルのチェック 
業界標準とガイドライン (MathWorks Advisory Board (MAB)、IEC 61508、IEC 62304、ISO 26262、EN 50128 および DO-178) に対してモデルをチェックする

業界標準、ガイドラインおよびブロックの使用法

モデルの準拠性のチェック (Simulink Check)

rtwdemo_iec61508
MCDC などの構造カバレッジ解析用にモデル カバレッジを取得する

Simulink Coverage

 
プロパティを検証し、モデルのテスト ベクトルを生成する

Simulink Design Verifier™

sldvdemo_cruise_control
sldvdemo_cruise_control_verification
モデルとソフトウェア設計のレポートを生成する

MATLAB Report Generator

Simulink Report Generator

システム設計の説明 (Simulink Report Generator)

コード生成レポートの生成
モデルとソフトウェア設計のレビューを、Simulink を使用していない同僚、顧客、サプライヤーと共に実行する

モデルの Web ビューの作成 (Simulink Report Generator)

Stateflow を含む Simulink モデルの比較とマージ

コンポーネントまたはシステムの概念モデルを改良する

モデルの機能をリアルタイムでテストおよび検証する

ハードウェアをテストする

組み込みプロセッサに基づいて、解析とサイズ設定用にリアルタイム プロファイルとコード メトリクスを取得する

環境またはプラント ハードウェアとの統合に基づいて、アルゴリズムの実行可能性を評価する

配布

配布

コード実行のプロファイル

Static Code Metrics

rtwdemo_sil_topmodel
モデル用のソース コードを生成し、コードを量産ビルド環境に統合して、既存のハードウェアで実行する

コード生成

コード生成

rtwdemo_counter
rtwdemo_counter_msvc
rtwdemo_fcnprotoctrl
rtwdemo_cppclass
rtwdemo_async
AUTOSAR ワークフローの例 (AUTOSAR Blockset)
外部記述された既存の C または C++ コードを、シミュレーションとコード生成用のモデルと統合する

ブロックのオーサリングとシミュレーションの統合

外部コードの統合

rtwdemos[モデル アーキテクチャと設計][外部コードの統合] を選択
特定の組み込みマイクロプロセッサと IDE でターゲット上のラピッド プロトタイピング用のコードを生成する

Deploy Generated Component Software to Application Target Platforms

rtwdemo_vxworks

アプリケーション コードの生成

目的関連製品情報
量産用に生成された ANSI® C コードを最適化する (浮動小数点コードを無効にする、終了とエラー処理コードを削除する、コード エントリ ポイントを単一関数にまとめるなど)

パフォーマンス

パフォーマンス

rtwdemos[パフォーマンス] を選択
専用の関数ライブラリを使用して、固有のランタイム環境向けのコードを最適化する

コード置換

コード置換

コード置換のカスタマイズ

コード置換ライブラリの開発と使用による生成コードの最適化 - Simulink®
生成コードの形式とスタイルを制御する

Model Configuration Parameters: Code Style

rtwdemo_parentheses
生成コードに挿入されるコメントを制御する

モデル コンフィギュレーション パラメーター: コメント

rtwdemo_comments
サードパーティ ツールまたはプロセスによる後処理用の特別な命令またはタグを入力する

コード生成後のビルド プロセスのカスタマイズ

rtwdemo_buildinfo
生成コードに要件リンクを含める

要件リンクの確認と維持 (Simulink Requirements)

rtwdemo_requirements
モデル ブロックやサブシステムから生成コードまで、またはこの逆のトレースを行う

コードのトレース

業界標準、ガイドラインおよびブロックの使用法

rtwdemo_comments
rtwdemo_hyperlinks
外部記述された既存のコードをモデル用に生成されたコードと統合する

ブロックのオーサリングとシミュレーションの統合

カスタム統合

rtwdemos[モデル アーキテクチャと設計][外部コードの統合] を選択
MISRA C® [a] および他の実行時違反用に生成されたコードを検証する

MISRA C Guidelines

Polyspace Bug Finder

Polyspace Code Prover

 

コンポーネント モデル設計と生成コードの知的所有権を保護する

バイナリ ファイル (共有ライブラリ) を生成する

サードパーティからの保護モデルの参照

生成コードを共有ライブラリとしてパッケージ化

 
モデルまたはサブシステム用の MEX ファイル S-Function を生成して、サードパーティ ベンダーと共有できるようにする

サブシステムからの S-Function の生成

 
モデルまたはサブシステム用の共有ライブラリを生成して、サードパーティ ベンダーと共有できるようにする

生成コードを共有ライブラリとしてパッケージ化

 
生成された量産コードを環境またはプラント モデルを使用してテストし、モデルからコードへの変換を確認する

ソフトウェアインザループ シミュレーション

SIL シミュレーションと PIL シミュレーションを使用した生成コードのテスト
Simulink で実行中のモデルから生成されたソース コードを呼び出すための S-Function ラッパーを作成する

ラッパー S-Function および TLC ファイルの記述

 
ホスト コンピューター上で SIL テストを設定し実行する

ソフトウェアインザループ シミュレーション

SIL シミュレーションと PIL シミュレーションを使用した生成コードのテスト

[a] MISRA® and MISRA C are registered trademarks of MISRA Ltd., held on behalf of the MISRA Consortium.

ソフトウェアの統合と確認

目的関連製品情報
外部記述された既存の C または C++ コードを、シミュレーションとコード生成用のモデルと統合する

ブロックのオーサリングとシミュレーションの統合

カスタム統合

rtwdemos[モデル アーキテクチャと設計][外部コードの統合] を選択
生成された C コード データ構造用のデータ インターフェイスに接続する

キャリブレーションおよび測定

キャリブレーションおよび測定

rtwdemo_capi
rtwdemo_asap2
外部ソフトウェアで生成コードをコンパイル、ビルド、および呼び出しできるようにコード生成インターフェイスを制御する

C データと C 関数の構成

rtwdemo_fcnprotoctrl
バーチャル サブシステムと Function-Call Subsystem をエクスポートする

外部コード ベースにエクスポートするコンポーネント ソース コードの生成

rtwdemo_exporting_functions
ターゲット固有のコードを含める

コード置換

コード置換

コード置換のカスタマイズ

コード置換ライブラリの開発と使用による生成コードの最適化 - Simulink®
ビルド プロセスをカスタマイズおよび制御する

ビルド プロセスのカスタマイズ

rtwdemo_buildinfo

ユーザーのホスト コンピューター以外の環境で生成コードをビルドするための生成コード ファイル、静的ファイル、および従属データを含む zip ファイルを作成する

別の開発環境にコードを移動する場合

rtwdemo_buildinfo
ソフトウェア コンポーネントを完全なシステムとして統合し、ターゲット環境でのテストを行う

ターゲット環境の検証

 
特定の量産環境と統合するためのソース コードを生成する

コード生成

コード生成

rtwdemo_async
AUTOSAR ワークフローの例 (AUTOSAR Blockset)
専用の関数ライブラリを使用して、固有のランタイム環境向けのコードを統合する

コード置換

コード置換

コード置換のカスタマイズ

コード置換ライブラリの開発と使用による生成コードの最適化 - Simulink®
サードパーティ ツールまたはプロセスによる後処理用の特別な命令またはタグを入力する

コード生成後のビルド プロセスのカスタマイズ

rtwdemo_buildinfo
外部記述された既存のコードをモデル用に生成されたコードと統合する

ブロックのオーサリングとシミュレーションの統合

外部コードの統合

rtwdemos[モデル アーキテクチャと設計][外部コードの統合] を選択
生成された C コード データ構造用のデータ インターフェイスに接続する

キャリブレーションおよび測定

キャリブレーションおよび測定

rtwdemo_capi
rtwdemo_asap2

生成コードをスケジュールする

タイマー

時間ベースのスケジューリング

イベントベースのスケジューリング

時間ベースのスケジューリング モデル例

ターゲット環境においてオブジェクト コード ファイルを確認する

ソフトウェアインザループ シミュレーション

SIL シミュレーションと PIL シミュレーションを使用した生成コードのテスト
ターゲット システム上で PIL テストを設定し実行する

プロセッサインザループ シミュレーション

SIL シミュレーションと PIL シミュレーションを使用した生成コードのテスト

カスタム ターゲット用のプロセッサインザループ (PIL) の構成

プロセッサインザループ (PIL) シミュレーション用のターゲット通信チャネルの作成

MathWorks Web サイト上の Embedded Coder® 製品に関するsupported hardwareの一覧を参照し、目的の関連製品の例を見つけてください。

システム コンポーネントの統合、確認、およびキャリブレーション

目的関連製品情報

ソフトウェアとそのマイクロプロセッサをハードウェア環境と統合して、最終の組み込みシステム製品を完成する

制御下の環境 (またはプラント) の複雑さをテスト プラットフォームに追加する

リアルタイム ターゲット環境を使用して、組み込みシステムまたはコントロール ユニットをテストおよび確認する

リアルタイム ラピッド プロトタイピングのためのアルゴリズム モデルの展開

リアルタイム ハードウェアインザループ (HIL) シミュレーションのための環境モデルの展開

Deploy Generated Standalone Executable Programs To Target Hardware

Deploy Generated Component Software to Application Target Platforms

 
HIL テスト用のソース コードを生成する

コード生成

コード生成

リアルタイム ハードウェアインザループ (HIL) シミュレーションのための環境モデルの展開

 
PC を使用してハード リアルタイム HIL テストを実行する

Simulink Real-Time

Create and Run Real-Time Application from Simulink Model (Simulink Real-Time)
Real-Time Simulation and Testing (Simulink Real-Time)

用途に合わせて ECU を適切に調整する

キャリブレーションおよび測定

キャリブレーションおよび測定

rtwdemo_capi
rtwdemo_asap2
ASAP2 データ ファイルを生成する

データ測定およびキャリブレーションのための ASAP2 ファイルのエクスポート

rtwdemo_asap2
C API データ インターフェイス ファイルを生成する

C API を使用した生成コードと外部コードの間のデータ交換

rtwdemo_capi