45
1 © 2013 The MathWorks, Inc. 不具合の早期検出 ~モデルベースデザインによる モデルとコードの検証~ MathWorks Japan アプリケーションエンジニア Application Engineer 能戸 フレッド Fred Noto

不具合の早期検出 ~モデルベースデザインによる モデルと ......Fred Noto. 2. はじめに. 開発の早期段階で不具合を発見したい. モデルの作成はできたが、なるべく上流で検証をしたい

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 不具合の早期検出 ~モデルベースデザインによる モデルと ......Fred Noto. 2. はじめに. 開発の早期段階で不具合を発見したい. モデルの作成はできたが、なるべく上流で検証をしたい

1 © 2013 The MathWorks, Inc.

不具合の早期検出 ~モデルベースデザインによる モデルとコードの検証~

MathWorks Japan アプリケーションエンジニア ・ Application Engineer 能戸 フレッド ・ Fred Noto

Page 2: 不具合の早期検出 ~モデルベースデザインによる モデルと ......Fred Noto. 2. はじめに. 開発の早期段階で不具合を発見したい. モデルの作成はできたが、なるべく上流で検証をしたい

2

はじめに

開発の早期段階で不具合を発見したい

モデルの作成はできたが、なるべく上流で検証をしたい

自動生成・ハンドコードの実装前にランタイムエラーを 検出したい

モデルベースデザインに沿って便利な検証製品・機能を 紹介します

モデルやコード検証に関する悩みの解決案を説明します

モデルベースデザインによる検証における課題

本講演の内容

Page 3: 不具合の早期検出 ~モデルベースデザインによる モデルと ......Fred Noto. 2. はじめに. 開発の早期段階で不具合を発見したい. モデルの作成はできたが、なるべく上流で検証をしたい

3

モデルベースデザインによる修正ループ

コード

統合

製品

設計

要求

プロセスの各段階で修正ループを回すことがポイント

Page 4: 不具合の早期検出 ~モデルベースデザインによる モデルと ......Fred Noto. 2. はじめに. 開発の早期段階で不具合を発見したい. モデルの作成はできたが、なるべく上流で検証をしたい

4

モデルベースデザインで制御系開発をより快適に!

工程

工数

従来開発(実機試験中心)

設計

実機検証

不具合修正コストが高い 後工程にテストが集中

設計抜け漏れが起こり易い

工程

工数

モデルベースデザイン

実機検証

不具合修正コストが低い 開発上流にテストを前倒し

設計抜け漏れを早期に発見・修正

設計 +

仮想試作+検証

MATLAB® /Simulink® を使用して品質UP, 費用と時間DOWN

Page 5: 不具合の早期検出 ~モデルベースデザインによる モデルと ......Fred Noto. 2. はじめに. 開発の早期段階で不具合を発見したい. モデルの作成はできたが、なるべく上流で検証をしたい

5

不具合の早期検出によるメリット

$139.00 $455.00 $977.00

$7,136.00

$14,102.00

$0.00

$2,000.00

$4,000.00

$6,000.00

$8,000.00

$10,000.00

$12,000.00

$14,000.00

$16,000.00

Software Development Lifecycle Phase Source: B.Boehm and V. Basili :Software Defect Reduction Top 10 List", IEEE Computer

Cost Per Bug

手戻りを削減するため、適切な検証手法が必要

この段階で検証するのがベスト!

Page 6: 不具合の早期検出 ~モデルベースデザインによる モデルと ......Fred Noto. 2. はじめに. 開発の早期段階で不具合を発見したい. モデルの作成はできたが、なるべく上流で検証をしたい

6

モデルベースデザインによる検証

コード

統合

製品

設計

要求

モデル コード

プロセスの各段階に適用する検証方法が必要

Page 7: 不具合の早期検出 ~モデルベースデザインによる モデルと ......Fred Noto. 2. はじめに. 開発の早期段階で不具合を発見したい. モデルの作成はできたが、なるべく上流で検証をしたい

