44
1 © 2018 The MathWorks, Inc. MBD実践のためのMathWorksツール&サービス活用法 ~ How to use MBD ~ MathWorks Japan アプリケーションエンジニアリング部(制御) シニアアプリケーションエンジニア 大越 亮二

MBD実践のためのMathWorksツール&サービス活用法...2018/06/05  · 2 はじめに 本Webセミナーの対象者 製品開発にMBDの適用を検討されている方

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: MBD実践のためのMathWorksツール&サービス活用法...2018/06/05  · 2 はじめに 本Webセミナーの対象者 製品開発にMBDの適用を検討されている方

1© 2018 The MathWorks, Inc.

MBD実践のためのMathWorksツール&サービス活用法~ How to use MBD ~

MathWorks Japan

アプリケーションエンジニアリング部(制御)

シニアアプリケーションエンジニア

大越 亮二

Page 2: MBD実践のためのMathWorksツール&サービス活用法...2018/06/05  · 2 はじめに 本Webセミナーの対象者 製品開発にMBDの適用を検討されている方

2

はじめに

本Webセミナーの対象者

製品開発にMBDの適用を検討されている方(対象エリア: 主に制御ソフトウェア開発領域)

MBD主要プロセスの実施項目および

MathWorksツールの使いどころを知りたい方(対象フェーズ:モデル作成、モデル検証、コード生成)

本Webセミナーでお伝えしたいこと

MBDの概要および

MATLAB®プロダクトを使った

モデル作成・検証・コード生成の基本フロー

Page 3: MBD実践のためのMathWorksツール&サービス活用法...2018/06/05  · 2 はじめに 本Webセミナーの対象者 製品開発にMBDの適用を検討されている方

3

アジェンダ

▪ モデルベースデザイン(MBD)の概要

▪ MBD成熟度とMBDリファレンスワークフロー

▪ リファレンスワークフローに沿ったMBD主要タスクのアクション項目

▪ まとめ

Page 4: MBD実践のためのMathWorksツール&サービス活用法...2018/06/05  · 2 はじめに 本Webセミナーの対象者 製品開発にMBDの適用を検討されている方

4

システム製品(*1)開発を取り巻く環境

1. 複雑化する機能とそれに伴う内部構造➢ 級数的に増加を続けるソフトウェア量➢ 拡大するネットワーク化

2. 短期化する開発期間➢ 24ヶ月⇒18ヶ月⇒12ヶ月…➢ 迫られる開発コスト抑制

3. 生き残りと直結する品質問題➢ 企業損益に直結するリコール負担➢ 死守すべきブランド価値

*1) H/WとS/W双方により機能する製品と定義

Page 5: MBD実践のためのMathWorksツール&サービス活用法...2018/06/05  · 2 はじめに 本Webセミナーの対象者 製品開発にMBDの適用を検討されている方

5

モデルベースデザイン(MBD)のコンセプト

▪ 開発対象を数式モデルとして表現し、シミュレーションを活用して研究・開発を行う手法

アクチュエータ

センサー

物理システム

制御対象

制御器+-

S1

S2S3

PID+-

if (..)x = …

elsex =

機械 電気 油圧 etc.

目標値

制御入力偏差

制御量

Page 6: MBD実践のためのMathWorksツール&サービス活用法...2018/06/05  · 2 はじめに 本Webセミナーの対象者 製品開発にMBDの適用を検討されている方

6

実装

従来型開発プロセスにおける課題~後工程からの大きな手戻りの発生~

システム設計

制御設計機能設計

ソフトウェア設計

単体検証

機能検証

システム検証

ハードウェア ソフトウェア

HW設計

結合検証

SW仕様書をもとにしたソフトウェア開発

ソフトウェア詳細設計

机上でのシステムレベル制御アルゴリズム検討

SW仕様書の作成

各工程間で後戻り

紙ベースの仕様書▪ 曖昧な記述

▪ 要求仕様の誤解や不整合を誘発

▪ 仕様ミスのチェックが困難

ハンドコーディング▪ 大規模化による開発長期化

▪ プログラマ依存の品質

実機テストの問題▪ 検証作業の前倒しが困難で手戻

り多発

▪ ハード/ソフトの協調設計・全体最適化の工数大

