モデルベース開発の業界動向 2011.10.14 MathWorks Japan インダストリーマーケティング部柴田克久 2011 The MathWorks, Inc. 1 Agenda はじめに 今日のモデルベース開発とその背景 ユーザー事例にみるモデルベース開発のトレンド 事例紹介 : 東風車両 /Medrad/Faraday モデルベース開発のトレンド ユーザーニーズの変化への対応 MBD を支援する MathWorks ツールの今後の展望 マルチドメインシステムモデリング シミュレーションの高速化 コード生成 テスト検証の強化 終わりに 2 1
はじめに 3 会社概要 - MathWorks, Inc. 1985 年創業 本社 : 米国マサチューセッツ州, Natick 従業員 2,300 名超 製品 :MATLAB プロダクトファミリ, Polyspace 6 ヶ月毎に最新版をリリース (2006/03~) 3 月と 9 月の年 2 回 (R20XX a/b) 25 カ国に代理店を展開 350 社以上のパートナー Natick 本社ビル 導入実績 175 カ国以上 100 万人以上のユーザ 3,500 以上の大学 日本法人 : MathWorks Japan 2009/7/1 より営業開始 オフィス : 東京 名古屋 大阪 Earth s topography on an equidistant cylindrical projection, created with MATLAB and Mapping Toolbox. 東京オフィス (7F, 8F) 4 2
MathWorks 製品のご紹介 MATLAB 科学技術計算のための最先端の開発環境 対話的なプログラミング環境 アプリケーション固有の簡潔なプログラミング言語 データの探索 解析 計算およびグラフィックス機能 アルゴリズム開発 カスタマイズ可能な各種機能 Simulink 視覚的に理解可能なモデリング / シミュレーション環境 ブロック線図シミュレーション環境 開発ツールの連携による統合された開発環境 自動コード生成による組込み Polyspace テストケースを必要としない静的なコード解析ツール ソースコード内にランタイムエラーが存在しないことを証明 MISRA-Cなどのコーディング規約の適用 IEC61508, ISO26262, DO-178など各種認証のレポート 5 MATLAB&Simulink プロダクトファミリ ( 機能別 ) Fixed Point Toolbox, Simulink Fixed Point xpc Target EDA Simulator Link, Simulink Verification and Validation, Simulink Design Verifier, SystemTest, Polyspace Parallel Computing Toolbox, MATLAB Distributed Computing Server Statistics Toolbox, Curve Fitting Toolbox, Symbolic Math Toolbox, Optimization Toolbox, Neural Network Toolbox Stateflow, SimEvents Simscape, SimRF, SimElectronics, SimPowerSystems Simulink 3D Animation, Gauges Blockset, Simulink Report Generator MATLAB Coder, Simulink Coder, Embedded Coder, Filter Design HDL Coder, Simulink HDL Coder Database Toolbox, MATLAB Report Generator MATLAB Compiler, MATLAB Builder NE/JA/EX, Spreadsheet Link EX 6 3
MATLAB プロダクトファミリ ( 適用分野別 ) Control System Toolbox System Identification Toolbox Fuzzy Logic Toolbox Robust Control Toolbox Simulink Control Design Simulink Design Optimization Image Processing Toolbox Computer Vision System Toolbox Mapping Toolbox Financial Toolbox Econometrics Toolbox Datafeed Toolbox Fixed-Income Toolbox Financial Derivatives Toolbox Signal Processing Toolbox DSP System Toolbox Communications System Toolbox Wavelet Toolbox Fixed Point Toolbox RF Toolbox Phased Array System Toolbox SimRF Data Acquisition Toolbox Instrument Control Toolbox Image Acquisition Toolbox Vehicle Network Toolbox Bioinformatics Toolbox SimBiology 7 主要な顧客エリア 航空宇宙 / 防衛 自動車 通信 エレクトロニクス 半導体 産業機器 オートメーション エネルギー産業 教育 バイオ 製薬 金融サービス 8 4
今日のモデルベース開発とその背景 9 モデルベース開発の Best Practice ー車載機器開発における MATLAB 利用事例 システム設計から 制御アルゴリズムの開発 プロトタイピング 組込みソフトウェアの実装 検証にモデルを適用 例 ) パワートレイン制御 ガソリン / ディーゼルエンジンの燃焼制御 トランスミッション制御 HEV/EV の制御 モーター制御 バッテリー制御 走行制御 サスペンション制御 EPS システム開発 ソフトウェア開発 10 5
ユーザー様の声 : 自動車業界 アイシン エィ ダブリュ株式会社久保様, JMAAB 活動紹介, JMAAB Open Conference 2009 11 東風電動車両 モデルベースデザインを使用してハイブリッド電気自動車のバッテリ管理システムを開発 チャレンジハイブリッド電気バス用のバッテリ管理制御システムを開発すること ソリューションコントローラー設計のコードをモデルリング 検証 生成するために MathWorks のモデルベースデザインツールを採用 結果 予定より早くプロジェクトを完了 設計の再利用が可能に 全てのアプリケーションコードを自動生成 The Dongfeng EQ6110 hybrid electric city bus. モデルベースデザインの導入により アイデ アの発案から量産コードの生成に至るまでの 開発プロセスを統合することができました MathWorks ツールのおかげで 設計の早期 段階から連続的な検証が可能となり 我々が 持つ高度な技術力を活かして重要なバッテリ 管理技術の開発ができるようになりました " Dr. Xiaokang Liu Dongfeng Electric Vehicle Link to user story 12 6
Medrad 社は MathWorks のツールにより MRI 血管造影剤注入ポンプの安全性を確保 チャレンジ患者への薬剤の安全レベルを管理する MRI 血管造影剤注入ポンプの設計 ソリューションポンプの圧力センシング技術の改善に MathWorks のツールを使用 結果 設計期間を数か月短縮 名誉ある産業賞を受賞 FDA の承認を獲得 Link to user story Medrad 社の Spectris Solaris 造影剤注入システム MathWorks ツールにより シ ステムレベルでコンポーネント 間の相互作用を理解することが 可能となり 物理特性をモデル 化し ポンプの安全限界を非常 に効率的かつ迅速に決定するこ とができました John F. Kalafut Medrad 13 Faraday が SIP 開発を加速し NAND フラッシュコントローラ ECC エンジンのゲート数を 57% まで削減 チャレンジ SoC および ASIC の開発の高速化 ソリューションシステムレベルシミュレーションの高速化 システム性能の改善 および商品化までの期間短縮のためのモデルベースデザイン環境構築に MathWorks 製品を採用 結果 シミュレーションを 200 倍高速化 スループット性能を 15% 向上 ゲート数を 57% 削減 Link to user story Faraday s silicon IP on an SoC. Simulink 環境はシステムレベルアー キテクチャの検討に理想的です シ ミュレーションは従来のワークフロー より 200 倍速くなりました そして Simulink モデルは C にも HDL にも容易 に変換することができます それは高 いスケーラビリティと再利用性を実現 するでしょう Ken Chen Faraday 14 7
モデルベース開発のトレンド 1. MBD 適用分野の拡大 MBD の効果は 航空宇宙 防衛 自動車以外の分野でも証明済み MBD の適用は制御 信号処理のいずれの分野にも可能である 2. 自動コード生成適用の深化 プロトタイプ向けから量産用 C コードへ C コード ( ソフトウェア開発 ) から HDL(IC, LSI 開発 ) へ 3. 安全性 品質保証への対応 FDA に代表される第三者認証機関も MBD に基づく開発プロセスの信頼性や 開発された製品の品質を認めている 4. 地域的な広がり 北米 ヨーロッパ 日本からアジアへ 15 MBD 適用分野の拡大の背景には 産業別比較 : MBD vs. non-mbd MBD Cost Non-MBD Cost MBD Advantage Telecom/Datacom $3,224,478 $6,279,861 94.9% Auto/Transportation $2,270,597 $3,151,078 38.8% Industrial Automation $1,605,783 $1,593,047-0.8% Medical $1,265,059 $2,269,310 79.4% Military/Aerospace Special Analysis 出展 :Model-Based Design in Practice A Survey of Outcomes for Engineers and Business Leaders/Embedded Market Focus 16 8
自動コード生成の適用深化の背景 組込みソフトウェアの開発規模は増大中 開発要員を増やせば解決できる問題か? 1800 1600 1400 KLOCS Engineering Man Months 1200 1000 800 600 400 200 0 1990's 2002 3G 2010 出展 : Bob Frankel, Chief SW strategist & TI Fellow 17 自動コード生成の適用深化の背景 自動生成されたコードはハンドコードよりもよい結果に Visteon, SAE Technical Paper 2004-01-0269, March 2004 http://www.mathworks.com/mason/tag/proxy.html?dataid=4361&fileid=20307 18 9
安全性 品質保証への対応の背景 機能安全規格への対応 IEC61508 ISO26262 DO-178B DO-254 ガイドラインへの準拠 AUTOSAR MISRA-C MAAB Style Guide NASA Orion GN&C Guideline 19 地域的な広がりの背景には 地域別比較 : MBD vs. non-mbd MBD Cost Non-MBD Cost MBD Advantage North America $3,153,452 $3,921,519 24.4% Europe $2,722,134 $3,744,894 37.6% Asia $3,374,067 $10,189,266 202% 実際 アジアにおける開発プロジェクト毎に比較すると non-mbd 開発では MBD 開発の約 2 倍の人数の開発者が投入されている 出展 :Model-Based Design in Practice A Survey of Outcomes for Engineers and Business Leaders/Embedded Market Focus 20 10
ユーザーニーズの変化への対応 1. 新しいテクノロジーへの対応 2. 実現手段は多様化 複雑化 3. 安全性 品質への厳しい要求 統合開発環境へのステップ 1. マルチドメインシステムモデリング 2. コード生成 3. テスト & 検証 21 MBD を支援する MathWorks ツールの今後の展望 22 11
モデルベースデザインにおける MATLAB&Simulink の位置付け 対象となるシステムを記述した モデル を仕様として定義し このモデルをよりどころとして開発プロセスを再構築する手法 広義のモデルベース開発 ソフトウェアの分析 / 設計モデル 信号処理や制御アルゴリズムのモデル ( 日経エレクトロニクス 2 月号 /2008 より ) 狭義のモデルベース開発 (MathWorks 製品の適用範囲 ) 23 システムモデリング 研究要件定義システム設計環境モデルタイミング / 制御ロジック デジタルモデルアナログモデル アルゴリズム テスト & 検証 実行可能な仕様書 紙ベースの仕様書を補完する モデル チーム間コミュニケーションを改善 シミュレーションによる設計 複合ドメインシステムをモデルに統合 設計のトレードオフ探索 サブシステム間の相互作用検証 性能向上や全体最適化を実現するには異なる技術ドメインを組み合わせた検討が必要 24 12
マルチドメインシステムモデル風力発電システムの 実行可能な仕様書 モデル 25 様々なモデリングアプローチ太陽電池セルのコンポーネントモデル 第 1 原理 Simulink 物理コンポーネント Simscape より高度な電気コンポーネントライブラリ SimElectronics 26 13
シミュレーション事例 : 安川電機様 アプリケーション メカトロ機器開発用連成シミュレーション環境の構築 課題 試作検証に課題 機能開発 機器開発コスト大 実機による統合検証の工数大 最終実機検証後の手戻り メリット 連成シミュレーション環境構築 機械装置 周辺環境必要なし 実機による統合検証の性能評価 問題点の分離が容易 設計資源の有効利用 出典 :MATLAB EXPO2008 メカトロ機器開発における連成シミュレーション 27 http://www.mathworks.co.jp/mason/tag/proxy.html?dataid=11776&fileid=65793 コード生成 テスト & 検証 システム設計 環境モデル タイミング / 制御ロジック デジタルモデル コンポーネント開発 / 実装 C, C++ アルゴリズム VHDL, Verilog MCU DSP FPGA ASIC アナログモデル Electric RF, Analog テスト & 検証 自動コード生成 事前に検証された C, HDL を自動生成 再現性の高い実装結果 プロトタイプテストを効率化 連続したテスト 検証 モデルを再利用した検証用テストベンチ 協調シミュレーション / テストの自動化 より分かりやすい指標で可視化 実現性や性能見込を早期に確認し 検証を効率化するにはアルゴリズムと実装の架け橋が必要 28 14
自動コード生成を利用したテスト検証の例 アルゴリズム検証のためのコード生成 開発早期に実現性を見極める手段の一つ ラピッドプロトタイピング シミュレーション高速化 他の設計 / 開発プラットフォームへデザインをエクスポート 実装を検証するためのコード生成 実装対象となるコンポーネントモデルからコード生成 PILS 実装対象以外のコンポーネントモデルからコード生成 HILS 29 MATLAB & Simulink からのコード生成機能 MATLAB Coder (C) Embedded Coder (C) Simulink Coder (C) Simulink HDL Coder (Verilog or VHDL Code) DSP & µc FPGA & ASIC 30 15
異なるターゲットを対象としたコード生成の適用例 Simulink 高抽象度モデル モデルの詳細化 H/W 実装用 HDL コード生成 Simulink HDL Coder Virtual Platform Simulink 詳細モデル 31 C/HDL を統合したマルチドメインシステム開発 システムモデル ~ シミュレーション ~C/HDL コード生成 ~ 検証 組込み用コードを協調シミュレーションにより検証 フィードバック系で検証可能 AC Motor 入力信号 速度制御 MPU 電流制御 FPGA SW 電源 AC モーター データ解析 Embedded Coder 生成 生成 EDA Simulator Link Simulink IDE HDL Simulator C HDL 32 16
標準規格への対応 33 終わりに 34 17
マルチドメインモデルからマルチターゲットへ実装 モデルのエントリー 実行可能な仕様書 Simulink Model Simulink Block コード生成 C Stateflow C++ HDL PLC MATLAB code マルチドメイン コンポーネント間の相互作用分析システム全体の最適化 マルチターゲット Simscape 35 システムシミュレーションの高速化 並列処理技術へのスケーラブルな対応 並列処理リソースを自動的に利用可能なコンポーネントライブラリ モデリング環境の整備 モデルに変更を加えることなく シミュレーションを実行する環境を変えるだけで高速化が実現 GPU シングルプロセッサ マルチコア マルチプロセッサ クラスタ グリッド クラウド 36 18
コーディングからモデルの詳細化へ システムレベルの高抽象度モデル ブロックレベル (HW 部 ) 詳細設計 コード生成設定 デバイス指定 リソース共有 パイプライン化, etc. 実装用コード (HDL or C) 自動生成 全体最適化アルゴリズム検証 ブロックレベル (SW 部 ) コード生成設定 プロセッサ指定 メモリマップ スケジューラ, etc. 詳細設計 37 モデル コード 実機による協調検証環境 モデル コード 実機 38 19
シミュレーション実行前にエラーを検出 Before After テストベクタ生成の自動化 より速く振舞いの正しさを検証 エラー検出を自動化 バグの発見を自動化 シミュレーションを実行し エラーを検出 エラーを検出 修正した後にシミュレーションを実行 39 MATLAB & Simulink によるモデルベースデザイン 実行可能な仕様書 実行可能な仕様書 紙ベースの仕様書を補完する モデル チーム間コミュニケーションを改善 シミュレーションによる設計 Models 連続したテスト 検証 シミュレーションによる設計 複合ドメインシステムを同一環境でモデル化 設計のトレードオフ探索 サブシステム間の相互作用検証 自動コード生成 自動コード生成 事前に検証された C, HDL コードを自動生成 再現性の高い実装結果 プロトタイプテストを効率化 連続したテスト 検証 システムモデルを検証用テストベンチに再利用 協調シミュレーション / テストの自動化 より分かりやすい指標で可視化 40 20
ご清聴ありがとうございました 2011 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. 41 21