7

モデル検証の課題と解決方法

コード

設計

要求

モデル 仕様を反映するモデルを 作成しているか

テストベクトルにヌケモレがあるか

モデルにエラーがあるか

要求とモデル間の トレーサビリティ確保

カバレッジの 目標達成

モデル設計内の不具合を自動検出

Page 8: 不具合の早期検出 ~モデルベースデザインによる モデルと ......Fred Noto. 2. はじめに. 開発の早期段階で不具合を発見したい. モデルの作成はできたが、なるべく上流で検証をしたい

8

コード検証の課題と解決方法

コード

統合

製品

コード 自動生成コードをハンドコードと統合したら実行時エラーが発生しないか

ハンドコード・レガシーコードにエラーがないか

モデルとコードの一致性があるか

コード内のクリティカルなランタイムエラーの

不在を証明

モデルとコードを比較するテストハーネス作成

Page 9: 不具合の早期検出 ~モデルベースデザインによる モデルと ......Fred Noto. 2. はじめに. 開発の早期段階で不具合を発見したい. モデルの作成はできたが、なるべく上流で検証をしたい

9

モデルベースデザインによる検証

コード

統合

製品

設計

要求

要求とモデルのリンク作成 カバレッジ解析

設計エラー検出

モデルとコードの比較

コード検証

認証取得向け手法

Page 10: 不具合の早期検出 ~モデルベースデザインによる モデルと ......Fred Noto. 2. はじめに. 開発の早期段階で不具合を発見したい. モデルの作成はできたが、なるべく上流で検証をしたい

10

要求とモデル間トレーサビリティの懸念 rev3.0

rev1.0

rev2.0

rev2.1

rev3.0

仕様に沿って正確にモデルが 作成されているか?

仕様変更に対して モデルをどう編集したら良いか?

Page 11: 不具合の早期検出 ~モデルベースデザインによる モデルと ......Fred Noto. 2. はじめに. 開発の早期段階で不具合を発見したい. モデルの作成はできたが、なるべく上流で検証をしたい

11

仕様とモデルのトレーサビリティを確保

ドキュメントからモデルへ(Word/Excel/DOORS/MKS Integrity )

モデルからドキュメントへ

Simulink Verification and Validation™

仕様・モデル間のリンクにより、ナビゲーションが容易

該当箇所が選択される

該当のモデル箇所がハイライト

ActiveXボタン

クリック

クリック

Page 12: 不具合の早期検出 ~モデルベースデザインによる モデルと ......Fred Noto. 2. はじめに. 開発の早期段階で不具合を発見したい. モデルの作成はできたが、なるべく上流で検証をしたい

12

仕様とモデルのトレーサビリティを確保

• モデル上に仕様書に記載のない(意図しない)機能が含まれて

いないことを確認可能

• 仕様書にモデル上で欠落している機能がないことを確認可能

• 上流工程にて仕様のヌケモレを軽減可能

• 機能単位サブシステムのリンク作成から始めてください

メリット

ポイント

Page 13: 不具合の早期検出 ~モデルベースデザインによる モデルと ......Fred Noto. 2. はじめに. 開発の早期段階で不具合を発見したい. モデルの作成はできたが、なるべく上流で検証をしたい

13

モデルベースデザインによる検証

コード

統合

製品

設計

要求

要求とモデルのリンク作成

カバレッジ解析

設計エラー検出

モデルとコードの比較

コード検証

認証取得向け手法

Page 14: 不具合の早期検出 ~モデルベースデザインによる モデルと ......Fred Noto. 2. はじめに. 開発の早期段階で不具合を発見したい. モデルの作成はできたが、なるべく上流で検証をしたい

14

モデルカバレッジの概要

カバレッジ対象(代表例)

Stateflow 状態オブジェクト

Stateflow 遷移オブジェクト