▪ テストの自動化・繰り返しが困難

▪ 実験・計測・再現が困難なケース(極限テストや異常テスト、センサ設置不可なケース等)

コントローラー

コードベースでのSW検証作業

SW仕様書からのハンドコーディング作業

Page 7: MBD実践のためのMathWorksツール&サービス活用法...2018/06/05  · 2 はじめに 本Webセミナーの対象者 製品開発にMBDの適用を検討されている方

7

結合検証

実装

MBDにおける開発プロセス~シミュレーション技術による早期段階での品質向上~

システム設計

制御設計機能設計

ソフトウェア設計

単体検証

機能検証

システム検証

ハードウェア ソフトウェア

HW設計

ソフトウェア詳細設計

モデルによるシステムレベルシミュレーション

モデルによるSWコントローラシミュレーション

より詳細なシミュレーション

ソースコード自動生成

実機/仮想環境/モデル等による多様なシミュレーション/検証

ツールによる効率的なSW検証作業

シミュレーション活用▪ 機能要求の妥当性確認

▪ 要求仕様の誤解や不整合の発見

▪ 仕様ミスの早期発見

▪ 量子化誤差の確認

シミュレーションによる早期段階での品質向上

自動コード生成▪ ソフト開発効率化

▪ ソフト品質の安定化

▪ プログラマ工数削減

▪ コードの動作保証・性能評価

▪ 仕様とコードの一致性確保

機能検証▪ 仮想環境による多様なシミュ

レーションおよび検証

▪ 再現困難な状況下での検証

▪ テスト実行の自動化による試験業務の効率化

Page 8: MBD実践のためのMathWorksツール&サービス活用法...2018/06/05  · 2 はじめに 本Webセミナーの対象者 製品開発にMBDの適用を検討されている方

8

モデルベースデザイン(MBD)のねらい

モデルを使った早期検証でQCTの向上・両立を図る

QCT = Quality,Cost,Time

工程

工数

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

設計

実機検証

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

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

工程

工数

MBD

設計+

仮想試作・検証

実機検証

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

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

Page 9: MBD実践のためのMathWorksツール&サービス活用法...2018/06/05  · 2 はじめに 本Webセミナーの対象者 製品開発にMBDの適用を検討されている方

9

アジェンダ

▪ モデルベースデザイン(MBD)の概要

▪ MBD成熟度とMBDリファレンスワークフロー

▪ リファレンスワークフローに沿ったMBD主要タスクのアクション項目

▪ まとめ

Page 10: MBD実践のためのMathWorksツール&サービス活用法...2018/06/05  · 2 はじめに 本Webセミナーの対象者 製品開発にMBDの適用を検討されている方

10

実装

MBDにおける開発プロセス定義

システム設計

制御設計機能設計

ソフトウェア設計

単体検証

機能検証

システム検証

ハードウェア ソフトウェア

HW設計

結合検証

モデルによるシステムレベルシミュレーション

ソフトウェア開発プロセス

ソフトウェア詳細設計

MBD主要プロセス

モデル作成

モデル検証

コード生成

Page 11: MBD実践のためのMathWorksツール&サービス活用法...2018/06/05  · 2 はじめに 本Webセミナーの対象者 製品開発にMBDの適用を検討されている方

11

MBDリファレンスワークフローと成果物(モデル)

モデルによる設計 自動生成コードによる実装

✓ MBDリファレンスワークフローは、TÜV SÜD(認証機関)により事前認証されています。

MBDリファレンスワークフローは、“モデルによる設計+自動生成コードによる実装” からなります。また、モデルの検証結果はコードの検証に再利用できます。

モデル検証 コード検証

要求仕様モデル

プラントモデル

詳細制御モデル

実装モデル成果物(モデル)

Page 12: MBD実践のためのMathWorksツール&サービス活用法...2018/06/05  · 2 はじめに 本Webセミナーの対象者 製品開発にMBDの適用を検討されている方

12

MathWorksの考えるMBD成熟度

Requirements-BasedV&V

(requirements-based algorithm development and testing, requirements

modeling)

モデリングを要求/設計/検証に使用

Model Verification & Validation(simulation-based analysis ofrequirements)