対象リスト: http://www.mathworks.com/access/helpdesk/help/toolbox/slvnv/ug/f30379.html#f18144

テスト品質の向上

Simulink Verification and Validation

カバレッジ基準 デシジョンカバレッジ コンディションカバレッジ MC/DC Signal Rangeカバレッジ Look-up Tableカバレッジ

モデルカバレッジの測定

テストの抜け漏れ確認 未達カバレッジの補充テスト

カバレッジとは、あるテスト入力が、モデルの条件分岐のパスを何%通ったか、数値化したもの

Page 15: 不具合の早期検出 ~モデルベースデザインによる モデルと ......Fred Noto. 2. はじめに. 開発の早期段階で不具合を発見したい. モデルの作成はできたが、なるべく上流で検証をしたい

15

モデルカバレッジ測定の懸念

モデルのカバレッジは足りてるか?

Page 16: 不具合の早期検出 ~モデルベースデザインによる モデルと ......Fred Noto. 2. はじめに. 開発の早期段階で不具合を発見したい. モデルの作成はできたが、なるべく上流で検証をしたい

16

未達カバレッジの対処方法

Simulation

Formal Verification

既存テストデータの カバレッジ測定

未達カバレッジのテストデータ生成

テストデータのマージ

Simulink Verification and Validation Simulink Design Verifier™

既存テストデータの インポートとカバレッジ測定

未達カバレッジのテストデータ生成

再度、カバレッジを測定 テストデータのマージ

Page 17: 不具合の早期検出 ~モデルベースデザインによる モデルと ......Fred Noto. 2. はじめに. 開発の早期段階で不具合を発見したい. モデルの作成はできたが、なるべく上流で検証をしたい

17

参考情報:カバレッジ解析とテストデータ生成の効率化

slvnvmakeharness – カバレッジ測定用のハーネスモデルを作成

cvsave – カバレッジテストと結果を保存

slvnvmergeharness – 複数ハーネスモデルのテストデータをマージ

slvnvruntest – 入力データを使用してシミュレーションを実行

sldvgencov – モデルを解析して未達データを生成

http://www.mathworks.com/help/slvnv/functionlist.html http://www.mathworks.com/help/sldv/functionlist.html

Page 18: 不具合の早期検出 ~モデルベースデザインによる モデルと ......Fred Noto. 2. はじめに. 開発の早期段階で不具合を発見したい. モデルの作成はできたが、なるべく上流で検証をしたい

18

モデルカバレッジ解析

• テストの網羅率を数値化し、ヌケモレのないテストの

実施が可能

• 未達カバレッジをおぎなうことで、テスト品質を向上

• 自動テスト生成により、テストベクトル作成工数の削減可能

• システムに応じたカバレッジ目標を達成するテストベクトルを確保ください • 必ず100%カバレッジを達成する必要はありません

メリット

ポイント

Page 19: 不具合の早期検出 ~モデルベースデザインによる モデルと ......Fred Noto. 2. はじめに. 開発の早期段階で不具合を発見したい. モデルの作成はできたが、なるべく上流で検証をしたい

19

モデルベースデザインによる検証

コード

統合

製品

設計

要求

要求とモデルのリンク作成

カバレッジ解析

設計エラー検出

モデルとコードの比較

コード検証

認証取得向け手法

Page 20: 不具合の早期検出 ~モデルベースデザインによる モデルと ......Fred Noto. 2. はじめに. 開発の早期段階で不具合を発見したい. モデルの作成はできたが、なるべく上流で検証をしたい

20

設計エラー検出の懸念

シミュレーション

エラーは 残っているか?

全てのエラーを検出する テストベクトルを

作成するのは大変!

Page 21: 不具合の早期検出 ~モデルベースデザインによる モデルと ......Fred Noto. 2. はじめに. 開発の早期段階で不具合を発見したい. モデルの作成はできたが、なるべく上流で検証をしたい

21

設計エラーの検出

シミュレーションやテストベクトル作成せずに、モデル内の 設計エラーを自動的に検出

ゼロ割 オーバーフロー 範囲外アクセス デッドロジック Min/Max範囲

チェック

Simulink Design Verifier

Page 22: 不具合の早期検出 ~モデルベースデザインによる モデルと ......Fred Noto. 2. はじめに. 開発の早期段階で不具合を発見したい. モデルの作成はできたが、なるべく上流で検証をしたい

22

設計エラーの検出

• シミュレーション前にモデルの欠陥を検出により、

シミュレーション時のエラー発生を回避

• デバッグ・レビューの工数を削減

• 制御ロジックや制御アルゴリズムから始めて、クリティカルな 設計エラーを事前に防止してください

メリット

ポイント

Page 23: 不具合の早期検出 ~モデルベースデザインによる モデルと ......Fred Noto. 2. はじめに. 開発の早期段階で不具合を発見したい. モデルの作成はできたが、なるべく上流で検証をしたい

23

モデルベースデザインによる検証

コード

統合

製品

設計

要求

要求とモデルのリンク作成

カバレッジ解析

設計エラー検出

モデルとコードの比較

コード検証

認証取得向け手法

Page 24: 不具合の早期検出 ~モデルベースデザインによる モデルと ......Fred Noto. 2. はじめに. 開発の早期段階で不具合を発見したい. モデルの作成はできたが、なるべく上流で検証をしたい

24

自動生成コードとモデルが等しいか検証するには?

Page 25: 不具合の早期検出 ~モデルベースデザインによる モデルと ......Fred Noto. 2. はじめに. 開発の早期段階で不具合を発見したい. モデルの作成はできたが、なるべく上流で検証をしたい

25

Simulinkモデル

Simulink環境でスピーディーな一致性確認 テストハーネスモデル&テストデータを自動生成して効率性UP

100%モデルカバレッジ テストベクトル

自動

生成

C コード (S-function)

出力の比較

モデル全体及びモデルブロックに対してSIL/PILモード有り

Page 26: 不具合の早期検出 ~モデルベースデザインによる モデルと ......Fred Noto. 2. はじめに. 開発の早期段階で不具合を発見したい. モデルの作成はできたが、なるべく上流で検証をしたい

26

モデルと自動生成コードの一致性を確認

• 自動生成テストハーネスモデルにS-Functionブロックを

追加し、モデルとコードの一致性確認が容易

• Simulinkの標準ブロック(アサーションブロック等)の 使用により、一致性確保が容易

• 目標達成のテストベクトルを使用して、徹底的なモデルとコードの一致性を確認してください

メリット

ポイント

Page 27: 不具合の早期検出 ~モデルベースデザインによる モデルと ......Fred Noto. 2. はじめに. 開発の早期段階で不具合を発見したい. モデルの作成はできたが、なるべく上流で検証をしたい

27

モデルベースデザインによる検証

コード

統合

製品

設計

要求

要求とモデルのリンク作成

カバレッジ解析

設計エラー検出

モデルとコードの比較

コード検証

認証取得向け手法

Page 28: 不具合の早期検出 ~モデルベースデザインによる モデルと ......Fred Noto. 2. はじめに. 開発の早期段階で不具合を発見したい. モデルの作成はできたが、なるべく上流で検証をしたい

28

ソフトウェア全体的のコード検証

自動生成コード レガシーコード

ハンドコード

統合コード内のランタイムエラー不在を確認

Page 29: 不具合の早期検出 ~モデルベースデザインによる モデルと ......Fred Noto. 2. はじめに. 開発の早期段階で不具合を発見したい. モデルの作成はできたが、なるべく上流で検証をしたい

29

コード検証の種類

コーディングルール

バグ検出 形式手法

コードメトリックス

(No False negative) (False negative)

コーディング規約の 準拠を測定による

エラー予防