要求に合っているか否かをPC上で書くモデルベース検証(H/Wを使わない)早期検証

System Verification & Validation(re-use of requirements-based tests and results comparisons between simulation and real-time environments)

モデルベース検証で使ったテストベンチを実機で使う

Fully-leveraged Model-Based Design(requirements-based design, development, and deployment of production hardware/software)

要求設計検証実装に至るまで全てモデルで実施

System Simulation(algorithm models and plant models)

プラント使ったシステムレベルの制御設計

System Modeling(closed-loop simulation of algorithms and plant models)

プラントとコントローラーをPC上でシミュレーション

System Prototyping(real-time closed-loop simulation of algorithms and/or plant models)

コントローラー/プラントをリアルタイム環境でシミュレーション

Model-Based Development(real-time closed-loop system simulation with production algorithms on target hardware)

自動コード生成したECUでHILSを動かす

Algorithm Modeling(algorithm models, no plant models)

制御系設計

Design Modeling(open-loop simulation of algorithms)

コントローラーのシミュレーションのみに使用

Design Prototyping(real-time open-loop simulation of algorithms)

コントローラーをリアルタイム環境(実機)で検証RCP(Rapid Cont. PT)

Model-Based Programming(automatic production code generationfrom algorithm models)

コントローラーモデルから自動生成量産実装

SimulationSILS

Real-Time TestingHILS/PILS

Production量産実装

自動コード生成をどこまで利用しているかCode Generation Adoption

Modeling &

Sim

ula

tion A

doption

モデ

ル・シ

ミュレ

ーシ

ョン

をどこ

まで

使って

いる

Page 13: MBD実践のためのMathWorksツール&サービス活用法...2018/06/05  · 2 はじめに 本Webセミナーの対象者 製品開発にMBDの適用を検討されている方

13

MathWorksの考えるMBD成熟度~MBD主要タスクがカバーする範囲~

Requirements-BasedV&V

(requirements-based algorithm development and testing, requirements

modeling)

モデリングを要求/設計/検証に使用

Model Verification & Validation(simulation-based analysis ofrequirements)

要求に合っているか否かをPC上で書くモデルベース検証(H/Wを使わない)早期検証

System Verification & Validation(re-use of requirements-based tests and results comparisons between simulation and real-time environments)

モデルベース検証で使ったテストベンチを実機で使う

Fully-leveraged Model-Based Design(requirements-based design, development, and deployment of production hardware/software)

要求設計検証実装に至るまで全てモデルで実施

System Simulation(algorithm models and plant models)

プラント使ったシステムレベルの制御設計

System Modeling(closed-loop simulation of algorithms and plant models)

プラントとコントローラーをPC上でシミュレーション

System Prototyping(real-time closed-loop simulation of algorithms and/or plant models)

コントローラー/プラントをリアルタイム環境でシミュレーション

Model-Based Development(real-time closed-loop system simulation with production algorithms on target hardware)

自動コード生成したECUでHILSを動かす

Algorithm Modeling(algorithm models, no plant models)

制御系設計

Design Modeling(open-loop simulation of algorithms)

コントローラーのシミュレーションのみに使用

Design Prototyping(real-time open-loop simulation of algorithms)

コントローラーをリアルタイム環境(実機)で検証RCP(Rapid Cont. PT)

Model-Based Programming(automatic production code generationfrom algorithm models)

コントローラーモデルから自動生成量産実装

SimulationSILS

Real-Time TestingHILS/PILS

Production量産実装

自動コード生成をどこまで利用しているかCode Generation Adoption

Modeling &

Sim

ula

tion A

doption

モデ

ル・シ

ミュレ

ーシ

ョン

をどこ

まで

使って

いる

① モデル作成(+検証)② シミュレーション

③ 自動コード生成④ 実機への組込実装

Page 14: MBD実践のためのMathWorksツール&サービス活用法...2018/06/05  · 2 はじめに 本Webセミナーの対象者 製品開発にMBDの適用を検討されている方

14

MBD主要タスクの実施項目とメリット

大項目 中項目 実施項目 メリット