素早いコード解析に よるエラー検出

数学的な手法に基づくコード証明

要求に適用する検証手法を選択します

Page 30: 不具合の早期検出 ~モデルベースデザインによる モデルと ......Fred Noto. 2. はじめに. 開発の早期段階で不具合を発見したい. モデルの作成はできたが、なるべく上流で検証をしたい

33

C/C++コード検証製品:Polyspace®

Polyspace Code Prover™ • コード内の全てのクリティカルな

ランタイムエラー有無の箇所を検出 • 最終チェックで利用することでコードの信頼性を確認

Polyspace Bug Finder™ • 素早くコードを解析してコード内のバグを検出する • 解析速度が速い • 開発者の使用により、作成したコードのエラーをすぐに検出・修正

Ada言語も対応

Page 31: 不具合の早期検出 ~モデルベースデザインによる モデルと ......Fred Noto. 2. はじめに. 開発の早期段階で不具合を発見したい. モデルの作成はできたが、なるべく上流で検証をしたい

34

Polyspace Bug Finderの概要 組み込みCコード内の不具合を短時間で検出

– 大規模コードの素早い不具合検出 – “False-positive”が少ない不具合検出

コーディングルールチェック

– MISRA C/C++, JSF++, コーディングルールのカスタマイズ

コードメトリックス測定 – 行数、ファイル数、リカージョン、循環的複雑度等

結果からモデルへのトレーサビリティー

– RhapsodyやSimulinkのコード生成環境で使用

セットアップと操作が容易 – Eclipse IDEと統合により、環境内から操作と実行可能 – Simulink環境から生成コードに対する解析を実行

Page 32: 不具合の早期検出 ~モデルベースデザインによる モデルと ......Fred Noto. 2. はじめに. 開発の早期段階で不具合を発見したい. モデルの作成はできたが、なるべく上流で検証をしたい

35

Polyspace Bug Finder:検出項目の種類

Polyspace Bug Finder GUI

数式エラー 静的メモリーエラー 動的メモリーエラー プログラミングエラー データフローエラー その他

Page 33: 不具合の早期検出 ~モデルベースデザインによる モデルと ......Fred Noto. 2. はじめに. 開発の早期段階で不具合を発見したい. モデルの作成はできたが、なるべく上流で検証をしたい

37

ソースコードの正しさを証明する Polyspace Code Prover 静的ソースコード検証

Quality(品質) – ランタイムエラーの証明 – 測定、向上、管理

Usage(使用方法) – コンパイル、プログラム実行、

テストケースは不要 – 対応言語:C/C++/Ada

Process(プロセス) – ランタイムエラーの早期検出 – 自動生成コード、ハンドコード

の解析可能 – コードの信頼性を測定

Polyspaceは全ての実行パスの結果を証明する! static void pointer_arithmetic (void) { int array[100]; int *p = array; int i; for (i = 0; i < 100; i++) { *p = 0; p++; } if (get_bus_status() > 0) { if (get_oil_pressure() > 0) { *p = 5; } else { i++; } } i = get_bus_status(); if (i >= 0) { *(p - i) = 10; } }

グリーン:正常 ソースコードが安全と証明

レッド:エラー 実行される度にランタイムエラー

グレー:デッドコード 無実行

オレンジ:Unproven 条件によってランタイムエラー

variable ‘I’ (int32): [0 .. 99] assignment of ‘I’ (int32): [1 .. 100]

変数値範囲 ツールチップ

パープル:Violation MISRA-C/C++, JSF++

Page 34: 不具合の早期検出 ~モデルベースデザインによる モデルと ......Fred Noto. 2. はじめに. 開発の早期段階で不具合を発見したい. モデルの作成はできたが、なるべく上流で検証をしたい

38

Polyspace Code ProverのKey Point

“実行パス” x “変数レンジ” を検証して 全てのテストケース実行に同等!

抽象解釈 (abstract interpretation) により “ランタイムエラーフリー” なコードを証明します

– コードの正しさの数学的な証明

不具合の不在をPROVEする事がPolyspaceの特徴

Page 35: 不具合の早期検出 ~モデルベースデザインによる モデルと ......Fred Noto. 2. はじめに. 開発の早期段階で不具合を発見したい. モデルの作成はできたが、なるべく上流で検証をしたい

39

コード検証の種類

コーディングルール

バグ検出 形式手法

コンパイラー警告 コードメトリックス

(No False negative) (False negative)

Polyspace Bug Finder Polyspace Code Prover

Polyspace Code Prover

エラー予防

Polyspace Bug Finder

エラー検出 コード証明

Polyspaceはコードの信頼性を確保するための機能を提供

自動生成コード、 ハンドコード 検証可能

ファイル単位、 プロジェクト単位

検証可能

Page 36: 不具合の早期検出 ~モデルベースデザインによる モデルと ......Fred Noto. 2. はじめに. 開発の早期段階で不具合を発見したい. モデルの作成はできたが、なるべく上流で検証をしたい

44

Polyspaceによるコード検証

• ハンドコード、レガシーコード、自動生成コードに関わらず、

コード内のランタイムエラーの不在を証明

• ランタイムエラー検出と同時にコーディングルールの チェックとコードメトリックス測定が可能

• コードを証明し、全体的のコード品質を確保

• コード実装前のコード検証により、手戻りを大幅に削減

メリット

ポイント

Page 37: 不具合の早期検出 ~モデルベースデザインによる モデルと ......Fred Noto. 2. はじめに. 開発の早期段階で不具合を発見したい. モデルの作成はできたが、なるべく上流で検証をしたい

45

モデルベースデザインによる検証

設計

要求

要求とモデルのリンク作成

カバレッジ解析

設計エラー検出

モデルとコードの比較

コード検証

認証取得向け手法

コード

統合

製品

Page 38: 不具合の早期検出 ~モデルベースデザインによる モデルと ......Fred Noto. 2. はじめに. 開発の早期段階で不具合を発見したい. モデルの作成はできたが、なるべく上流で検証をしたい

46

ISO 26262 におけるモデルベース開発

ソフト開発の セクション

Page 39: 不具合の早期検出 ~モデルベースデザインによる モデルと ......Fred Noto. 2. はじめに. 開発の早期段階で不具合を発見したい. モデルの作成はできたが、なるべく上流で検証をしたい

47

MathWorksが提供する ISO26262ソリューション 開発プロセスとツール・チェイン

ISO 26262 対応のためのモデルベース開発のツール・チェイン モデル開発 :Simulink ®(SL), Stateflow ® (SF) モデル検証 :Simulink Verification & Validation ™ (SLVV)

:Simulink Design Verifier ™ (SLDV) コード自動生成 :Embedded Coder ™ (EC) 静的コード検証 :Polyspace ® (PS) ISO支援キット :IEC Certification Kit (IEC Cert Kit) ドキュメント作成 :Simulink Report Generator ™

ISO 26262 リファレンス・ワークフロー

ISO 26262 便利機能 (ISO 26262 checks, trace matrix generation)

ツールの適格性の検証 MathWorks 製品の高い信頼度:幾つかのツールは、既に ISO 26262

対応の適格性の検証がされています。

Page 40: 不具合の早期検出 ~モデルベースデザインによる モデルと ......Fred Noto. 2. はじめに. 開発の早期段階で不具合を発見したい. モデルの作成はできたが、なるべく上流で検証をしたい

48

テキスト記述の要求

実行可能な仕様

量産コード用モデル

生成 コード

オブジェクトコード

モデルレベルのレビューと静的解析

モデルレベルのモジュール/統合テスト 等価性テスト

意図しない機能の回避

モデリング コード生成 コンパイルとリンク

ISO26262ワークフローとMathWorksツールチェーン