モデル作成(M

仕様整理M1. ソフトウェア要求仕様の整理

シミュレーション活用• 機能要求の妥当性確認

• 要求仕様の誤解や不整合の発見

• 仕様ミスの早期発見

• 量子化誤差の確認

M2. ソフトウェア要求仕様の可視化と詳細化

モデル作成・

シミュレーション

M3. アーキテクチャーモデルの作成

M4. コンポーネントおよび詳細設計モデルの作成とシミュレーション

M5. コード生成モデルの作成とシミュレーション

モデル検証(V

モデル検証

V1. 単体レベルモデルの検証(Verification)

機能検証• 要求シナリオ下での機能検証作業

• ツールによる効率的なモデル検証作業

• ツールによるモデルカバレッジ測定および補完

• 仮想環境による多様なシミュレーションおよび検証

• 再現困難な状況下での検証

• テスト実行の自動化による試験業務の効率化V2. 統合レベルモデルの検証(Validation)

コード生成(C

コード作成 C1. 自動コード生成(設定含む)自動コード生成• ソフト開発効率化

• ソフト品質の安定化

• プログラマ工数削減

• コードの動作保証・性能評価

• 仕様とコードの一致性確保コード検証 C2. Back to Back(B2B)検証など ※モデルとコードの一致性確認

Page 15: MBD実践のためのMathWorksツール&サービス活用法...2018/06/05  · 2 はじめに 本Webセミナーの対象者 製品開発にMBDの適用を検討されている方

15

MBD主要タスクの実施項目と適用可能なMATLABプロダクト

大項目 中項目 実施項目 MATLABプロダクト

モデル作成(M

仕様整理M1. ソフトウェア要求仕様の整理

--M2. ソフトウェア要求仕様の可視化と詳細化

モデル作成・

シミュレーション

M3. アーキテクチャーモデルの作成 • MATLAB®

• Simulink®

• Stateflow®

• Fixed-Point Designer™• Simulink Test™

M4. コンポーネントおよび詳細設計モデルの作成とシミュレーション

M5. コード生成モデルの作成とシミュレーション

モデル検証(V

モデル検証

V1. 単体レベルモデルの検証(Verification)• Simulink Requirements™• Simulink Check™• Simulink Coverage™• Simulink Design Verifier™• Simulink Report Generator™• Simulink Test™

V2. 統合レベルモデルの検証(Validation)

コード生成(C

コード作成 C1. 自動コード生成(設定含む) • Embedded Coder™(前提 MATLAB Coder™ / Simulink Coder™)

コード検証 C2. Back to Back(B2B)検証など ※モデルとコードの一致性確認※PILS実施の際には、別途エミュレーターソフトが必要(対象マイコンにより有償、無償のケースあり)

Page 16: MBD実践のためのMathWorksツール&サービス活用法...2018/06/05  · 2 はじめに 本Webセミナーの対象者 製品開発にMBDの適用を検討されている方

16

A社様プロジェクト実践例:MBD主要タスクを約10カ月で体験

➢ 下記はMBD初めてのお客様によるMBD初期立ち上げプロジェクトの例

➢ MBD主要タスクを実践頂いた上で、その後の展開にむけた課題出しを目的とした– ※プロジェクト対象機能については、事前に検討のうえ選定

4月 5月 6月 7月 8月 9月 10月 11月 12月

M1.

要求仕

様の整

中間レビュー

M5:コード生成モ

デルの作成および

シミュレーション

M2.要求

仕様の可

視化と詳

細化

M3: アー

キテク

チャーモデ

ルの作成

V1. 単体レベルモデルの検証C1. 自動コード

生成

C2. モデルと

コードの一致性

検証

M4: コンポーネントおよ

び詳細設計モデルの作

成とシミュレーション

V2 統

合レベ

ルモデル

の検証

中間レビュー

最終レビューおよ

び振り返り

MBD主要タスクを約10か月で体験頂いた例

モデル作成 モデル検証 コード生成

Page 17: MBD実践のためのMathWorksツール&サービス活用法...2018/06/05  · 2 はじめに 本Webセミナーの対象者 製品開発にMBDの適用を検討されている方

17

▪ モデルベースデザイン(MBD)の概要

▪ MBD成熟度とMBDリファレンスワークフロー

▪ リファレンスワークフローに沿ったMBD主要タスクのアクション項目

▪ まとめ

アジェンダ

Page 18: MBD実践のためのMathWorksツール&サービス活用法...2018/06/05  · 2 はじめに 本Webセミナーの対象者 製品開発にMBDの適用を検討されている方

18

MBD主要タスクのアクション項目~モデル作成フェーズ(要求整理)~

要求仕様書

ソフトウェア要求仕様の整理と可視化

Page 19: MBD実践のためのMathWorksツール&サービス活用法...2018/06/05  · 2 はじめに 本Webセミナーの対象者 製品開発にMBDの適用を検討されている方

19

ソフトウェア要求仕様の作成の流れ(例)

ソフトウェアに求められた機能の具体的な実現方法を定義します

• システム要求分析で洗い出した「ソフトウェア要求」の実現手段を決め、ソフトウェアとしての振る舞いを具体的に定義します

• さらに、仕様を可視化すれば、レビューにおける第三者の理解を助けます (可視化は仕様の見直しにも有効です)

ソフトウェア要求仕様の定義

仕様の可視化

システム要求分析

補助資料(タイミングチャート,状態遷移図, ・・・)

第三者レビュー

ソフトウェア要求仕様

システム要求分析

ソフトウェア要求分析

ソフトウェア要求(FTA, FMEA, ・・・などの分析結果)

Page 20: MBD実践のためのMathWorksツール&サービス活用法...2018/06/05  · 2 はじめに 本Webセミナーの対象者 製品開発にMBDの適用を検討されている方

20

例題:ドアロック制御ソフト開発

ドアロック制御

車両走行時に自動ロック

緊急時に自動ロック解除

Page 21: MBD実践のためのMathWorksツール&サービス活用法...2018/06/05  · 2 はじめに 本Webセミナーの対象者 製品開発にMBDの適用を検討されている方

21

ソフトウェア要求仕様の可視化(例)~タイミングチャート・制御構成図など~

タイミングチャート

複数の入力信号の関係や振る舞いを時間軸に書き表す。

制御構成図

要求を実現するために必要な機能および各機能間の信号のつながりを明確にする

分割した機能が持つ入力と状態に着目して、入出力期待値を作成する。

Page 22: MBD実践のためのMathWorksツール&サービス活用法...2018/06/05  · 2 はじめに 本Webセミナーの対象者 製品開発にMBDの適用を検討されている方

22

インターフェースと信号の定義

使用するインターフェースと信号を明確に定義します① 他制御で作成されている信号 : 定義情報を継承する

② 他制御で作成されていない信号 : 作成方法(演算処理)等を踏まえ、新たに定義する

インターフェースと信号の定義例

基本的に①は入力信号、②は、出力信号 および内部信号に該当します

Page 23: MBD実践のためのMathWorksツール&サービス活用法...2018/06/05  · 2 はじめに 本Webセミナーの対象者 製品開発にMBDの適用を検討されている方

23

MBD主要タスクのアクション項目~モデル作成フェーズ(仕様モデル作成)~

要求仕様書

ソフトウェア要求仕様を実現するモデルの作成

実行可能な仕様モデル

モデリング

Page 24: MBD実践のためのMathWorksツール&サービス活用法...2018/06/05  · 2 はじめに 本Webセミナーの対象者 製品開発にMBDの適用を検討されている方

24

スケルトンモデルの作成

制御構成図にしたがって、サブシステムとInport・Outportを配置します

• ロジックの作りこみ前に処理を明確に定義できるので、ロジック作成中に構成が意図せず変わってしまうことを防止で

きます

制御構成図

ドア自動ロックシステムのスケルトンモデル

Page 25: MBD実践のためのMathWorksツール&サービス活用法...2018/06/05  · 2 はじめに 本Webセミナーの対象者 製品開発にMBDの適用を検討されている方

25

制御ロジックの作成(モデル化)

入出力期待値・タイミングチャートなどの設計資料を実現するためのロジックを検討し、スケルトンモデルを制御モデルとして作りこんでいきます

DLockDGN が True になった場合は、いかなる条件が成立しても、True を維持する

タイマカウント中に指令値が変更された場合は、カウントをリセットする

▪ Simulink®:ブロック線図モデリング

▪ Stateflow®:状態遷移図/表/フローチャート

Page 26: MBD実践のためのMathWorksツール&サービス活用法...2018/06/05  · 2 はじめに 本Webセミナーの対象者 製品開発にMBDの適用を検討されている方

26

MBD主要タスクのアクション項目~モデル作成フェーズ(詳細設計モデル作成)~

要求仕様書

詳細データ型設定モデルの作成

実行可能な仕様モデル

コード生成用の詳細設計モデル

モデリング

Page 27: MBD実践のためのMathWorksツール&サービス活用法...2018/06/05  · 2 はじめに 本Webセミナーの対象者 製品開発にMBDの適用を検討されている方

27

SWの詳細データ型設定モデルの設計および評価

詳細データ型設定モデルのテストハーネスモデル

設計モデルのテストハーネスモデル

シミュレーション・データ・インスペクター

処理結果の比較

固定小数点設計前後のモデル比較によって量子化誤差の影響を確認します

– シミュレーション・データ・インスペクターで誤差を可視化できます

▪ Fixed-Point Designer ™ :固定小数点設計

Page 28: MBD実践のためのMathWorksツール&サービス活用法...2018/06/05  · 2 はじめに 本Webセミナーの対象者 製品開発にMBDの適用を検討されている方

28

シミュレーションによる機能動作確認

シミュレーションでタイミングチャートどおりに動作することを確認します

• 意図したタイミングで意図した出力へと切り替わるか?が本動作確認の観点です

• タイミングチャートなどの入力信号パターンをモデルに入力します(この作業にはSignal Builderが利用できます)

シミュレーションでタイミングチャートどおりに動作していることを確認する

タイミングチャートの信号を数値化してSignal Builderに取り込む

Page 29: MBD実践のためのMathWorksツール&サービス活用法...2018/06/05  · 2 はじめに 本Webセミナーの対象者 製品開発にMBDの適用を検討されている方

29

MBD主要タスクのアクション項目~モデル検証フェーズ~

モデルの単体検証および統合検証

実行可能な仕様モデル

モデリング

モデルレベルの単体検証と統合検証

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

要求仕様書コード生成用の詳細設計モデル

Page 30: MBD実践のためのMathWorksツール&サービス活用法...2018/06/05  · 2 はじめに 本Webセミナーの対象者 製品開発にMBDの適用を検討されている方

30

Model Advisor を利用した自動チェック

Model Advisorのエラー検出結果

入力ポート名とその信号ラベルが異なっているモデル

機械的に判断可能なモデリングルールは Model Advisorでチェックできます

• 目視によるチェック漏れを防ぐには、ツールによる自動チェックが有効です

• チェック結果をレポートとして生成することで、モデリングガイドラインに準拠したモデルで

あることを第三者に証明できます

▪ Simulink® :モデルアドバイザー、モデリングガイドライン提供

▪ Simulink Check™ :モデルアドバイザー拡張

– MAAB/ISO26262/IEC61508/DO178C用ルール

– 自作ルール追加

Page 31: MBD実践のためのMathWorksツール&サービス活用法...2018/06/05  · 2 はじめに 本Webセミナーの対象者 製品開発にMBDの適用を検討されている方

31

レポートを利用したマニュアルチェック

Model Advisorで機械的にチェックできない項目は、Report Generatorでリスト化します

• チェックすべき項目がリスト化されていれば、設計者のチェック漏れは防止できます

• さらにチェック結果は、レポートとして残るので、第三者がチェック漏れ・設計者の判断の

妥当性を確認するためのレビュー資料としても使用できます

レポート生成

Report Generatorチェックリスト

マニュアルチェックの観点(例):• モデルの入力は既存の制御(別プログラム)で作成されているか?• 入力信号は既存の制御で定義されている情報と同じか?• モデルの出力信号は、既存の制御で作成されていないか?

チェック済みのものはマークをつける(チェックリストとして活用する)

▪ Simulink Report Generator™ :レポート生成、Webビュー生成

Page 32: MBD実践のためのMathWorksツール&サービス活用法...2018/06/05  · 2 はじめに 本Webセミナーの対象者 製品開発にMBDの適用を検討されている方

32

モデルカバレッジの測定と分析

▪ モデルカバレッジ分析

– モデル構造に基づき分析します。

– シミュレーション時に収集されたデータを

動的に分析します。

▪ モデルカバレッジ分析結果

– モデルの中に直接表示します。

– HTML形式のレポート(モデル要素へ

のリンクを含む)を作成します。

Decision カバレッジCondition カバレッジMC/DCLookup table カバレッジSignal range カバレッジ

測定可能なカバレッジの種類

モデルカバレッジの測定と分析は、Simulink Coverageのカバレッジ測定機能を利用できます。

▪ Simulink Coverage ™ :モデルカバレッジ測定

Page 33: MBD実践のためのMathWorksツール&サービス活用法...2018/06/05  · 2 はじめに 本Webセミナーの対象者 製品開発にMBDの適用を検討されている方

33

未達箇所へのテスト生成

▪ SLDVのテスト生成の「既存のテストケース」 もしくは 「既存のカバレッジデータ」を活用します。

– 既存のテストケース:入力データを含んだ保存したMATファイル

– 既存のカバレッジデータ:カバレッジ測定結果を保存したcvtファイル

既存テストケースを含むMATファイルを指定

カバレッジデータを指定

既存テストケースの追加(拡張)イメージ

テストケース拡張時のSLDVの設定

既存のテストケース

追加するテストケース

追加後のテストケース

=

▪ Simulink Design Verifier ™ :テストケース自動生成、モデル静的解析等

Page 34: MBD実践のためのMathWorksツール&サービス活用法...2018/06/05  · 2 はじめに 本Webセミナーの対象者 製品開発にMBDの適用を検討されている方

34

MBD主要タスクのアクション項目~コード生成フェーズ~ 自動コード生成用設定

およびコード生成

実行可能な仕様モデル

モデリング

モデルレベルの単体検証と統合検証

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

要求仕様書コード生成用の詳細設計モデル

コード生成

生成したCコード

Page 35: MBD実践のためのMathWorksツール&サービス活用法...2018/06/05  · 2 はじめに 本Webセミナーの対象者 製品開発にMBDの適用を検討されている方

35

Simulink Data Objectの設定およびコード生成

Simulink Data Objectの設定によって、生成コードにグローバル変数等の定義方法を指定できます

Simulink Data Objectの設定GUI

ワークスペースに定義されたSimulink Data Object

コード生成

▪ Embedded Coder®:

量産/組み込みコード自動生成

Page 36: MBD実践のためのMathWorksツール&サービス活用法...2018/06/05  · 2 はじめに 本Webセミナーの対象者 製品開発にMBDの適用を検討されている方

36

MBD主要タスクのアクション項目~コード生成フェーズ~ モデルとコードの一致性

確認(B2Bテスト)

実行可能な仕様モデル

モデリング

モデルレベルの単体検証と統合検証

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

要求仕様書コード生成用の詳細設計モデル

コード生成

生成したCコード

オブジェクトコード

モデルとコードの等価テスト

コンパイルとリンク

意図しない機能の抑止

Page 37: MBD実践のためのMathWorksツール&サービス活用法...2018/06/05  · 2 はじめに 本Webセミナーの対象者 製品開発にMBDの適用を検討されている方

37

コード検証

生成コードの検証は下記の項目を実施します

– モデルと生成コードの一致性の確認(Back2Back Test)

– 生成コードのコードカバレッジの確認

– 生成コードの静的解析(Polyspace)

SIL/PILブロックの利用によるBack2Backテスト コードカバレッジ計測の設定

▪ Embedded Coder®:量産/組み込みコード自動生成

▪ Polyspace Bug Finder™:

軽量なバグ検出・コード規約・メトリクス解析

Page 38: MBD実践のためのMathWorksツール&サービス活用法...2018/06/05  · 2 はじめに 本Webセミナーの対象者 製品開発にMBDの適用を検討されている方

38

▪ モデルベースデザイン(MBD)の概要

▪ MBD成熟度とMBDリファレンスワークフロー

▪ リファレンスワークフローに沿ったMBD主要タスクのアクション項目

▪ まとめ

アジェンダ

Page 39: MBD実践のためのMathWorksツール&サービス活用法...2018/06/05  · 2 はじめに 本Webセミナーの対象者 製品開発にMBDの適用を検討されている方

39

MBD実現のための3ステップとMathWorksが提供するサービス

➢目的:実業務への試用➢実現手段:ツールの使用方法習得➢主担当者:エンドユーザ

Step1:

『使う』

Step2:

『活用する』

Step3:

『展開する』

時間

業務貢献度 ➢目的:プロジェクトでのROIの実証

➢実現手段:業務に特化したツールの独自開発、社内ルール・ワークフローの策定、システム設計・検証プロセスの改善➢主担当者:推進責任者

➢目的:MBDによる業務遂行の実証➢実現手段:ツールの活用方法の確立とMBD開発プロセスの策定➢主担当者:プロセス改善担当

MathWorks技術トレーニングサービス

MBD立ち上げ支援サービス( MBD Jump Start )

MBDプロセス構築支援サービス

MBDプロセスアセスメントサービス

MathWorksコンサルティングサービス

Page 40: MBD実践のためのMathWorksツール&サービス活用法...2018/06/05  · 2 はじめに 本Webセミナーの対象者 製品開発にMBDの適用を検討されている方

40

まとめ

▪ 本Webセミナーの説明内容の振り返り

✓モデルベースデザイン(MBD)の概要および

制御部のソフトウェアに対するMBDの主要プロセス

(モデル作成/モデル検証/コード生成)の基本ワークフローを紹介。

▪ MATLABプロダクトの強み

✓SimulinkをはじめとしたMATLABプロダクトは、この基本フローを網羅して効率的

に作業が行える環境を提供。

✓QCTの向上を目的とした製品開発へのMBD取り組みを促進。

製品開発におけるMBD適用に際し、MATLABプロダクトを是非ご活用下さい。

Page 41: MBD実践のためのMathWorksツール&サービス活用法...2018/06/05  · 2 はじめに 本Webセミナーの対象者 製品開発にMBDの適用を検討されている方

41

関連情報

▪ 製品紹介ページ

– Stateflow (ロジックベースの制御)https://jp.mathworks.com/products/stateflow.html

– Embedded Coder (組込みシステム用C/C++コードの生成)https://jp.mathworks.com/products/embedded-coder.html

– Simulink Check (モデリング標準への準拠性を検証)https://jp.mathworks.com/products/simulink-check.html

– Simulink Coverage (モデルおよび生成コードのテストカバレッジを測定)https://jp.mathworks.com/products/simulink-coverage.html

– Simulink Design Verifier (設計エラーの特定、テストケースの生成)https://jp.mathworks.com/products/sldesignverifier.html

– Simulink Test (統合・単体テスト管理とテストの自動化)https://jp.mathworks.com/products/sldesignverifier.html

– その他のプロダクトhttps://jp.mathworks.com/products.html

Page 42: MBD実践のためのMathWorksツール&サービス活用法...2018/06/05  · 2 はじめに 本Webセミナーの対象者 製品開発にMBDの適用を検討されている方

42

関連情報

▪ オンデマンドWebセミナー

– 今からはじめるSimulink入門https://jp.mathworks.com/videos/introduction-to-simulink-120092.html

– Stateflowで状態遷移設計をより便利にhttps://jp.mathworks.com/videos/introduction-of-stateflow-106650.html

– 制御モデルを活用した量産/組込みソフト開発ソリューションhttps://jp.mathworks.com/videos/embedded-production-software-

development-by-model-based-design-107673.html

– Simulink Testでモデルのテスト実行・管理をより便利にhttps://jp.mathworks.com/videos/model-test-and-test-management-made-

easy-with-simulink-test-101294.html

Page 43: MBD実践のためのMathWorksツール&サービス活用法...2018/06/05  · 2 はじめに 本Webセミナーの対象者 製品開発にMBDの適用を検討されている方

43

関連情報

▪ 無料製品評価版 (30日間)https://www.mathworks.co.jp/programs/trials/trial_request.html

▪ 技術トレーニングサービス (有償)http://www.mathworks.co.jp/services/training/index.html

Page 44: MBD実践のためのMathWorksツール&サービス活用法...2018/06/05  · 2 はじめに 本Webセミナーの対象者 製品開発にMBDの適用を検討されている方

44

© 2018 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.

Accelerating the pace of engineering and science