モデル検証 コード検証 設計時における設計エラーを検出 自動生成コードに対する信頼度を確保

Simulink Verification&Validation

モデルカバレッジ、

要求管理機能とのインターフェース

Simulink Verification&Validation

Simulink Design Verifier

モデルアドバイザー、形式検証、

実行時エラー検出(モデル)

モデリングガイドラインチェック

テスト生成(カバレッジ100%)

Embedded Coder(又はRTW-EC)

IEC Certification Kit

トレーサビリティレポート作成、

モデルとコードカバレージの比較

Embedded Coder(又はRTW-EC)、

Simulink Design Verifier

PILテスト/テスト生成

Polyspace

静的コード検証

実行時エラー検出(Cコード)

Simulink, Stateflow, Simulink Fixed Point

Embedded Coder

第三者認証機関である TÜV SÜD 認証取得済み

Page 41: 不具合の早期検出 ~モデルベースデザインによる モデルと ......Fred Noto. 2. はじめに. 開発の早期段階で不具合を発見したい. モデルの作成はできたが、なるべく上流で検証をしたい

49

ISO26262 設計・検証手法と MathWorksソリューションの対応表

自然言語

非形式的記述法

準形式的記述法

形式的記述法

IEC Certification Kit

Page 42: 不具合の早期検出 ~モデルベースデザインによる モデルと ......Fred Noto. 2. はじめに. 開発の早期段階で不具合を発見したい. モデルの作成はできたが、なるべく上流で検証をしたい

50

モデルベースデザインと効率的な検証

コード

統合

製品

設計

要求

Simulink Verification & Validation 仕様とモデルのトレーサビリティ

モデルカバレッジの測定

Simulink Design Verifier 設計エラー検出

カバレッジ100%達成

Polyspace コード証明による品質確認

Simulink / Simulink Design Verifier モデルと自動生成コード一致性の確認

Simulink Design Verifier プロパティ検証による 要求機能の確認

Simulink Verification & Validation モデルのスタイルチェック

Embedded Coder 自動生成コードとモデル間トレーサビリティの確保

Page 43: 不具合の早期検出 ~モデルベースデザインによる モデルと ......Fred Noto. 2. はじめに. 開発の早期段階で不具合を発見したい. モデルの作成はできたが、なるべく上流で検証をしたい

51

Best Practices – Customer Examples

Simulation – Bell Helicopter designs civilian tiltrotor

Simulink

Track design and requirement changes – Continental tests heavy-duty trucks

Simulink Verification and Validation

Coverage analysis – TRW generates tests for parking brake

Simulink Design Verifier

Formal verification methods – Nissan increases software reliability

Polyspace

Page 44: 不具合の早期検出 ~モデルベースデザインによる モデルと ......Fred Noto. 2. はじめに. 開発の早期段階で不具合を発見したい. モデルの作成はできたが、なるべく上流で検証をしたい

52

モデルとコードの検証~まとめ

• 手戻りを抑制 • 検証の自動化機能を

使用して検証工数削減

• 不具合の早期発見に よる修正コストの低減

• 豊富な検証機能で開発 コストを削減

• 検証作業の自動化に よるミスの削減

• 不具合を最小に抑える

Tim

e C

ost

Qua

lity Simulink Verification & Validation

Simulink Design Verifier Polyspace

豊富な検証機能により、開発のQCT向上に貢献

Page 45: 不具合の早期検出 ~モデルベースデザインによる モデルと ......Fred Noto. 2. はじめに. 開発の早期段階で不具合を発見したい. モデルの作成はできたが、なるべく上流で検証をしたい

53

Thank You For Your Attention ご清聴ありがとうございました

© 2013 The MathWorks, Inc. MATLAB and Simulink are registered trademarks of The MathWorks, Inc. See www.mathworks.com/trademarks for a list of additional trademarks. Other product or brand names may be trademarks or registered trademarks of their respective holders.